robots txt文件日志中应该核对哪些字段:抓取诊断要看这几列

📍 WDQWDWQD987AAAAA:216.73.217.167
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /917f577e4eb2.html
📄

robots txt文件日志中应该核对哪些字段:抓取诊断要看这几列

在排查 robots txt文件 是否误伤抓取时,日志里最该核对的是:请求时间、客户端 IP、User-Agent、请求方法、完整 URL、HTTP 状态码、响应字节数,以及 Referer(如果有)。这八类字段能回答三个关键问题:是谁来抓、抓了什么、结果如何。只盯着状态码 200 或 404 往往不够,因为 robots.txt 的拦截通常表现为“请求根本没发生”或“返回了非目标内容”,而不是一条显眼的报错。

先明确适用前提

这套字段清单适用于你能拿到服务器访问日志(如 Nginx、Apache、CDN 日志)的场景。如果只有搜索引擎后台的抓取统计,字段会少很多,只能做交叉验证。另外要区分两件事:robots.txt 的抓取限制不等于可靠的索引移除。日志只能证明某个爬虫是否来抓、是否被拦,不能证明页面一定被移除或一定被收录。

每个字段具体看什么

一个可执行的核对步骤

假设你刚修改了 robots.txt,想确认某目录是否还被抓取。可以按下面顺序操作:

  1. 先按 User-Agent 过滤出目标爬虫,排除普通用户和其他机器人。
  2. 再按 完整 URL 中的目录前缀筛选,统计该目录的请求条数。
  3. 对比规则上线前后的 请求时间 分布,看请求是否消失或减少。
  4. 抽查若干条记录,核对 HTTP 状态码 与 响应字节数,确认返回的是真实页面还是拦截结果。
  5. 若怀疑 IP 伪造,用 客户端 IP 与官方 IP 段比对。

判断结果:如果目标目录请求量归零、且此前一直有稳定抓取,同时规则中确实写了 Disallow,那么“被规则拦截”是较合理的解释。如果请求仍在但状态码异常,问题可能出在服务端或防火墙,而不是 robots.txt。注意,一项现象可能有多个解释,不要仅凭单条日志就断定唯一原因。

多人协作时的交付要点

为了让结论可复核、减少返工,交付时建议附上:日志时间范围、过滤条件(UA、目录、状态码)、原始样本条数,以及你排除了哪些其他可能。不要只写“已确认被拦截”,而要写清依据。另外提醒:站点地图不保证收录,日志里看到爬虫抓取 sitemap 也不等于页面会被索引,二者要分开记录。

下一步,挑一个你怀疑被误伤的目录,按上面的字段跑一遍过滤,把请求量前后对比和样本状态码整理成一页记录,再决定是调整规则还是继续观察。

图1 图2

nginx