robots.txt 测试工具|判断 URL 是否被屏蔽·写法检查·生成 AI 爬虫屏蔽规则

这是在 Search Console 的 robots.txt 测试工具下线之后可以替代使用的 robots.txt 检查工具。粘贴 robots.txt 的内容和想检查的 URL,就会针对 Googlebot、Googlebot-Image、AdsBot-Google、Bingbot、Applebot,以及 GPTBot、ClaudeBot、Google-Extended、PerplexityBot 等 AI 爬虫,显示是允许还是屏蔽,以及起决定作用的规则(行号)。判定与 Google 一致:“最长匹配的规则优先,长度相同则 Allow 优先”“如果有写明名称的组,就不使用 User-agent: *”“* 与末尾的 $”“非 ASCII(如日语)URL”。此外还提供写法检查(全角“:”、在 Disallow 中写 URL、位于 User-agent 之前的规则、Googlebot-Images 之类的名称错误、已不再支持的 Noindex、Google 不读取的 Crawl-delay 等)、仅禁止 AI 训练的 robots.txt 生成功能,以及 * 与 $ 的速查表。

1. 粘贴 robots.txt

打开网站的“https://域名/robots.txt”,复制内容并粘贴到这里。尚未发布的草稿也可以试用。判定方式与 Google 相同(最长匹配的规则优先,长度相同则 Allow 优先)。

示例:

5 行·111 字节(Google 只读取前 500 KiB)·1 个组·1 个 Sitemap

2. 要检查的 URL 和爬虫

