面向 AI 爬虫的 robots.txt:哪些该放行,哪些要想清楚
ChatGPT、Claude、Perplexity 和 Gemini 背后的 user agent,各自做什么,一份可以直接复制的 robots.txt,以及会覆盖它的防火墙设置。
每家 AI 公司都运行不止一个爬虫,它们分工不同。有的抓取页面,好让 AI 助手在实时回答中引用;有的为未来的模型收集训练数据。屏蔽前一类,你会从今天的回答中消失;屏蔽后一类,只影响未来的模型学到什么。把它们当成一类来处理,是我们见过最常见的 robots.txt 错误。
需要关注的爬虫
| 公司 | User agent | 作用 |
|---|---|---|
| OpenAI | OAI-SearchBot | 为 ChatGPT 搜索结果索引页面 |
| OpenAI | ChatGPT-User | 在用户对话需要时抓取页面 |
| OpenAI | GPTBot | 收集训练数据 |
| Anthropic | Claude-SearchBot | 为 Claude 的搜索索引页面 |
| Anthropic | Claude-User | 在用户向 Claude 询问某个页面时抓取该页面 |
| Anthropic | ClaudeBot | 收集训练数据 |
| Perplexity | PerplexityBot | 为 Perplexity 的回答索引页面 |
| Perplexity | Perplexity-User | 响应用户提问时抓取页面 |
Googlebot | 为 Google 搜索(包括 AI Overviews)抓取页面 | |
Google-Extended | 控制你的内容是否用于 Gemini 模型;不影响搜索 | |
| Microsoft | Bingbot | 为 Bing 抓取页面,Copilot 和其他 AI 助手会搜索 Bing |
厂商会新增或重命名爬虫,所以每年查看一两次它们的爬虫文档。
一份可以直接用的 robots.txt
它允许搜索引擎和所有 AI 爬虫访问,把它们挡在私有路径之外,并告诉它们 sitemap 的位置:
User-agent: *
Allow: /
Disallow: /account/
Disallow: /api/
Sitemap: https://yourdomain.com/sitemap.xmlUser-agent: * 规则组已经覆盖了所有没有单独规则组的爬虫。问题往往出在网站里残留的旧规则,比如 User-agent: GPTBot 后面跟着 Disallow: /,这通常是 2023 年屏蔽 AI 训练成为流行默认做法时加上的。这条规则至今仍然有效。
如果你决定退出训练、但继续出现在实时回答中,只屏蔽训练用的爬虫:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
Disallow: /保持 OAI-SearchBot、Claude-SearchBot、PerplexityBot、各个 -User 抓取器、Googlebot 和 Bingbot 处于允许状态。
训练爬虫:一个真实的取舍
屏蔽训练爬虫,你的内容就不会进入未来的模型版本。代价是这些模型在不搜索就作答时,对你的品牌了解更少。对于靠原创内容盈利的出版方,屏蔽可能是对的选择。对于希望被推荐的软件公司,放行通常对你更有利。
防火墙可能会覆盖 robots.txt
robots.txt 只是一个请求。CDN 或防火墙可以在爬虫读取这个文件之前就把它拒之门外。Cloudflare 提供了一键屏蔽 AI 爬虫的设置,并已把它设为部分新域名的默认选项。Vercel、Akamai 等托管平台的机器人防护也可能产生同样的效果。
从外部检查的方法是用爬虫的 user agent 请求一个页面:
curl -s -o /dev/null -w "%{http_code}\n" \
-A "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" \
https://yourdomain.com/返回 403、429 或验证页,意味着真正的爬虫很可能也被拒绝了。免费 AI 就绪度体检会对四个 AI 爬虫运行这项测试,并读取你的 robots.txt 中针对十一个爬虫的规则。
FAQ
每个 AI 爬虫都需要单独写一条规则吗?
不需要。如果你的 User-agent: * 规则组允许抓取,所有没有单独规则组的爬虫都会被允许。只有当你想对某个特定爬虫设置不同规则时,才需要单独的规则组。
屏蔽 Google-Extended 会让我从 AI Overviews 中消失吗?
不会。Google 明确表示 Google-Extended 不影响 Google 搜索,而 AI Overviews 属于搜索的一部分。两者都由 Googlebot 决定。
llms.txt 呢?
llms.txt 是一个提议中的文件,用来为语言模型概述你的网站。添加它的成本很低,但主流 AI 助手尚未承诺读取它,所以把它当作可选项,先把 robots.txt 和防火墙配置好。