// 指南
AI 爬虫的 robots.txt 应该怎么配置?

作者: Dmitry Filippov, Founder, GET-GEO.AI
发布于: 2026-08-19 · 更新于: 2026-09-22
// 简短答案
给 AI 爬虫配置 robots.txt,要做的不是一个决定,而是三个:放不放训练爬虫、放不放搜索索引爬虫、放不放用户请求触发的抓取。每家公司给每种用途用的 user-agent 都不一样。大多数网站应该放行搜索和用户抓取,训练要不要给则得自己想清楚;还要知道,有些爬虫根本不看 robots.txt。
- 给 AI 爬虫配置 robots.txt 要做三个决定,训练、搜索索引、用户抓取各一个;涉及 19 个 user-agent,均在 2026 年 8 月对照各家官方文档核验。
- 屏蔽 OAI-SearchBot 的代价有文档可查:退出的网站“不会显示在 ChatGPT 搜索回答中”;屏蔽 GPTBot 不损失可见度,因为 OpenAI 的三个爬虫把训练和其他用途分开了。
- 四个用户抓取爬虫(ChatGPT-User、Perplexity-User、Meta-ExternalFetcher、Amzn-User)按各家公司自己的说法可能不理会 robots.txt;Bytespider 则是实测中直接无视。
- 这是一笔用大量抓取换引用的交易:按 Cloudflare Radar 2025 年 6 月的数据,OpenAI 每带来一次引荐访问约抓取 1,700 次,Anthropic 约 70,900 次。
- 自称是已知 AI 爬虫的请求里,每 18 个就有 1 个是伪造的(HUMAN Security,2026),所以要拿来源 IP 和各家公布的列表比对,并在 CDN 或 WAF 层拦截。
一个决定,其实是三个
“要不要屏蔽 AI 爬虫?”这个问题没法直接回答,因为它不是一个问题。每家主要 AI 公司都按用途跑着不同的爬虫:训练爬虫抓的内容进模型语料库;搜索索引爬虫抓的内容进 AI 回答,对你的引用就从这里来;用户抓取爬虫则是有人刚向助手问起某个页面,它才去读一次。一条规则把它们全挡掉,你并没有对 AI 训练表明立场,只是把自己从 AI 回答里抹掉了。
两类屏蔽的代价差别很大。屏蔽训练爬虫是立场问题,大多数情况下不影响可见度:Google 和 Apple 的文档写得很明白;OpenAI 和 Anthropic 虽没有明说,但它们的搜索用的是另外的爬虫,屏蔽后果另有文档。屏蔽搜索爬虫或用户抓取爬虫,代价就是直接的,而且写在文档里。比如 OpenAI 说明,退出 OAI-SearchBot 的网站“不会显示在 ChatGPT 搜索回答中”。各家助手的具体机制,我们另有三篇指南分别讲被 ChatGPT 引用、被 Claude 引用和被 Perplexity 引用;这一页是总览。
两个数字能说明这笔交易的性质。Cloudflare 统计过 AI 公司每送回一次访问要抓多少页:按 Cloudflare Radar 2025 年 6 月的数据,OpenAI 每带来一次引荐访问约抓取 1,700 次,Anthropic 约 70,900 次。此后这两个比率一直在降(Cloudflare 的 AI Insights 面板有实时数据),但交易的形态很清楚:你用大量抓取换引用。下面这张表,就是你开条件的依据。
AI 爬虫完整清单,逐条对照官方文档核验
下表每一行都在 2026 年 8 月对照运营方自己的文档核验过。标“仅分组名”的,表示这个名字只在 robots.txt 里当分组名用,并没有一个用这个 user-agent 的独立爬虫。
| User-agent | 用途 | 是否遵守 robots.txt | 屏蔽的后果 |
|---|---|---|---|
| GPTBot(OpenAI) | 训练 | 是 | 之后的内容不再进入 OpenAI 模型训练;ChatGPT 搜索走的是 OAI-SearchBot |
| OAI-SearchBot(OpenAI) | 搜索索引 | 是 | “不会显示在 ChatGPT 搜索回答中” |
| ChatGPT-User(OpenAI) | 用户抓取 | “规则可能不适用”(官方说法) | 写了只是表态,对方不一定遵守(抓取由用户发起) |
| ClaudeBot(Anthropic) | 训练 | 是 | 之后的内容不再进入 Anthropic 的训练数据集 |
| Claude-SearchBot(Anthropic) | 搜索索引 | 是 | 不被索引,“可能降低你网站的可见度” |
| Claude-User(Anthropic) | 用户抓取 | 是 | Claude 用户请求时,页面抓不到 |
| PerplexityBot(Perplexity) | 搜索索引 | 是 | 退出 Perplexity 的搜索索引,不再被引用 |
| Perplexity-User(Perplexity) | 用户抓取 | “通常不理会 robots.txt”(官方说法) | 写了只是表态,对方不一定遵守 |
| Google-Extended(Google,仅分组名) | 训练与 grounding 控制 | 经由 Googlebot 生效 | 退出 Gemini 训练和 grounding;Google 搜索和 AI Overviews 不受影响 |
| Applebot(Apple) | 搜索索引(Siri、Spotlight、Safari) | 是;未单独列出时按 Googlebot 的规则执行 | 退出 Apple 的各个搜索入口 |
| Applebot-Extended(Apple,仅分组名) | 训练控制 | 经由 Applebot 生效 | 退出 Apple 基础模型训练;仍留在 Siri 和 Spotlight 里 |
| Meta-ExternalAgent(Meta) | 训练 + 索引 | 是 | 退出 Meta AI 训练,同时退出它的索引 |
| Meta-ExternalFetcher(Meta) | 用户抓取 | “可能绕过 robots.txt”(官方说法) | 写了只是表态,对方不一定遵守 |
| CCBot(Common Crawl) | 开放网络存档 | 是 | 退出许多 AI 实验室拿来训练的公开数据集,相当于一次性整体退出 |
| Amazonbot(Amazon) | 产品改进;可能用于训练 Amazon 的 AI 模型 | 是 | 退出 Amazon 的全部抓取,模型训练也在内 |
| Amzn-SearchBot(Amazon) | 搜索索引(Alexa 的搜索功能;不训练) | 是;未单独列出时按通用搜索爬虫的规则执行 | 退出 Alexa 的搜索功能 |
| Amzn-User(Amazon) | 用户抓取(Alexa 请求) | “可能不遵守全部 robots.txt 指令”(官方说法) | 写了只是表态,对方不一定遵守 |
| DuckAssistBot(DuckDuckGo) | 实时回答(不训练) | 是(72 小时内生效) | 退出 DuckAssist 回答 |
| Bytespider(ByteDance) | 训练(无文档) | 否;实测中无视该文件 | robots.txt 不起作用,要在服务器层屏蔽 |
三套现成的 AI 爬虫 robots.txt 配置
上表对应三种可行的做法。
配置 1:可见度优先。全部放行,而且明着写:给表中每个有文档的爬虫单独写一组 Allow(Bytespider 除外,给一个不看文件的爬虫写 Allow 没有意义),最后加一条兜底规则。靠被找到、被引用吃饭的网站适合这一套:内容站、服务商、大多数 B2B 公司。我们自己用的就是它,见下文“我们自己怎么做”。
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Allow: /……表中其余爬虫照此类推。get-geo.ai/robots.txt 上的线上文件就是完整版。
配置 2:不参与训练。这是最常见的一种主动选择:留在 AI 回答里,但不给模型当训练数据。训练爬虫和训练用的分组名写 Disallow,其余放行。粘贴前有两点提醒:Bytespider 那一行只是表态,它不会照做(下一节解释原因);屏蔽 Meta-ExternalAgent 是唯一会损失可见度的训练退出项,因为它同时负责 Meta 的索引:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Amazonbot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: *
Allow: /配置 3:全部封锁。付费墙内容或专有资料用这套是合理的。robots.txt 允许多行 User-agent 共用一组规则,所以整个文件很短。这里没有列入 Applebot:屏蔽它会把你从 Siri 和 Spotlight 搜索里一起拿掉,这个决定比 AI 回答的分量重,要另外考虑:
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: Meta-ExternalAgent
User-agent: Meta-ExternalFetcher
User-agent: CCBot
User-agent: Amazonbot
User-agent: Amzn-SearchBot
User-agent: Amzn-User
User-agent: DuckAssistBot
User-agent: Bytespider
Disallow: /上线前先读下一节:对上面好几个爬虫来说,这个文件是请求,不是门禁。
哪些 AI 爬虫不理会 robots.txt?
robots.txt 是一份公开的政策,不是执行机制。而且对整整一类爬虫,各家公司自己就是这么说的。OpenAI 讲 ChatGPT-User:“由于这些操作由用户发起,robots.txt 规则可能不适用。”Meta 讲 Meta-ExternalFetcher:它“可能绕过 robots.txt,因为它执行的是用户请求的抓取”。Perplexity 的用户抓取爬虫“通常不理会 robots.txt 规则”。Amazon 讲 Amzn-User:它“可能不遵守全部 robots.txt 指令”。逻辑都一样:是人在问,所以这一次算这个人自己来访问,不算爬虫来抓取。
然后是 Bytespider。它根本没有文档,实测也不看这个文件:Cloudflare 发现它访问的受保护网站比其他所有 AI 爬虫都多(2024 年年中为 40.4%),HAProxy 测得它占自家 AI 爬虫流量将近 90%,并指出它无视 robots.txt 指令。
所以真正的拦截要往下一层做。先拿各家公布的 IP 列表核实爬虫身份(OpenAI、Anthropic、Apple、Common Crawl 和 DuckDuckGo 维护 JSON 列表,Amazon 在开发者页面公布 IP 段),然后在 CDN 或 WAF 上拦下你真正想拦的。核实这一步比看起来重要:HUMAN Security 测得,带着已知 AI 爬虫 user-agent 的请求里,每 18 个就有 1 个是伪造的。
我们自己怎么做
我们自己的 robots.txt 就是可见度优先那套:19 组按爬虫分别写的 Allow(表里所有遵守规则的爬虫、我们本来就欢迎的用户抓取爬虫,再加上老牌的 Bingbot),最后一条兜底 Allow。2026 年 8 月我们改成了现在这个写法,同一次顺手删掉了过时的 anthropic-ai 分组;为写本指南核对事实时,又删掉了一个凭猜测加上的 cohere-ai 分组,因为 Cohere 自己的文档写明,它目前没有爬虫在跑。
有人会说:只写一行“User-agent: * / Allow: /”,爬虫的行为完全一样。没错。但分开写有三个好处,一行写法没有。第一,每家公司收到的是明确的放行信号,而不是“没有反对”。第二,以后改起来更安全,给某个爬虫加的 Disallow 不会悄悄波及没人想到的爬虫。第三,这个文件本身就是我们的复查清单:哪家公司推出了新爬虫(过去两年 OpenAI 和 Anthropic 都推出过),文件里和抓取日志里马上就能看出缺口。
整套做法见我们的本站 GEO 实践指南。有付费墙存档的媒体,更适合配置 2 或配置 3。不管选哪套,每季度都复查一次这个文件:OpenAI 在 2024 年加了 OAI-SearchBot,Anthropic 在 2025 年加了 Claude-SearchBot,Amazon 到 2026 年已经把抓取拆成三个爬虫。2024 年写的规则,今天可能已经漏掉了该管的爬虫。
相关问题
该不该屏蔽 AI 爬虫?
按用途拆开看。屏蔽训练爬虫(GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、CCBot、Amazonbot)不损失搜索可见度:Google 和 Apple 有明确文档,其他几家则是由爬虫分工决定的。例外是 Meta-ExternalAgent,它一个爬虫同时做训练和索引,屏蔽它两样都退出。屏蔽搜索索引和用户抓取的爬虫,你就从 AI 回答里消失了,而越来越多的人正是在那里问买什么。要不要给训练,看立场;要不要留在回答里,看你的引用和流量从哪来。
屏蔽 GPTBot,网站会从 ChatGPT 里消失吗?
不会。GPTBot 只给模型训练抓内容。ChatGPT 的搜索走 OAI-SearchBot,用户要求读某个页面走 ChatGPT-User;屏蔽 GPTBot,这两个照常工作。Anthropic 也是这样分工:ClaudeBot 管训练,Claude-SearchBot 和 Claude-User 管搜索和用户请求。
Google-Extended 会影响 AI Overviews 吗?
不会,这也是这类文章里最常见的错误。Google 的文档写明,Google-Extended 控制的是 Gemini 的训练和 grounding,“不影响网站在 Google 搜索中的收录”。AI Overviews 和 AI Mode 属于 Google 搜索本身,由 Googlebot 的访问权限和摘要控制项(nosnippet、data-nosnippet、max-snippet、noindex)来管。完整机制见我们关于 Google AI Overviews 的指南。
怎么确认一个爬虫是真的?
不要只看 user-agent 字符串:据 HUMAN Security 2026 年的测量,自称是已知 AI 爬虫的请求里,每 18 个就有 1 个是伪造的。拿来源 IP 和各家公布的列表比对:OpenAI、Anthropic、Apple、Common Crawl 和 DuckDuckGo 发布 JSON 格式的 IP 列表,Amazon 在开发者页面公布 IP 段,Google 和 Apple 支持反向 DNS 验证。过不了核验的流量,不管它自称是谁,一律按未授权抓取处理。
有了 robots.txt,还需要 llms.txt 吗?
两者管的事不一样。robots.txt 管访问:谁可以抓什么。llms.txt 是导航工具:一份机器可读的地图,帮模型进站之后找到并读懂你的关键页面。先解决访问:整站都 Disallow 的话,llms.txt 对谁都没用。llms.txt 在本系列有专门一篇指南。
相关指南
来源
- 01我们的指南:如何出现在 Google AI Overviews 中?
- 02我们的指南:如何在自己的网站上实践 GEO?
- 03OpenAI 爬虫文档:GPTBot、OAI-SearchBot、ChatGPT-User
- 04Anthropic 爬虫文档:ClaudeBot、Claude-SearchBot、Claude-User
- 05Perplexity 爬虫文档:PerplexityBot、Perplexity-User
- 06Google 文档:常见爬虫与 Google-Extended
- 07Google 文档:搜索中的 AI 功能与站长控制项
- 08Apple 文档:Applebot 与 Applebot-Extended
- 09Meta 爬虫文档:Meta-ExternalAgent、Meta-ExternalFetcher
- 10Common Crawl:CCBot 文档
- 11Amazon:Amazonbot 文档
- 12DuckDuckGo:DuckAssistBot 文档
- 13Cloudflare:AI 平台每次引荐对应的抓取量(2025 年 7 月)及实时 AI Insights
- 14Cloudflare:Bytespider 的 AI 爬虫流量和被屏蔽量都排第一(2024 年 7 月)
- 15HAProxy:我们约 90% 的 AI 爬虫流量来自 Bytespider(2024 年 10 月)
- 16HUMAN Security:2026 年 AI 流量报告,爬虫伪造基准数据
// 分享
如何引用本页
欢迎引用和转载——请注明来源并附上本页链接。
“AI 爬虫的 robots.txt 应该怎么配置?” — GET-GEO.AI, 2026-09-22. https://get-geo.ai/zh/guides/robots-txt-for-ai-crawlers