// 指南
如何为 AI 爬虫配置 robots.txt?
更新于: 2026-08-19
// 简短答案
为 AI 爬虫配置 robots.txt 意味着做出三个独立的决定,而不是一个:是否放行训练爬虫、搜索索引爬虫和用户发起的抓取器。每家供应商为每项职责运行不同的 user-agent。大多数网站应当允许搜索和用户抓取,对训练则要有意识地做出选择——并且要知道,有些抓取器会完全忽略 robots.txt。
一个决定,其实是三个
“我应该屏蔽 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 月。“令牌(token)”表示该名称仅作为 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;搜索和 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 爬虫——或者不屏蔽:三套现成配置
上表对应三种可行的策略。
配置 1——可见性优先。显式允许一切:为表中每个有文档的机器人写一个按代理的 Allow 分组(除 Bytespider 之外——给一个忽略该文件的机器人写 Allow 只是噪音),再加一个兜底分组。适合靠被发现和被引用生存的网站——内容业务、代理机构、大多数 B2B。我们自己用的就是它;见下文“我们自己怎么做”。
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Allow: /……以此类推,覆盖表中的每个代理。我们在 get-geo.ai/robots.txt 的生产文件就是完整版本。
配置 2——不参与训练。最常见的有意识选择:留在回答里,退出模型语料库。对训练爬虫和令牌写 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”指南中记录的整套配置的一部分。那是一个靠 AI 引用谋生的网站的政策。拥有付费墙存档的出版商合理的选择是配置 2 或配置 3——本指南的意义不在于我们的答案,而在于让你能选出自己答案的那张表。无论选哪套配置,都请在日历上安排季度审查:名单一直在变——OpenAI 于 2024 年新增 OAI-SearchBot,Anthropic 于 2025 年新增 Claude-SearchBot,Amazon 到 2026 年把抓取拆成三个代理——一份写于 2024 年的 robots.txt 对今天的爬虫来说已经是错的。
相关问题
我应该屏蔽 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 是搜索本身的一部分:它们由 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 流量状况:爬虫伪造基准数据
// 分享