AI 爬虫检测:GPTBot、ClaudeBot 能不能抓你的网站

作者 Linus Li · 更新于 · 免费,在浏览器本地运行

给这个工具打分已有 1 人评分

输入域名或粘贴 robots.txt,工具按 RFC 9309 判断 30 多个 AI 与搜索爬虫能否抓取你指定的路径,指出常见的配置错误并给出修复规则。

要点

  • 工具按 RFC 9309 判断 30 多个 AI 与搜索爬虫能否抓取你指定的路径,指出常见的配置错误并给出修复规则。
  • AI 爬虫按用途分为 AI 搜索索引、用户触发的抓取和模型训练,禁止不同的爬虫影响不同的结果。
  • 每个爬虫标有来源可信度,每条诊断标有证据等级,工具不给网站打综合分。
  • robots.txt 只在你的浏览器里分析;只有输入域名时,本站服务器才代为请求一次 robots.txt。

适用场景与使用步骤

这个工具适合三种情况:上线前确认 robots.txt 没有误伤 AI 搜索;想让 ChatGPT、Perplexity 引用自己的内容,但不想提供训练数据;以及接手一个网站,需要快速看懂它对各家 AI 爬虫的态度。

  1. 在顶部输入域名,点「获取 robots.txt」。也可以直接粘贴文件内容,或者点「加载示例」看一份带有典型错误的配置。
  2. 在「要测试的路径」里填写想检查的页面路径,例如 /blog/ 或 /products/abc。
  3. 右侧先看「诊断」。每条诊断可以展开,里面写了原因、证据等级和可以直接复制的修复代码。
  4. 再看爬虫表。每一行显示允许或禁止、命中的规则行号、使用的分组,以及这个爬虫的来源可信度。点「只看禁止」可以只显示被挡住的爬虫。
  5. 想直接改配置,就在左下角选一个意图预设,点「合并到上面的 robots.txt 并检查」。工具会保留你原有的其他规则和 Sitemap,只替换 AI 爬虫相关的分组,然后重新检查。被替换的原有行会改成注释留在原位,方便你核对有没有需要保留的路径规则或 Crawl-delay。

robots.txt 的内容只在你的浏览器里分析,不会上传。只有输入域名时,本站服务器会代为请求一次 https://域名/robots.txt,原因见下方常见问题。

AI 爬虫按用途分成三类

同一家 AI 公司通常运行多个爬虫,每个爬虫做不同的事。禁止哪一个,影响的是不同的结果:

用途 代表爬虫 禁止后的影响
AI 搜索索引 OAI-SearchBot、Claude-SearchBot、PerplexityBot、Kimi-SearchBot 页面不会出现在对应产品的搜索回答和引用里
用户触发的抓取 ChatGPT-User、Claude-User、Perplexity-User、Kimi-User 用户贴出你的链接时,AI 读不到页面;部分厂商说明这类访问可能不遵守 robots.txt
模型训练 GPTBot、ClaudeBot、CCBot、KimiBot、Meta-ExternalAgent 内容不进入以后的训练数据,不影响搜索引用

另外有两个控制令牌:Google-Extended 和 Applebot-Extended。它们不是独立的爬虫,抓取仍由 Googlebot 和 Applebot 完成,令牌只决定内容能否用于训练。Google 的爬虫文档说明,Google-Extended 不影响网站在 Google 搜索中的收录和排名。

Google 的 AI Overviews 和 AI 模式属于 Google 搜索,使用 Googlebot 抓取的索引。Bing 的 Copilot 也使用 Bing 的索引。所以禁止 Googlebot 或 Bingbot,会同时失去传统搜索和这些 AI 功能里的展示。

来源可信度和证据等级

