先给结论:源站返回的 robots.txt 正常,并不能说明用户或爬虫实际拿到的那份也正常。边缘节点可能缓存了旧版本、注入了错误响应,或按自己的规则改写了内容。要判断问题出在哪一层,必须同时保留源站响应与边缘响应的成对证据,并记录请求路径、时间与响应头。只保留其中一侧,后续排查会失去对照基准。
边缘节点异常通常有两种成因,处理方式完全不同。
两种解释都会让爬虫看到与源站不一致的 robots.txt,但修复动作不同:前者要处理缓存刷新与回源策略,后者要检查边缘规则、安全策略与内容改写配置。仅凭“源站是好的”无法区分。
关键在于让同一次请求同时留下源站侧和边缘侧的快照,并保证两边可比。
Age、Cache-Control、ETag、Last-Modified、Via、X-Cache 一类字段。若边缘响应带有明显偏大的 Age,或缓存命中标记与源站不一致,缓存旧副本的解释更成立。这些证据要能回答一个具体问题:边缘返回的那份内容,是过去某个时间点源站内容的副本,还是源站从未产出过的内容。前者指向缓存,后者指向改写。
假设某站点更新了 robots.txt,直连源站看到新规则,经边缘请求仍看到旧规则。此时先保存两份正文与响应头。若边缘响应的 Age 较大且 ETag 与源站当前版本不一致,可初步判断为缓存旧副本。下一步动作是核对边缘缓存策略与刷新机制,确认旧副本为何未被替换,而不是先去改源站规则。反过来,如果边缘响应的状态码是错误码、正文是一段与 robots.txt 无关的提示,Age 也很小,那么缓存解释不成立,应转向检查边缘的改写规则与拦截策略。
这个判断会直接影响后续动作:缓存问题去处理缓存键与回源,改写问题去处理边缘规则。若把两者混为一谈,可能在源站反复修改却始终不生效。
有几类现象容易被当成结论,但解释并不唯一。
要减少误判,证据应尽量成对、带时间、可复现,而不是只保留一份截图或一段日志摘要。
robots.txt 的抓取限制不等于可靠的索引移除。即使边缘返回的规则阻止了抓取,也不代表已经收录的页面会因此消失;反过来,修改 robots.txt 也不能替代必要的移除流程。站点地图不保证收录,HTTPS 也不保证安全无漏洞或排名。不同搜索引擎对 robots.txt 的支持与解析细节需要分别核查,不能把某一家的表现直接套用到另一家。
因此,保留证据的目的不是马上得出“谁对谁错”,而是让源站与边缘的差异可对照、可复查。先确认差异存在于哪一层,再决定是刷新缓存、调整边缘规则,还是回到源站核对内容。缺少成对证据时,任何结论都只是猜测。