robots.txt 验证器

粘贴 robots.txt 内容以检查语法。解析 User-agent、Disallow、Allow、Sitemap 指令,并可视化爬虫访问规则。

[[ fetchError ]]

[[ labels.or_paste ]]
[[ labels.sample_label ]]:
[[ labels.no_input ]]

[[ labels.result_label ]]

[[ labels.errors_label ]]
  • [[ labels.line_label ]] [[ err.line ]]: [[ errorMessage(err) ]]
✓ [[ labels.no_errors ]]

[[ labels.blocks_label ]]

User-agent: [[ ua === '*' ? labels.all_crawlers + ' (*)' : ua ]]
[[ labels.no_rules ]]
Crawl-delay [[ block.crawlDelay ]]

[[ labels.sitemaps_label ]]

robots.txt 验证器是什么

只需粘贴 robots.txt 的内容,或直接输入网址获取,本工具就能检测出其中的语法错误和书写疏漏。它会解析 User-agent、Disallow、Allow、Sitemap、Crawl-delay 等各项指令,并将每个爬虫可以访问和被禁止访问的路径整理成一目了然的列表。

手写的 robots.txt 很容易出现细微的错误——比如指令顺序颠倒、忘记先写 User-agent,或者规则被归到了错误的分组下——这些看似不起眼的疏漏,却可能导致整个网站被搜索引擎拒之门外。在正式发布前用本工具检查一遍,就能提前发现并避免这类意外。

robots.txt 验证器的使用方法

  1. 准备好要检查的 robots.txt 复制本地文件的内容,或准备好已上线网站的网址。
  2. 通过网址获取,或直接粘贴内容 在"从 URL 获取"中输入目标网站的地址进行获取,或者直接将内容粘贴到文本框中。
  3. 查看解析结果中的错误与警告 未知指令、缺少 User-agent 等书写错误会连同具体行号一并显示出来。
  4. 按爬虫查看允许与禁止的路径 结果会按爬虫分类整理出允许和禁止访问的路径,方便对照是否符合预期。
  5. 确认 Sitemap 指令是否存在且正确 检查站点地图的网址是否书写正确,确保搜索引擎能够顺利找到它。

用好本工具的小技巧

  • User-agent: * 适用于所有爬虫。指定了机器人名称(如 Googlebot)的块优先级高于通配符块。
  • Disallow:(空值)表示"允许所有路径"。Disallow: /(仅斜杠)表示禁止所有内容,请注意区分。
  • Allow: 指令优先于 Disallow:。例如,先写 Disallow: /private/,再写 Allow: /private/public.html,则该文件允许访问。
  • Crawl-delay: 是非标准指令,指定请求间隔(秒)。Bing 和 Yandex 支持,Google 不支持——请使用 Google Search Console 的抓取频率设置。
  • Sitemap: 指令可告知搜索引擎站点地图的 URL。Google 和 Bing 均识别此指令,建议与 Search Console 手动提交结合使用。

使用场景

网站改版上线前的最终确认

在正式发布前粘贴 robots.txt 进行检查,确认测试环境遗留的全站屏蔽规则没有被带到生产环境。

检查 CMS 或框架自动生成的默认设置

许多平台安装后会自动生成 robots.txt,用本工具确认其中没有意外屏蔽需要被收录的目录。

作为 SEO 审计中的技术检查项

当网站排名不理想时,可借助本工具在短时间内确认是否存在爬取被阻拦的问题。

参考调查竞争对手的爬取设置

输入竞争对手网站的网址获取其 robots.txt,了解对方将哪些目录排除在爬取范围之外。

术语表

User-agent
指定规则适用对象(爬虫名称)的指令。* 表示适用于所有没有更具体规则的爬虫。
Disallow
禁止爬取指定路径的指令。留空表示"允许所有路径",容易与仅有一个斜杠、表示"禁止所有内容"的写法混淆。
Allow
在 Disallow 所禁止的范围内,为特定路径开出例外、单独允许访问的指令。
Sitemap 指令
告知搜索引擎站点地图 XML 网址的指令。它不受 Disallow 规则影响,始终会被读取。
Crawl-delay
指定请求间隔(秒)的非标准指令。Bing、Yandex 会遵守,但 Google 完全不支持。
机器人排除协议(REP)
1994 年提出的、构成 robots.txt 基础的约定。作为非正式惯例存在了近三十年,直到 2022 年才正式标准化为 RFC 9309。

常见问题

会。用 Disallow 屏蔽某个页面后,爬虫无法读取其内容,该页面不会被索引。但若有外部链接指向该页面,搜索引擎可能仍会将其列为"已知但未爬取"。如需彻底排除,需结合 noindex 元标签。

不适用。robots.txt 的作用范围是每个域名独立的。example.com/robots.txt 不适用于 blog.example.com,子域名需要各自的 robots.txt。

Googlebot 支持 *(任意字符串)和 $(URL 末尾)。例如,Disallow: /private/*.pdf$ 可屏蔽 /private/ 下的所有 PDF 文件。并非所有爬虫都支持通配符,请查阅各机器人的文档。
工具君

闲话 ― robots.txt 的诞生 ― 互联网礼仪的起源

1994 年,荷兰工程师 Martijn Koster 提出了机器人排除协议(REP)。当时网络爬虫无序爬取网站,给服务器造成过大负担。Koster 的想法很简单:"在网站根目录放一个规则文件,爬虫就能读取。" 这个文件就是 robots.txt。

重要的是,robots.txt 是一种自愿遵守的君子协议,没有强制约束力。友好的爬虫(如 Googlebot、Bingbot)会遵守它,但恶意爬虫会无视它。因此 robots.txt 适合告知搜索引擎哪些页面不需要索引,但不能用于保护敏感内容——机密页面必须通过身份验证来保护。

机器人排除协议作为非正式惯例存在了近三十年,直到 2022 年 9 月才被 IETF 正式注册为 RFC 9309。RFC 明确了指令名称不区分大小写,并解决了长期存在的语法歧义。