AI 爬虫的名称变化很快,网上的名单经常互相抄写,其中有些名称从来没有被运营方确认过。工具给每个爬虫标了来源可信度,点击标签可以打开出处:

  • 官方文档:运营方在自己的网站上公布了这个名称和用途,例如 OpenAI、Anthropic、Google、Kimi 的爬虫说明页。
  • 第三方报告:运营方没有公开可查的文档,或者第三方测量结果与官方说法不一致。例如 Bytespider,字节跳动称它遵守 robots.txt,但 TollBit 对 2026 年上半年的测量显示,在明确禁止它的欧洲网站中,约一半仍被它抓取了禁止的网址。
  • 未证实:名称只出现在第三方名单里,没有找到运营方公开的文档,例如 DeepSeekBot、Doubaobot、ERNIEBot。这些名称可能不存在,也可能不是运营方实际使用的名称。写进 robots.txt 不影响其他爬虫,但不能指望它们起作用。

每条诊断还标注了证据等级,和本站其他内容使用同一套标准:A 官方确认(官方文档或公开表态)、B 文件佐证、C 专利可能、D 行业推测。工具不给网站打综合分,因为「该不该放行某个爬虫」取决于你的目标,没有统一的标准答案。

工具会检查的常见错误

只禁止 GPTBot,以为退出了 ChatGPT 搜索

GPTBot 只负责训练。ChatGPT 搜索结果由 OAI-SearchBot 决定,用户在对话里贴链接时由 ChatGPT-User 抓取。如果你的目标是「被引用但不给训练」,只禁止 GPTBot 是对的;如果想完全退出 ChatGPT 搜索,还要加上:

1
2
User-agent: OAI-SearchBot
Disallow: /

反过来,禁止了 OAI-SearchBot 却放行 GPTBot,结果是不出现在搜索里、内容却可能被拿去训练,工具会把这种情况标为「注意」。

给某个爬虫单独写了分组,它就不再读 * 分组

按 RFC 9309,爬虫只读和自己名称匹配的那个分组,找不到才读 User-agent: *。例如:

1
2
3
4
5
User-agent: *
Disallow: /cart

User-agent: PerplexityBot
Disallow: /blog/drafts/

这样写之后,PerplexityBot 可以抓取 /cart。要让它同时遵守两条规则,需要把 Disallow: /cart 也写进 PerplexityBot 的分组。工具会列出每个单独分组缺少的规则,并生成补全后的分组。

User-agent: * 全站禁止,连带挡掉 AI 搜索

测试环境或旧站常见 User-agent: * / Disallow: /。这条规则会挡住所有没有单独分组的爬虫,包括 Googlebot、Bingbot 和全部 AI 搜索爬虫。如果只是想挡掉不认识的爬虫,需要给想放行的爬虫各写一个 Allow: / 分组。

以为禁止 Google-Extended 就能退出 AI Overviews

Google-Extended 只控制 Gemini 模型训练,以及 Gemini 应用和 Vertex AI 的 grounding。AI Overviews 和 AI 模式的内容来自 Google 搜索索引,要限制它们只能用页面级的 nosnippet、max-snippet、data-nosnippet 或 noindex,代价是同时影响普通搜索结果的摘要。Google 在 AI 功能说明里写明了这一点。

Content-Signal 和 Content-Usage

robots.txt 原本只能说「能不能抓」。2025 年起出现了两种声明「内容可以怎么用」的写法,工具都会解析并单独列出:

  • Content-Signal:由 Cloudflare 提出,写在 User-agent 分组里,例如 Content-Signal: search=yes, ai-input=yes, ai-train=no。三个键分别表示搜索索引、作为 AI 回答的输入、模型训练,取值只能是 yes 或 no。开启 Cloudflare 托管 robots.txt 的网站,会被自动插入一段以 # BEGIN Cloudflare Managed content 开头的内容,工具能识别出来。
  • Content-Usage:来自 IETF AIPREF 工作组的草案,例如 Content-Usage: train-ai=n,前面可以加路径。草案的键名和取值还在变化。

这两种写法都是声明,不是访问控制。Google 公开表示 Content-Signal 对它的爬虫和模型没有作用;OpenAI、Anthropic、Perplexity 的爬虫文档也没有提到它们。真正决定能不能抓的仍然是 Allow 和 Disallow 规则。

匹配规则

