使用方法
- 把您的 robots.txt 文件粘贴到 robots.txt 文件 中。
- 在 路径或地址 中输入路径或完整地址,并在 爬虫名称 中输入爬虫的名称。
- 阅读 该爬虫是否允许,然后查看 起决定作用的规则 中的那一行,了解原因。
如何做出判断
工具首先选择分组。与爬虫名称相匹配的 user-agent 行(不区分大小写)构成一个分组。如果没有任何一行点名它,则使用针对所有爬虫的分组(星号)(RFC 9309 第2.2.1节)。
在该分组中,从第一个字符起与地址匹配的每条规则都会被比较。最长的模式生效,同长时允许规则生效(RFC 9309 第2.2.2节)。如果没有规则匹配,则允许访问。文件 /robots.txt 本身始终允许访问。
- 模式中的星号(*)可以匹配任意文字,模式末尾的美元符号($)表示匹配到此为止。
- 字母、数字以及字符 - . _ ~ 的转义会在比较前被解码,因此 %7E 与 ~ 相同。
- 井号(#)之后是注释,空的 Allow 或 Disallow 值会被忽略。
Google 与 RFC 一致之处
Google 的 robots.txt 页面(英文)描述了相同的规则:使用与该爬虫最具体匹配的 user-agent 所在的分组,基于路径长度最具体的规则生效,并且在冲突时采用限制最少的规则。当两份文本措辞不同时,本工具遵循 RFC,而在这些规则上我们没有发现差异。
- Google 同时匹配路径和查询部分。RFC 没有说明查询是否属于路径;本工具与 Google 页面的示例行一样进行匹配。
- RFC 没有说明空值的含义。Google 会忽略它,本工具也是如此。
示例:同一文件中的三个地址
默认文件有一个针对所有爬虫的分组,以及一个针对 Googlebot 的分组。Googlebot 只遵循它自己的分组,因此 /drafts/ 对它是屏蔽的,但对其他爬虫不屏蔽。下表显示了三个请求的结果。
第9行为 Googlebot 屏蔽 /private/。第5行是一条允许规则,它比禁止的 /private/ 更长,因此对 press-kit.html 生效。
| 地址 | 爬虫 | 状态 | 起决定作用的规则 | 适用的分组 |
|---|---|---|---|---|
| /private/page.html | Googlebot | 屏蔽 | 第9行:Disallow: /private/ | 第7行:User-agent: Googlebot |
| /private/press-kit.html | Bingbot | 允许 | 第5行:Allow: /private/press-kit.html | 第2行:User-agent: * |
| /drafts/new.html | Googlebot | 屏蔽 | 第8行:Disallow: /drafts/ | 第7行:User-agent: Googlebot |
常见问题
这个工具会检查完整地址中的主机名吗?
不会。只使用路径和查询。如果文件中有针对其他主机的规则,本工具不会检查它们是否适用于您输入的地址。
为什么 robots.txt 文件本身始终允许访问?
RFC 9309 规定 /robots.txt 这个 URI 隐含地允许访问,这样爬虫始终可以读取规则。工具遵循这条规定,并把结果显示为 robots 文件。
两条规则匹配同一地址时会怎样?
模式较长的规则生效,因为它更具体,结果也更准确。如果两个模式等长,则允许规则生效。
值为空的规则为什么没有效果?
RFC 的语法允许空值,但没有说明它的含义。Google 的页面(英文)说,爬虫会忽略没有路径的规则,本工具也是这样做的。
我的文件会发送到服务器吗?
不会。文件在您的浏览器中读取,您粘贴的内容既不会发送给我们,也不会保存在任何地方,您可以放心粘贴。
超过500 KiB 的文件还能正常工作吗?
只读取前500 KiB,与 Google 的读取方式一致。文件更长时,工具会给出提示,这样您就能看出末尾的规则是否会被忽略。
资料来源
- RFC 9309:机器人排除协议(英文)
- Google 搜索中心:Google 如何解读 robots.txt 规范,含路径匹配示例(英文)
- Google 搜索中心:robots.txt 介绍(英文)
数据和文字最近核对于2026年11月10日星期二。