先给结论:源站返回的 robots 文件正常,并不能证明用户和爬虫实际拿到的是同一份内容。边缘节点异常时,最该保留的是同一 URL 在两个位置上的完整响应证据,包括状态码、响应头、正文、请求时间、请求标识和节点信息。只保存一张“源站没问题”的截图,后续几乎无法判断异常从哪一层开始。
假设某站点把 robots 文件放在源站,前面经过一层 CDN 或反向代理。运维在源站直接请求时看到的是允许抓取的规则,但外部访问该地址时拿到的是旧版本,里面仍包含对整站目录的禁止规则。此时如果只保留源站响应,团队会得出“规则正常”的结论;如果只保留外部响应,又会误判为源站被改坏。真正需要的是两组证据并排保存,再定位差异发生在哪一跳。
这个情境的关键不是谁对谁错,而是同一次排查中要能证明两个响应确实不同。时间戳、请求头和响应正文缺一不可,否则事后无法区分“缓存未刷新”“节点配置错误”和“请求本身打到了不同环境”。
无论使用命令行、浏览器开发者工具还是抓取平台,建议按以下项目逐条留存,而不是只截结果页:
这些材料的作用是让下一步动作有依据。例如,如果两份正文不同但响应头中的缓存标识一致,优先怀疑节点缓存未更新;如果状态码不同而正文相同,则要查重定向和访问控制,而不是改规则本身。
把证据按三个可区分的原因归类,能避免盲目刷新:
需要提醒的是,抓取量下降或某个目录的请求量归零,不能单独证明 robots 处理正确。它也可能来自流量整体变化、站点地图长期未更新、页面本身被删除或链接结构改变。把请求量当作唯一证据,容易把无关波动当成结论。
如果这次异常发生在旧内容、旧系统或旧合作关系退出阶段,处理原则不是“一刀切禁止”,而是区分三类路径:
一个实际动作是:在提交任何规则变更前,先按上面的清单保存两份对照响应,并记录变更前后的版本。这样即使后续需要回退,也能证明回退到了哪个版本、该版本对应哪个时间点。站点地图可以辅助发现路径,但不保证收录;HTTPS 也不等于安全无漏洞或排名更好,这两点不能用来替代对 robots 响应的直接验证。
最容易缺失的不是正文,而是上下文:没有时间戳的截图、没有请求标识的响应头、只记录“外部访问异常”却没有对照源站。缺少这些,后续只能靠猜。另一个缺口是把一次成功请求当成稳定状态,而没有在缓存刷新或发布后再次取样。
如果边缘服务方要求提供材料,优先给出可复现的请求标识和两份完整响应,而不是结论性描述。这样对方能直接定位到具体节点和具体时间,排查路径会短很多。