如何屏蔽 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 回答中消失,而不是从训练数据中消失。
本页内容
训练爬虫和搜索爬虫有什么区别?
训练爬虫收集可能用于构建或改进 AI 模型的页面。仅仅训练本身不会产生引用或链接。搜索爬虫则建立索引,AI 助手用它来为回答查找来源,而这些来源正是它可以引用的对象。由用户触发的抓取器会实时打开某个页面,因为有人询问了它。
各厂商分别记录了这些角色,并表示这些设置相互独立。例如,OpenAI 表示其爬虫的每项 robots.txt 设置都独立于其他设置。因此,只要做得正确,退出训练不会影响你的搜索可见性。
哪些 token 控制训练,哪些控制搜索?
以下是各厂商公布的 token,按其控制的内容分组:
- OpenAI:
GPTBot抓取可能用于训练其基础模型的内容。OAI-SearchBot用于 ChatGPT 搜索,ChatGPT-User处理用户操作;OpenAI 表示 robots.txt 可能不适用于它。 - Anthropic:
ClaudeBot收集可能用于训练的内容。Claude-SearchBot改进 Claude 的搜索结果,Claude-User为用户获取页面。Anthropic 表示其机器人遵守 robots.txt。 - Google:
Google-Extended是一个没有自己爬虫的 robots.txt token。它控制内容是否用于训练未来的 Gemini 模型,以及用于 Gemini Apps 和 Vertex AI 的 grounding。Google 表示它不影响在 Google Search 中的收录或排名,后者由Googlebot控制。 - Apple:
Applebot-Extended不抓取内容;它控制Applebot已抓取的内容是否用于训练 Apple 的基础模型。Apple 表示,禁止它的页面仍可能出现在其搜索结果中。 - Meta:
meta-externalagent的抓取用途包括训练基础模型,而meta-webindexer用于改进 Meta AI 的搜索结果。 - Common Crawl:
CCBot构建 Common Crawl 的公共网络档案。Cloudflare 的托管 robots.txt 将它列入其所禁止的 AI 训练爬虫之中。 - Perplexity:
PerplexityBot和Perplexity-User服务于搜索和用户请求。Perplexity 表示两者都不用于收集训练数据,所以没有可屏蔽的 Perplexity 训练 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,所以应把它视为对各爬虫规则组的补充,而不是替代。
这种划分在哪些地方并不完全成立?
有几种情况需要小心:
- Google AI Overviews 和 AI Mode 依赖
Googlebot建立的 Search 索引,所以Google-Extended不会让你退出它们。Google 的 Search Console 帮助补充说,Google-Extended限制的是 Search 生成式 AI 功能背后模型的训练,而其爬虫文档并未提到这一范围。Google 现在在 Search Console 中提供了一项单独的设置,用于将网站排除在 AI Overviews 和 AI Mode 之外。 - OpenAI 表示,如果网站同时允许
GPTBot和OAI-SearchBot,它可能把一次抓取的结果用于两种目的。禁止GPTBot才是表明内容不应用于训练的信号。 - 退出只对未来生效。例如,Anthropic 将禁止
ClaudeBot描述为将你网站未来的内容排除在训练数据集之外。 - 由用户触发的抓取器处于中间地带。OpenAI 和 Perplexity 表示,robots.txt 可能不适用于
ChatGPT-User,通常也不适用于Perplexity-User。 - 防火墙不会读取 robots.txt。宽泛的机器人拦截规则可能会挡住你已允许的搜索爬虫。如果你在防火墙层面执行训练屏蔽,请按名称匹配训练代理,并通过其公布的 IP 范围加以验证。
如何检查这种划分是否生效?
像每个爬虫那样读取你的 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 搜索结果中的可见性,却起不到退出训练的作用。
参考资料
- OpenAI:OpenAI 爬虫概览
- Anthropic:Anthropic 是否会抓取网络数据?网站所有者如何屏蔽该爬虫?
- Google:常见爬虫,包括 Google-Extended
- Google Search Console 帮助:Search 生成式 AI 控制
- Apple:关于 Applebot
- Meta:Meta 网络爬虫
- Common Crawl:CCBot
- Perplexity:Perplexity 爬虫
- RFC 9309:Robots Exclusion Protocol
- Content Signals(contentsignals.org)
- Cloudflare:托管 robots.txt 与 Content Signals
- AISeeWhy:AI 爬虫访问报告,2026-11