如何屏蔽 AI 训练,同时保留在 AI 搜索回答中的出现

发布于

简短回答

多数 AI 厂商为模型训练和搜索分别使用不同的 robots.txt token。禁止训练 token,例如 GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、meta-externalagent 和 CCBot,同时允许搜索和用户 token,例如 OAI-SearchBot、Claude-SearchBot 和 PerplexityBot。再添加一行 Content-Signal,用文字表达同样的意愿。

许多网站所有者同时想要两件事:不希望自己的内容被用来训练 AI 模型,却希望 AI 助手能找到、引用并链接自己的页面。由于主要厂商现在把这两项工作分给了不同的爬虫或 token,robots.txt 可以同时表达这两种选择。麻烦在于,各厂商的名称不同,少数厂商不符合这一模式,而且一行写错,就可能让你从 AI 回答中消失,而不是从训练数据中消失。

本页内容
  1. 训练爬虫和搜索爬虫有什么区别?
  2. 哪些 token 控制训练,哪些控制搜索?
  3. robots.txt 是什么样子?
  4. 已经有多少网站这样做?
  5. Content-Signal 增加了什么?
  6. 这种划分在哪些地方并不完全成立?
  7. 如何检查这种划分是否生效?

训练爬虫和搜索爬虫有什么区别?

训练爬虫收集可能用于构建或改进 AI 模型的页面。仅仅训练本身不会产生引用或链接。搜索爬虫则建立索引,AI 助手用它来为回答查找来源,而这些来源正是它可以引用的对象。由用户触发的抓取器会实时打开某个页面,因为有人询问了它。

各厂商分别记录了这些角色,并表示这些设置相互独立。例如,OpenAI 表示其爬虫的每项 robots.txt 设置都独立于其他设置。因此,只要做得正确,退出训练不会影响你的搜索可见性。

哪些 token 控制训练,哪些控制搜索?

以下是各厂商公布的 token,按其控制的内容分组:

robots.txt 是什么样子?

根据 RFC 9309,连续的多行 User-agent 构成一个规则组,所以规则适用于其中的每一个。下面这个文件对上述训练 token 选择退出,允许搜索和用户代理,并对所有人保持一个私有路径关闭:

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /

User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: meta-webindexer
Allow: /
Disallow: /account/

User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Disallow: /account/

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

有两点需要注意。第一,指明名称的规则组不会继承 *,所以任何私有路径都必须在搜索规则组中重复写出。第二,不要把 Googlebot 或 Applebot 加入训练规则组:它们是搜索爬虫,屏蔽它们会让你从 Google Search 和 Apple 的搜索功能中消失。更改不会立即生效:OpenAI 表示搜索约需 24 小时,Perplexity 表示最多 24 小时。

已经有多少网站这样做?

比你想象的少。我们在 2026-11-12 读取了 Tranco 列表中最受欢迎的 1,000 个域名的 robots.txt。在提供 robots.txt 的 518 个网站中,有 155 个(29.9%)至少对一个 AI 训练爬虫禁止了首页。只有 57 个(11.0%)采用选择性的做法:屏蔽训练爬虫,并允许我们测试的每一个 AI 搜索和用户爬虫。总计有 101 个网站(19.5%)屏蔽了至少一个 AI 搜索或用户爬虫。

逐个爬虫的数字显示出同样的分化。GPTBot 在 111 个网站(21.4%)被屏蔽,OAI-SearchBot 在 58 个(11.2%)。ClaudeBot 在 110 个(21.2%),Claude-SearchBot 在 67 个(12.9%)。Google-Extended 在 94 个(18.1%),Googlebot 在 14 个(2.7%)。只有 18 个网站(3.5%)使用了 Content-Signal。

该研究只查看针对首页的 robots.txt 规则。它没有衡量防火墙层面的屏蔽,也无法显示每个网站的意图。

Content-Signal 增加了什么?

Content Signals 是 Cloudflare 在 contentsignals.org 发布的 robots.txt 扩展。一行 Content-Signal 说明内容可以如何使用,包含三种信号:search(建立搜索索引并显示链接和简短摘要)、ai-input(将内容实时输入 AI 模型,例如用于生成式回答的 grounding 或检索)和 ai-train(训练或微调模型)。

请注意,search 的定义不包括 AI 生成的搜索摘要。如果你希望出现在 AI 回答中,也要像上面的例子那样设置 ai-input=yes。Cloudflare 的托管 robots.txt 默认添加 search=yes, ai-train=no;你省略的信号既不授予也不限制相应的用途。

这些只是声明的意愿。Content Signals 网站表示它们无法在技术层面阻止爬取,Cloudflare 也指出遵守 robots.txt 是自愿的。我们查看的 OpenAI、Anthropic、Google 和 Perplexity 爬虫页面都没有说明它们是否读取 Content-Signal,所以应把它视为对各爬虫规则组的补充,而不是替代。

这种划分在哪些地方并不完全成立?

有几种情况需要小心:

如何检查这种划分是否生效?

像每个爬虫那样读取你的 robots.txt:找到指明它的规则组,只有在没有任何规则组指明它时才回退到 *,并应用最长的匹配规则。然后用每个搜索爬虫的 user agent 请求一个页面,确认它得到的是包含完整内容的 200,而不是 403 或验证页面。

AISeeWhy 对 14 个爬虫同时做这两项检查,并按训练、搜索和用户代理分组,还会标出最常见的错误:本想屏蔽训练,却屏蔽了 PerplexityBot 或 Claude-SearchBot 之类的搜索 token。

常见问题

屏蔽 GPTBot 会让我的网站从 ChatGPT 回答中消失吗?

不会。OpenAI 表示 GPTBot 用于训练,并且每项 robots.txt 设置相互独立。ChatGPT 搜索使用 OAI-SearchBot;只要它被允许且没有被你的防火墙屏蔽,你的页面就仍然有资格出现。

屏蔽 Google-Extended 会让我退出 AI Overviews 吗?

根据 Google 的文档,不会。Google 表示 Google-Extended 不影响在 Google Search 中的收录,而 AI Overviews 依赖 Search 索引。Google 在 Search Console 中提供了单独的控制,可将网站排除在 AI Overviews 和 AI Mode 之外。

有没有一行代码可以屏蔽所有 AI 训练?

没有标准的一行写法。Content-Signal: ai-train=no 对所有爬虫表明了意愿,但爬虫是否遵守取决于运营方。为每个训练 token 单独设置规则组,是文档中记载的做法。

我应该屏蔽 Perplexity 来阻止 AI 训练吗?

Perplexity 表示其代理不用于收集训练数据。屏蔽 PerplexityBot 会降低你在 Perplexity 搜索结果中的可见性,却起不到退出训练的作用。

参考资料

更多文章