解决方案 · Robots.txt 测试器
测试 robots.txt 通配符匹配与规则优先级
通过实际测试爬虫与路径如何命中通配符规则,避免只凭肉眼推断文件行为。
打开 Robots.txt 测试器快速回答
快速回答
应测试准确的爬虫和路径。在支持这些扩展的实现中,* 匹配可变字符序列,$ 将模式锚定到末尾;通常由最具体的匹配路径决定结果。
何时需要测试通配符
当简单路径前缀过于宽泛时,可以使用通配符规则,例如阻止一种文件扩展名、允许公开子目录,或匹配特定结尾。短模式可能影响大量 URL,而且不同爬虫并不一定记录了完全相同的边缘行为,因此应在部署前测试。
理解受支持的模式
Google、Bing 和其他主要搜索引擎支持有限形式的通配符。在 Google 的解释中,* 匹配任意字符序列,$ 表示 URL 末尾。
User-agent: *
Disallow: /*.pdf$
Allow: /public/*.pdf$
在此示例中,通用规则阻止以 .pdf 结尾的 URL,而更长的公开路径规则允许 /public/ 下匹配的 PDF。
测试示例路径
| 测试路径 | 预期结果 | 原因 |
|---|---|---|
/manual.pdf |
禁止 | 命中 /*.pdf$。 |
/public/guide.pdf |
允许 | 公开路径的 Allow 规则更具体。 |
/manual.pdf?download=1 |
不命中带锚点的 PDF 规则 | query string 属于被测试 URL,因此结尾不是 .pdf。 |
Google 兼容配置会把 * 转换为可变序列,识别末尾 $,比较规则具体程度,并在同等具体的冲突中优先 Allow。比较保持路径大小写、移除 fragment,并规范化等价的 percent-encoded 形式。
Scopeva 的匹配器测试还覆盖以下回归示例:
| 规则 | URL | 结果 |
|---|---|---|
Disallow: /*.php$ |
/file.php |
阻止 |
Disallow: /*.php$ |
/file.php?x=1 |
未指定 |
Disallow: /*.php |
/file.php?x=1 |
阻止 |
Disallow: /*.php$ |
/file.php/ |
未指定 |
运行准确测试
- 打开 Robots.txt 测试器。
- 获取生产文件,或粘贴候选内容。
- 选择需要评估的爬虫。
- 输入以
/开头的路径;如果查询字符串属于测试场景,也应包含它。 - 检查命中的规则与状态。
- 再测试一个应产生相反结果的相邻路径。
同时测试预期命中与预期不命中的路径,有助于发现只做正向示例时遗漏的宽泛模式。
具体程度与规则冲突
Google 根据路径长度选择最具体的匹配规则。如果冲突规则的具体程度相同,Google 使用限制更少的规则。Scopeva 在等长匹配时采用同样实用的 Allow 优先行为。
user-agent 选择发生在路径规则选择之前。Google 兼容模式会选择最具体的产品标识,合并具有相同具体程度的重复分组,且不会把专用分组与 User-agent: * 合并。因此应测试实际爬虫 token,不要只阅读通配分组。
编码、大小写与边界
robots 路径匹配区分大小写。Google 兼容模式会比较规范的 percent-encoded 形式,同时保持已编码的保留字符不同。query string 参与匹配,fragment 不参与。应测试爬虫实际请求的准确 URL 形式;除非模式明确表达目录边界,否则不要假设 /private 只代表某一个目录边界。
常见错误
- 目标是只匹配文件结尾,却遗漏
$。 - 把
*当作完整正则表达式语言。 - 按规则出现顺序比较,而不是按具体程度。
- 忽略实际选中的 user-agent 组。
- 测试经过解码或转小写、与实际请求不同的路径。
- 未经验证就把 Google 特有的边缘规则套用到所有爬虫。
局限
Scopeva 为实际测试提供确定性解释,但不能代替每个爬虫的私有实现。如果提供商记录了不同语法或行为,应遵循其规则,并尽可能通过请求日志验证。
使用 Scopeva 验证
检查实际返回的配置
打开 Robots.txt 测试器,检查上文所述的公开信号。修改生产环境配置前,请确认匹配规则或返回的响应。
打开 Robots.txt 测试器常见问题
关于此任务的问题
robots.txt 中的星号表示什么?
在支持此扩展的爬虫中,星号会匹配路径模式中的可变字符序列。
美元符号表示什么?
在支持此扩展的实现中,模式末尾的美元符号会把匹配锚定到被测试 URL 字符串的末尾。
所有爬虫解决规则冲突的方式都与 Google 完全一致吗?
不一定。Google 文档定义的是其自身的具体程度与同等匹配处理方式;其他爬虫在不支持的扩展或边缘情况上可能不同。
依据
官方参考资料
技术行为最后核查于 2026年11月5日。
