← 返回博客

面向 AI 爬虫的 robots.txt:哪些该放行,哪些要想清楚

ChatGPT、Claude、Perplexity 和 Gemini 背后的 user agent,各自做什么,一份可以直接复制的 robots.txt,以及会覆盖它的防火墙设置。

每家 AI 公司都运行不止一个爬虫,它们分工不同。有的抓取页面,好让 AI 助手在实时回答中引用;有的为未来的模型收集训练数据。屏蔽前一类,你会从今天的回答中消失;屏蔽后一类,只影响未来的模型学到什么。把它们当成一类来处理,是我们见过最常见的 robots.txt 错误。

需要关注的爬虫

公司User agent作用
OpenAIOAI-SearchBot为 ChatGPT 搜索结果索引页面
OpenAIChatGPT-User在用户对话需要时抓取页面
OpenAIGPTBot收集训练数据
AnthropicClaude-SearchBot为 Claude 的搜索索引页面
AnthropicClaude-User在用户向 Claude 询问某个页面时抓取该页面
AnthropicClaudeBot收集训练数据
PerplexityPerplexityBot为 Perplexity 的回答索引页面
PerplexityPerplexity-User响应用户提问时抓取页面
GoogleGooglebot为 Google 搜索(包括 AI Overviews)抓取页面
GoogleGoogle-Extended控制你的内容是否用于 Gemini 模型;不影响搜索
MicrosoftBingbot为 Bing 抓取页面,Copilot 和其他 AI 助手会搜索 Bing

厂商会新增或重命名爬虫,所以每年查看一两次它们的爬虫文档。

一份可以直接用的 robots.txt

它允许搜索引擎和所有 AI 爬虫访问,把它们挡在私有路径之外,并告诉它们 sitemap 的位置:

User-agent: *
Allow: /
Disallow: /account/
Disallow: /api/

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

User-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 和防火墙配置好。

GEO 笔记,每两周一期

我们追踪数千条 AI 回答后的发现。只讲干货。