核对抓取限制,核心是回答三个问题:谁被允许抓、哪些路径被禁止、规则是否真的生效。最可靠的做法是把 robots.txt、页面级 robots 指令、HTTP 响应头和实际日志放在一起比对,任何一项单独看都可能得出错误结论。交接或验收时,建议先固定一份检查清单,再逐项记录“规则内容、检查方式、实际结果、是否通过”,这样结论可复核,也不依赖某个人的记忆。
robots.txt 是放在站点根目录的纯文本协议,用 User-agent 和 Disallow、Allow 声明某个爬虫可以访问哪些路径。它属于“请求前”的约定,遵守与否取决于爬虫自身,并不构成强制拦截。
页面级 robots 指令写在 HTML 的 <meta name="robots"> 中,常见取值包括 noindex、nofollow,作用对象是已经抓取到的页面,用来影响索引和链接跟踪,而不是阻止抓取。HTTP 响应头中的 X-Robots-Tag 功能类似,但可以覆盖非 HTML 文件,例如 PDF、图片。
服务器层面的限制包括防火墙、频率限制、登录校验、IP 封禁等。这类限制不写在 robots.txt 里,却会直接返回 403 或 429,从日志上看和“被规则禁止”很像,必须区分开。
假设某站点在交接时发现栏目页长期不收录,检查发现 robots.txt 中写有 Disallow: /news/,而该栏目正是核心内容区。这种情况下,规则与实际意图明显冲突,属于已定位的原因;如果规则放行、状态码正常却仍不收录,就不能断言是抓取限制,需要转向内容质量和内链结构排查。
建议留下一份可复现的记录,而不是一句“已检查”。内容至少包括:检查日期、使用的请求工具或命令、目标 URL、返回状态码、robots.txt 原文片段、页面级指令值、日志中的请求条数。改动前后做对比时,要考虑季节性和搜索需求波动,短期数据变化不能直接归因于某一次规则调整。
判断是否通过的标准可以设为:目标路径在 robots.txt 中未被禁止;页面未出现与预期冲突的 noindex;目标爬虫请求返回 200 为主;无异常 403、429 集中出现。四项同时满足,才能认为抓取限制核对完成。
下一步,挑一个核心栏目和一篇核心内容页,按上面的四层检查完整走一遍,把结果写进交接文档;如果发现规则与意图冲突,先改规则,再观察日志中的状态码变化。