Robots.txt 的作用与工作原理
robots.txt 文件是网站运维人员与搜索引擎爬虫(如 Googlebot)沟通的协议。通过在网站根目录下部署该文件,你可以声明哪些路径允许爬虫抓取,哪些路径禁止访问。
本工具提供可视化的规则配置与实时校验功能。在配置界面中,工具默认提供 User-agent: * 和 Disallow: /admin 的初始规则。所有规则的解析与路径测试均在本地完成,抓取规则会在你的浏览器中生成和检查,不会上传到 BroBroGo。
规则配置与语法校验
在编写 robots.txt 时,格式的准确性直接影响爬虫的抓取行为。本工具在生成规则时会严格校验以下要点:
- User-agent 命名:用于指定规则适用的爬虫名称,若针对所有爬虫则使用
*。User-agent 名称中不能包含空格,否则工具会提示:请输入不含空格的 User-agent 名称;所有爬虫请使用 *。 - 路径规范:Allow 和 Disallow 的规则路径必须以
/开头,且不能包含空格。不符合此规范时,工具会拦截并提示:规则路径必须以 / 开头,且不能含空格。 - 特殊字符限制:匹配路径末尾的
$字符用于精确匹配。该字符只能出现在路径的最后,若位置不正确,工具会提示:$ 只能放在规则路径的末尾。 - 站点地图:Sitemap 必须使用包含
http://或https://的完整绝对地址。若格式不正确,系统会提示:站点地图地址需要完整的 http:// 或 https:// 地址。 - 文件大小限制:如果生成的 robots.txt 文件大小超过 100,000 个字符,工具将无法进行在线校验,并提示:
这份 robots.txt 太大,无法在这里检查。
规则冲突与合并逻辑
多条规则混合使用时,容易出现逻辑重叠或冲突。工具会自动检测并标记以下常见问题:
| 冲突类型 | 触发条件 | 界面提示信息 | 搜索引擎处理逻辑 |
|---|---|---|---|
| 重复规则 | 同一个 User-agent 分组下存在完全相同的路径规则 | 同一个 User-agent 下重复了这条规则。 |
重复规则无实际意义,应予以清理。 |
| 路径冲突 | 相同的路径同时配置了 Allow 和 Disallow | Allow 和 Disallow 使用了同一路径。两者同样具体时,Google 会采用 Allow。 |
当 Allow 和 Disallow 规则的路径长度相同时,Google 默认采用 Allow 规则。 |
| 分组重复 | 在不同的声明块中多次指定了相同的 User-agent | Google 会合并名称相同的 User-agent 分组。 |
Google 会自动将这些分散的分组规则合并处理。 |
Google 路径匹配机制
在进行路径测试时,工具遵循 Google 的官方匹配标准:
- 最长路径匹配优先:当一个 URL 匹配多条规则时,路径声明最长(最具体)的规则具有最高优先级。
- 同等长度 Allow 优先:如果匹配到的 Allow 和 Disallow 规则路径长度完全一致,Google 会优先采用 Allow 规则。
- 默认允许:若测试路径没有命中任何声明规则,工具会输出:
没有匹配规则。Google 默认允许访问这个路径。
测试完成后,工具会明确输出测试结果,例如 允许访问 — {rule} 或 禁止抓取 — {rule},帮助你确认配置是否符合预期。
常见问题解答
这个工具能写入哪些 robots.txt 规则?
你可以添加 User-agent 分组、Allow 和 Disallow 路径,以及一个或多个 Sitemap 地址。右侧内容可以直接复制到 robots.txt 文件。
路径检查如何选择规则?
它按 Google 的匹配顺序判断:匹配路径最长的规则优先;Allow 和 Disallow 同样具体时,Allow 优先。
Disallow 会让页面从 Google 搜索中消失吗?
不会。其他页面仍可链接到被禁止抓取的地址,使它出现在搜索结果中。需要阻止收录时,请使用 noindex、访问控制,或删除页面。