robots.txt 检测
robots.txt 检测在线工具,解析 robots 协议规则(User-agent/Allow/Disallow/Sitemap),通配符匹配引擎检测指定 URL 是否允许抓取,支持在线抓取与粘贴解析,本地处理不上传,完全免费
常见问题
怎么判断某个页面能不能被抓?
选好爬虫(如 Googlebot)再输入 URL,工具按「最长匹配优先、Allow 优先于同长度的 Disallow」规则给出允许或禁止。
通配符星号和结尾美元符支持吗?
支持。星号匹配任意字符序列,结尾的美元符表示必须以该串结束,和生产环境爬虫的行为一致。
Disallow 能阻止页面被收录吗?
不能完全阻止。它只禁止爬取,页面仍可能因为外链被索引(显示为无摘要)。要彻底不收录应该用 noindex。
关于这个工具
解析 robots.txt 并按规则判断指定 URL 是否允许抓取。支持粘贴内容或在线抓取(跨域被拦时会提示改用「打开 robots.txt」在浏览器里查看后复制回来)。
规则语义比想象中细,这个工具按生产爬虫的行为实现:
- 最长匹配优先:
Disallow: /admin/与Allow: /admin/public/同时存在时,访问/admin/public/a命中更长的 Allow,结果是允许。 - 同长度时 Allow 胜出:同样长度的 Allow 与 Disallow 冲突,允许优先(Google 的约定)。
- 通配与结尾锚:
*匹配任意字符序列,结尾的$表示必须到此结束 ——Disallow: /*.pdf$只拦以 .pdf 结尾的地址。 - 空值不限制:
Disallow:(后面什么都没有)表示允许全部,不是禁止全部。这条写错会显得「规则生效了但页面照样被抓」。 - 同名 User-agent 的多个分组会合并,精确匹配的 UA 优先于
*。 - 未命中任何规则就是允许,这是默认行为。
行内注释(Disallow: /admin/ # 后台)会被正确剥离,不会把 # 后台 当成路径的一部分。
两个必须知道的边界:robots.txt 只约束自愿遵守的爬虫,恶意采集器完全可以忽略它,防不住人;它也不能阻止页面被收录 —— 想彻底不收录要用 noindex,而 noindex 又要求页面能被抓到,两者配合不当就会出现「屏蔽了抓取、结果 noindex 没机会被读到」的死结。另外本工具不校验 sitemap 是否有效,也不模拟各爬虫对 UA 前缀匹配的全部细节(Google 会按 Googlebot-* 前缀匹配)。