先给结论:测试工具能拿到 robots.txt,不等于真实用户路径上的每个环节都能拿到。最常见的原因是测试工具与真实用户走的解析链路不同——工具往往直连源站或固定出口,而真实用户经过 CDN、边缘节点、运营商或本地缓存。复现的关键不是再点一次“测试”,而是把请求条件逐项对齐:出口 IP、DNS 解析结果、协议与端口、请求头、缓存层级。
当工具显示 200 而用户侧失败,通常只有两类解释值得先分。
这两类解释的处置方向完全相反:前者要改源站,后者要清缓存或改边缘规则。判断错方向,会在错误的地方反复修改。
能区分上述两种解释的证据,是“同一时刻、不同条件下的响应对比”。建议按下面顺序取证据,每一步都能排除一类原因。
Age、Cache-Control、X-Cache 一类字段。若 Age 明显大于零,说明命中了缓存,用户拿到的可能是旧副本。这五步做完,基本能定位到“源站规则”还是“链路缓存”。
假设某站点把 robots.txt 放在 CDN 后面,缓存策略是“忽略查询字符串、缓存 24 小时”。某次修改规则后,源站已更新,但边缘节点仍返回旧文件。此时测试工具若直连源站,会显示新规则;真实用户经 CDN,拿到旧规则。
复现动作:在请求 URL 后加一个无意义查询参数(如 ?v=1),若返回内容变化,说明缓存键不含查询串,旧副本仍在生效。这个结果直接影响下一步——需要刷新该路径的缓存,而不是继续改源站文件。反之,若加参数后内容不变,则缓存不是主因,应回到源站规则排查。
要让复现结果可信,每次只改一个变量,其余保持记录。建议固定并记录以下项:
把这些写进排查记录,下一次出现“工具能访问、用户失败”时,可以直接比对,而不是重新猜。
robots.txt 的抓取限制不等于可靠的索引移除。即使某个 URL 被 Disallow,它仍可能因外部链接出现在结果中。站点地图不保证收录。HTTPS 不保证安全无漏洞或排名。不同搜索引擎对 robots.txt 的支持细节须分别核查,不能拿一个引擎的表现推断另一个。
另外,请求量、抓取量或某项统计归零,不能单独证明处理正确。它也可能是抓取预算变化、日志采样、节点切换等造成的。要结合上面的对比证据一起看,才能得出可执行的下一步。