Blume中文文档

可发现性

Sitemap 与 robots

构建时输出 sitemap.xml 与 robots.txt,并用 Content-Signal 声明内容供 AI 使用的范围

搜索爬虫和 AI 爬虫都从站点根目录的同两个文件入手。Blume 每次构建都会写出这两个文件,而 robots.txt 承载着 AI 爬虫会去找的内容使用信号 —— 因此这里是可发现性的搜索侧与智能体侧的交汇点。

Sitemap#

Blume 在构建时写出一份包含每个可索引页面的 sitemap.xml。它需要一个绝对的 deployment.site,并列出除草稿、隐藏和 noindex 页面之外的所有页面。在带版本的站点上,canonical 指向线上对应页面的归档页面也会被排除 —— 该被索引的是线上页面。默认开启:

seo: {
  sitemap: true,
}

放入自己的 public/sitemap.xml 即可接管 —— Blume 绝不会覆盖你放在 public/ 里的文件。

Robots#

Blume 写出的 robots.txt 允许所有爬虫访问,声明你的内容信号,并在有 sitemap 时加上一行指向它的 Sitemap:。默认开启:

seo: {
  robots: true,
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /

Sitemap: https://docs.example.com/sitemap.xml

内容信号#

Content-Signal 这一行 —— 正在成形的内容使用约定 —— 声明 AI 爬虫可以如何复用你的文档。Blume 默认输出它,且每个信号都设为 yes,这与它「文档对人和智能体一律开放」的立场一致:

  • search —— 传统搜索与 AI 搜索索引
  • aiInput —— 回答时的 grounding / RAG
  • aiTrain —— 模型训练

把任一信号设为 false 即可限制它;不写的那些仍为 yes:

agents: {
  contentSignals: {
    aiTrain: false, // 退出训练,保留搜索与 grounding
  },
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /

设置 contentSignals: false 即可完全去掉这行声明:

agents: {
  contentSignals: false,
}
属性 类型 默认值 说明
agents.contentSignals? boolean | object - Content-Signal 声明。为 true 或不写时所有信号都输出为 yes;为 false 时删掉这一行;为对象时逐个设置信号。
contentSignals.search? boolean - 允许用于搜索索引(search)。默认 true。
contentSignals.aiInput? boolean - 允许在回答时用于 AI grounding / RAG(ai-input)。默认 true。
contentSignals.aiTrain? boolean - 允许用于 AI 模型训练(ai-train)。默认 true。

内容信号表达的是一种偏好,而不是访问控制:它告诉守规矩的爬虫你希望内容被如何使用,而是否遵守由爬虫自己负责。同一份策略会以 contentUsage 的形式镜像在智能体可读性清单里,因此从不读 robots.txt 的智能体也能看到它。

放入自己的 public/robots.txt 即可接管。