SEO 插件
@docmd/plugin-seo 插件为您全站的每个页面生成语义化 HTML 元数据与社交媒体预览标签。它确保您的文档可被搜索引擎检索、在社交平台上得到正确呈现,并符合 AI 爬虫策略。
配置选项
在 docmd.config.json 中配置全站 SEO 默认值。页面级 Frontmatter 设置会覆盖全局默认值。
| 选项 | 类型 | 默认值 | 技术描述 |
|---|---|---|---|
defaultDescription |
string |
null |
缺乏显式 Frontmatter 描述的页面的后备描述。 |
aiBots |
boolean |
true |
允许 (true) 或阻止 (false) AI 训练抓取爬虫 (GPTBot, ChatGPT-User, Google-Extended, CCBot)。 |
openGraph |
object |
null |
Open Graph 社交媒体元数据 (Facebook, LinkedIn)。 |
twitter |
object |
null |
Twitter (X) Card 设置,包括用户名和卡片类型。 |
全局 SEO 配置示例
docmd.config.json
{
"plugins": {
"seo": {
"defaultDescription": "docmd 平台的完整技术文档。",
"aiBots": false,
"twitter": {
"siteUsername": "@docmd_io",
"cardType": "summary_large_image"
}
}
}
}
核心能力
- 自动化
robots.txt: 在输出根目录生成标准robots.txt,包含 Sitemap 位置与 AI 机器人规则。 - 智能摘要提取: 若未定义页面描述,则自动提取正文的前 150 个字符。
- AI 机器人治理: 设置
aiBots: false可阻止 AI 训练抓取程序,同时仍允许搜索引擎爬虫索引。 - 规范 URL 发射: 注入
<link rel="canonical">元素以防止重复索引问题。 - 社交预览卡片: 生成 Open Graph 与 Twitter Card 标签。
- 结构化数据 (JSON-LD): 注入文章 Schema JSON-LD 块,用于丰富搜索引擎摘要。
robots.txt 解析顺序
SEO 插件按自顶向下的优先级顺序评估 robots.txt:
- 站点根目录 (
site/robots.txt) - 首先检查;若存在,则保留现有内容。 - 源码资源文件夹 (
assets/robots.txt) - 若存在于源码资源目录中,会自动复制到站点输出根目录 (site/robots.txt)。 - 自动生成默认值 - 若未找到自定义文件,
docmd会根据插件配置动态生成robots.txt。
推荐的文件组织结构:
my-docs/
├── assets/
│ └── robots.txt ← 在此编写自定义规则
├── index.md
└── docmd.config.json
页面级 SEO 覆盖
使用 页面 Frontmatter 为特定文档覆盖全站 SEO 默认设置:
---
title: "高级引擎架构"
noindex: true # 从搜索引擎索引中隐藏页面
seo:
keywords: ["docmd", "architecture", "engine"]
aiBots: true # 允许 AI 抓取程序索引此页面
ldJson: true # 注入文章 Schema
---
基础 URL 配置
在 docmd.config.json 中定义 url 属性(例如 https://docs.docmd.io),以启用有效的绝对规范链接与社交预览图片 URL。