诊断工具

robots.txt 测试器

抓取某个网站的 robots.txt 或粘贴你自己的规则,输入 URL 并选择爬虫。你会得到明确的判定、决定结果的具体那一行,以及同一次测试在十二个主流爬虫上的对照结果。

任何爬虫标识都可以使用,列表里没有你需要的爬虫时,直接输入即可。

粘贴的规则完全在你的浏览器中匹配。从某个域名抓取 robots.txt 时会经过我们的服务器下载这一个公开文件,不存储任何内容。

robots.txt 的匹配规则究竟如何运作

robots.txt 文件由若干分组构成。每个分组以一行或多行 User-agent 开始,后面是适用于这些爬虫的 Allow 和 Disallow 规则。爬虫只读取与自己产品标识匹配的那一组;只有在没有匹配的具名分组时,才会读取通配分组。所以为 Googlebot 写的规则对 GPTBot 完全不起作用。

当同一分组中有多条规则都能匹配同一个 URL 时,最具体的那条获胜,也就是模式匹配字符数最多的规则。如果 Allow 和 Disallow 长度相同,则 Allow 获胜。这一优先顺序来自标准化的 Robots Exclusion Protocol,即 RFC 9309,这也是 Disallow: /admin/ 加上 Allow: /admin/public/ 后 public 目录仍可被抓取的原因。

模式中支持两种通配符:星号代表任意长度的字符串,美元符号把模式锚定在 URL 末尾。路径区分大小写,爬虫名称不区分;一份 robots.txt 只管辖自己所在的协议、主机和端口,因此 www 子域上的文件并不覆盖不带 www 的域名。

测试器会告诉你什么

  • 所选爬虫的判定结果,以及背后那条具体规则和行号
  • 同一个 URL 在十二个爬虫上的并排测试,搜索引擎爬虫与 AI 爬虫一目了然
  • 命中的是哪个分组,包括它是具名分组还是通配分组
  • 文件中声明的每一行 Sitemap
  • 解析警告:写在 User-agent 行之前的规则、不受支持的指令、Disallow 中使用的绝对 URL、缺失的 Sitemap

AI 就绪度检测器

ChatGPT、Claude 和 Perplexity 能否读取并引用你的网站?检查 llms.txt、robots.txt 中的 AI 爬虫规则、结构化数据和元数据。

检测 AI 就绪度 →

博客精选

全部指南 →

Frequently asked questions

在 robots.txt 里屏蔽页面能让它从 Google 消失吗?
不能。Disallow 阻止的是抓取,而不是索引。Google 仍可能通过外链发现被屏蔽的 URL 并将其列出,只是没有摘要描述。要让页面不出现在结果中,应允许抓取,并在页面本身使用 noindex 的 meta robots 标签。
我的 Disallow 规则为什么不生效?
通常是被更长的规则压过了。匹配依据的是模式长度而非文件中的先后顺序,长度相同时 Allow 获胜。大小写也有影响:/Blog/ 和 /blog/ 是不同的路径。请在这里测试具体的 URL,并查看测试器指出的获胜规则。
crawl-delay 会被遵守吗?
Google 不遵守,它完全忽略该指令,并建议站长改用抓取速度设置。Bing 和 Yandex 历来会遵守。把它留在文件里没有坏处,但不要指望用它来控制 Googlebot。
可以在 robots.txt 里写 noindex 吗?
对 Google 没有任何作用。robots.txt 中非官方 noindex 指令的支持已于 2019 年 9 月 1 日终止。请在想要排除的页面上使用 noindex 的 meta robots 标签,或使用 X-Robots-Tag HTTP 响应头。
一份 robots.txt 能覆盖我的子域名吗?
不能。该文件只适用于同一个协议、主机和端口。位于 blog.example.com 的博客需要自己的 blog.example.com/robots.txt,而且网站的 https 版本与 http 版本也是分开处理的。