每行一个 URL(以 https:// 开头的完整 URL,或 /blog/ 这样的纯路径均可)。最多判定 50 条。

Google

其他搜索引擎

AI

3. 判定结果

URLGooglebotGooglebot-ImageGoogle-ExtendedBingbotGPTBotClaudeBot
https://example.com/允许允许允许允许允许允许
https://example.com/wp-admin/屏蔽屏蔽屏蔽屏蔽屏蔽屏蔽
https://example.com/wp-admin/admin-ajax.php允许允许允许允许允许允许
https://example.com/wp-admin-guide/允许允许允许允许允许允许
https://example.com/用于判定的路径:/
  • 允许

    GooglebotGoogle 搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    Googlebot-ImageGoogle 图片搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

    如果没有 Googlebot-Image 的组,则遵循 Googlebot 的组。

  • 允许

    Google-Extended用于 Gemini 的训练和回答

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

    Google-Extended 不是爬虫,而是用来决定 Googlebot 获取的页面是否可用于 Gemini 等生成式 AI 的名称。屏蔽它不会影响 Google 搜索的排名和显示。

  • 允许

    BingbotBing 搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    GPTBotOpenAI 训练

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    ClaudeBotAnthropic(Claude)训练

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

https://example.com/wp-admin/用于判定的路径:/wp-admin/
  • 屏蔽

    GooglebotGoogle 搜索

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

  • 屏蔽

    Googlebot-ImageGoogle 图片搜索

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

    如果没有 Googlebot-Image 的组,则遵循 Googlebot 的组。

  • 屏蔽

    Google-Extended用于 Gemini 的训练和回答

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

    Google-Extended 不是爬虫,而是用来决定 Googlebot 获取的页面是否可用于 Gemini 等生成式 AI 的名称。屏蔽它不会影响 Google 搜索的排名和显示。

  • 屏蔽

    BingbotBing 搜索

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

  • 屏蔽

    GPTBotOpenAI 训练

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

  • 屏蔽

    ClaudeBotAnthropic(Claude)训练

    匹配了“Disallow: /wp-admin/”(第 2 行)。

    使用的组:User-agent: *(第 1 行)

https://example.com/wp-admin/admin-ajax.php用于判定的路径:/wp-admin/admin-ajax.php
  • 允许

    GooglebotGoogle 搜索

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

  • 允许

    Googlebot-ImageGoogle 图片搜索

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

    如果没有 Googlebot-Image 的组,则遵循 Googlebot 的组。

  • 允许

    Google-Extended用于 Gemini 的训练和回答

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

    Google-Extended 不是爬虫,而是用来决定 Googlebot 获取的页面是否可用于 Gemini 等生成式 AI 的名称。屏蔽它不会影响 Google 搜索的排名和显示。

  • 允许

    BingbotBing 搜索

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

  • 允许

    GPTBotOpenAI 训练

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

  • 允许

    ClaudeBotAnthropic(Claude)训练

    在匹配的规则中,使用最长的“Allow: /wp-admin/admin-ajax.php”(第 3 行)。与书写顺序无关。

    使用的组:User-agent: *(第 1 行)

    其他匹配的规则:Disallow:/wp-admin/(第 2 行)

https://example.com/wp-admin-guide/用于判定的路径:/wp-admin-guide/
  • 允许

    GooglebotGoogle 搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    Googlebot-ImageGoogle 图片搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

    如果没有 Googlebot-Image 的组,则遵循 Googlebot 的组。

  • 允许

    Google-Extended用于 Gemini 的训练和回答

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

    Google-Extended 不是爬虫,而是用来决定 Googlebot 获取的页面是否可用于 Gemini 等生成式 AI 的名称。屏蔽它不会影响 Google 搜索的排名和显示。

  • 允许

    BingbotBing 搜索

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    GPTBotOpenAI 训练

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

  • 允许

    ClaudeBotAnthropic(Claude)训练

    User-agent: * 的组中没有匹配的规则,因此允许。

    使用的组:User-agent: *(第 1 行)

4. 写法检查

带行号提示 Google 无法读取的行、无意义的行和常见的误解。

错误 0 条注意 0 条参考 0 条

没有发现写法问题。

组列表

  • *

    从第 1 行起·Disallow 1 条·Allow 1 条

Sitemap

  • 第 5 行:https://example.com/wp-sitemap.xml

粘贴的 robots.txt 和 URL 只保存在此浏览器中,不会发送到服务器。也不会访问网站去获取 robots.txt。

ABOUT

关于robots.txt 测试工具|判断 URL 是否被屏蔽·写法检查·生成 AI 爬虫屏蔽规则

robots.txt 测试工具可以粘贴网站的 robots.txt,针对想检查的 URL,按爬虫判断是“允许”还是“屏蔽”。Google Search Console 中的 robots.txt 测试工具已于 2023 年 12 月停止提供,现在的“robots.txt 报告”无法按 URL 判定,因此制作了这个工具来替代。判定遵循 Google 的规范(RFC 9309 以及 Google 公开的 robots.txt 解析器的行为):当 Allow 和 Disallow 都匹配时,使用“模式最长的规则”,长度相同则使用 Allow。“*”表示 0 个或多个任意字符,末尾的“$”表示 URL 结束,路径区分大小写,非 ASCII 的 URL 会统一成 %E3%81… 的形式后再比较。同时也体现了这些行为:如果有写明 Googlebot 名称的组,Googlebot 就不使用“User-agent: *”的规则;Googlebot-Image 在没有自己的组时遵循 Googlebot 的组;AdsBot-Google 和 AdSense 的 Mediapartners-Google 会忽略“*”;Applebot 遵循 Googlebot 的规则。还可以选择 GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、PerplexityBot、CCBot 等 AI 爬虫,并提供生成仅禁止 AI 训练的 robots.txt 的功能。写法检查会带行号提示:全角“:”、在 Disallow 中写了 URL 的行、位于 User-agent 之前的规则、Googlebot-Images 之类的爬虫名称错误、已不再支持的 Noindex、Google 不读取的 Crawl-delay、只写了路径的 Sitemap 等。

robots.txt 测试工具|判断 URL 是否被屏蔽·写法检查·生成 AI 爬虫屏蔽规则的使用方法

  1. 1打开网站的“https://域名/robots.txt”,复制内容并粘贴到“robots.txt 内容”中
  2. 2每行输入一个想检查的 URL 或路径(以 https:// 开头的完整 URL,或 /blog/ 这样的纯路径均可)
  3. 3选择想判定的爬虫,如 Googlebot、Bingbot、GPTBot、ClaudeBot 等
  4. 4在判定结果表中,查看每个 URL × 爬虫的“允许”或“屏蔽”
  5. 5打开某个 URL,查看起决定作用的规则的行号,以及所使用的组(User-agent)
  6. 6在“写法检查”中修正错误和注意的行,然后重新判定
  7. 7想屏蔽 AI 爬虫时,用“生成 AI 爬虫屏蔽规则”生成相应的行,添加到测试中的 robots.txt 并确认

适用场景

  • Search Console 的 robots.txt 测试工具没有了,想找替代方式确认 URL 是否被屏蔽
  • 修改 robots.txt 之前,想确认没有误屏蔽重要页面
  • 想用自己的写法实际试一试 Allow 和 Disallow 哪个优先
  • 想确认“Disallow: /*?”或“Disallow: /*.pdf$”等通配符写法是否符合预期
  • 只想把搜索结果页或带参数的 URL 排除出抓取范围
  • 想生成只禁止 GPTBot、ClaudeBot、Google-Extended 等 AI 训练爬虫的 robots.txt
  • 添加了 Googlebot 的组之后,想确认“User-agent: *”的规则是否已经对它失效
  • 想确认 WordPress 的 robots.txt 中是否允许了 wp-admin 下的 admin-ajax.php
  • 接手博客或网站时,想检查前任写的 robots.txt 是否有错误

使用要点

  • 判定遵循 Google 的读取方式。Bing 等其他搜索引擎以及 AI 爬虫在细节上可能有所不同。
  • 当 Allow 和 Disallow 都匹配时,使用模式较长(更具体)的一方,长度相同则使用 Allow。不采用从上往下读取、使用第一个匹配规则的方式。
  • 只要有一个写明 Googlebot 名称的组,Googlebot 就只使用该组的规则,不使用“User-agent: *”的规则。想与“*”一样屏蔽的路径,也需要写在 Googlebot 的组中。
  • Googlebot-Image、Googlebot-Video、Googlebot-News 在没有自己名称的组时遵循 Googlebot 的组,再没有则遵循“*”。AdsBot-Google 和 Mediapartners-Google(AdSense)会忽略“*”,所以要屏蔽它们必须写上名称。
  • 路径区分大小写。“Disallow: /Admin/”不会屏蔽 /admin/。非 ASCII 路径会统一成 %E3%81… 的形式再比较,所以两种写法会被判定为同一个 URL。
  • robots.txt 阻止的是抓取(获取页面),而不是让页面不出现在搜索结果中。如果被屏蔽的 URL 被其他页面链接,仍可能在没有说明文字的情况下出现在搜索结果中。想从搜索结果中移除时,请使用 noindex,并且不要在 robots.txt 中屏蔽该页面(屏蔽后 noindex 将无法被读取)。
  • Google 已于 2019 年 9 月 1 日终止对 robots.txt 中 Noindex 的支持。Google 也不读取 Crawl-delay。
  • robots.txt 必须放在每个域名的根目录(子域名、http 与 https、端口号各不相同)。放在 /blog/robots.txt 之类的位置不会被读取。
  • Google 只读取 robots.txt 的前 500 KiB。之后的规则会被忽略。
  • AI 爬虫的名称(User-agent)由各公司公开。可能会新增或变更,屏蔽之前请同时确认各公司的说明。robots.txt 是否遵守取决于爬虫自身,只是一种请求,没有强制力。
  • 粘贴的 robots.txt 和 URL 只在此浏览器内判定,不会发送到服务器。也不会访问网站去获取 robots.txt。

可以解决这些问题

robots.txt 测试工具|判断 URL 是否被屏蔽·写法检查·生成 AI 爬虫屏蔽规则可以帮你解决以下问题。

  • 想使用可以替代 Search Console robots.txt 测试工具的工具
  • 想确认某个 URL 是否被 robots.txt 屏蔽
  • 想了解 robots.txt 中 Allow 和 Disallow 的优先级
  • 想确认 robots.txt 中 * 和 $ 的用法
  • 想了解同时写 User-agent: * 和 Googlebot 时的行为
  • 想检查 robots.txt 有没有写错
  • 想了解屏蔽 GPTBot 和 ClaudeBot 的 robots.txt 写法
  • 想只禁止 AI 训练,同时仍出现在搜索中
  • 想知道 robots.txt 中的 noindex 和 crawl-delay 是否有效

常见问题

Search Console 的 robots.txt 测试工具去哪了?
Google Search Console 的 robots.txt 测试工具已于 2023 年 12 月停止提供,取而代之的是“设置”中的“robots.txt 报告”。该报告可以看到 robots.txt 是否成功获取以及出错的行,但没有输入 URL 来测试是否被屏蔽的功能。按 URL 判定可以使用本工具,或使用网址检查工具(仅限已发布的 URL)。
Allow 和 Disallow 都匹配时,哪个优先?
Google 使用模式最长(最具体)的规则。例如有“Disallow: /blog/”和“Allow: /blog/public/”时,/blog/public/a.html 会因较长的 Allow 获胜而被允许。长度相同时使用 Allow(限制较少的一方)。与书写顺序无关。
同时写 User-agent: * 和 User-agent: Googlebot 会怎样?
Googlebot 只使用自己名称的组,完全不使用“User-agent: *”组的规则。如果想让 Googlebot 也不抓取被“*”屏蔽的路径,需要在 Googlebot 的组中也写上相同的 Disallow。
robots.txt 中的 * 和 $ 是什么意思?
“*”匹配 0 个或多个任意字符,“$”只有放在模式末尾时才表示“URL 结束”。“Disallow: /*.pdf$”会屏蔽以 .pdf 结尾的 URL,但不会屏蔽像 /a.pdf?download=1 这样后面还带查询参数的 URL。模式末尾的“*”没有意义,“/fish*”与“/fish”相同。
Disallow: /fish 和 Disallow: /fish/ 有区别吗?
有区别。“/fish”是前缀匹配,所以 /fish.html 和 /fishheads 也会被屏蔽。“/fish/”只屏蔽文件夹内部,不会屏蔽 /fish 和 /fish.html。
在 robots.txt 中屏蔽后,页面会从搜索结果中消失吗?
不一定。robots.txt 只是阻止抓取,被其他页面链接的 URL 仍可能在没有内容的情况下出现在搜索结果中。想从搜索结果中移除时,请在页面中加入 noindex,并且不要在 robots.txt 中屏蔽该页面。屏蔽后 Googlebot 就无法读取 noindex。
怎样才能不让 ChatGPT、Claude 等 AI 学习我的网站?
在 robots.txt 中,用“Disallow: /”屏蔽 OpenAI 的 GPTBot、Anthropic 的 ClaudeBot、Google 的 Google-Extended、Apple 的 Applebot-Extended、Common Crawl 的 CCBot 等。屏蔽 Google-Extended 和 Applebot-Extended 不会影响网站在 Google 搜索和 Apple 搜索中的显示。OAI-SearchBot、Claude-SearchBot 和 PerplexityBot 是用于 AI 搜索回答的爬虫,屏蔽后网站在这些回答中被介绍的可能性会降低。
写上 Crawl-delay 就能让 Googlebot 放慢抓取吗?
不能。Google 不读取 Crawl-delay。Googlebot 会根据服务器的响应速度和错误自动调整抓取频率。Bing 和 Yandex 会读取 Crawl-delay。
日语等非 ASCII 的 URL 在 robots.txt 中该怎么写?
无论像“Disallow: /カテゴリ/”这样直接写,还是像“Disallow: /%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA/”这样用 % 编码写,Google 都视为相同。文件请保存为 UTF-8。本工具也会把两种写法判定为同一个 URL。