工具按 RFC 9309 和 Google 的实现判断:

  1. 爬虫先找 User-agent 与自己名称一致的分组(不区分大小写);找不到时使用 User-agent: * 分组。多个分组都匹配时,规则合并。
  2. 在分组内,路径匹配最长的规则生效;Allow 和 Disallow 一样长时,Allow 优先。
  3. * 匹配任意字符,$ 表示路径结尾。Disallow: 后面为空表示不禁止任何路径。
  4. /robots.txt 本身总是允许抓取。
给老手:容易踩的几个细节
  • 连续的多行 User-agent 属于同一个分组,共用下面的规则。Google 的开源解析器只在出现 Allow 或 Disallow 之后才开始新的分组,中间的 Crawl-delay、Sitemap、Content-Signal 等指令不会把两组 User-agent 分开。所以 User-agent: Bingbot 下面只写一行 Crawl-delay、紧接着写下一组 User-agent,两组会合并。工具按这种方式判断,并会提示。
  • Crawl-delay 不被 Google 支持,Bing、Yandex 和 Anthropic 支持。
  • robots.txt 返回 4xx 时视为没有限制;返回 5xx 时,RFC 9309 要求爬虫视为全部禁止。工具获取域名时会区分这两种情况。
  • Amazon 说明 Amzn-SearchBot 在没有单独规则时,会沿用你给其他搜索爬虫的规则。这和 RFC 9309 的回退方式不同,工具按 RFC 显示,并在该行备注。
  • Cloudflare 托管的 robots.txt 会放在源站文件前面一起返回。如果两部分都有同名分组,按 RFC 9309 会合并;同长度的 Allow: / 和 Disallow: / 同时出现时,Google 的实现以 Allow 为准。
  • robots.txt 只控制抓取,不控制索引。已被禁止抓取的网址如果有外链,仍可能以无摘要的形式出现在搜索结果里。

常见问题

为什么工具判断允许,但 AI 还是抓不到我的网站?

robots.txt 只是声明。Cloudflare 等 CDN 的「屏蔽 AI 爬虫」开关、WAF 规则、服务器按 User-Agent 拦截,都会在 robots.txt 之外直接拒绝请求。另外,大多数 AI 爬虫不执行 JavaScript,只靠客户端渲染的内容对它们来说是空白页。

禁止了 ChatGPT-User 或 Perplexity-User,为什么还能看到它们的访问?

OpenAI、Perplexity、Kimi、Amazon、Meta 都在文档中说明,由用户提问触发的抓取可能不遵守 robots.txt,因为这类访问被视为代替用户打开网页。确实需要拦截时,要在 CDN 或服务器上按 User-Agent 和官方公布的 IP 段处理。

想被 AI 搜索引用、又不想被拿去训练,应该怎么写?

放行 AI 搜索和用户触发的爬虫,禁止训练爬虫和 Google-Extended、Applebot-Extended 两个控制令牌。在工具左下角选择「被 AI 搜索引用,不给训练」就能生成这份规则,也可以直接合并到现有文件里。

中国的 AI 爬虫应该怎么处理?

在本工具核对过的中国 AI 产品里,目前只找到 Kimi 公开的爬虫说明,分为 Kimi-SearchBot(搜索)、Kimi-User(用户触发)和 KimiBot(训练)。字节跳动的 Bytespider 有遵守 robots.txt 的声明,但第三方测量多次发现它抓取被禁止的网址。DeepSeek、豆包、文心没有找到公开的爬虫文档,网上流传的名称都标为「未证实」。腾讯元宝没有找到公开资料,所以不在列表里。百度搜索仍由 Baiduspider 抓取。

输入域名时,工具是怎么获取 robots.txt 的?

浏览器的同源策略不允许网页里的脚本读取其他网站,所以由本站服务器代为请求 https://域名/robots.txt,只返回这个文件的内容。获取有频率限制(每个 IP 每小时 30 次),同一网站 10 分钟内重复检查会使用缓存。如果网站对服务器请求和浏览器请求返回不同的内容,可以手动打开 robots.txt 复制粘贴。

列表里的爬虫名称多久更新一次?

以各公司公开的爬虫文档为准,每季度核对一次,有新的官方公告时随时更新,更新日期见页面顶部。每个爬虫旁边的标签链接到它的出处,可以自己核对。

延伸阅读

微信扫码关注公众号

微信扫码关注公众号