先给结论:源站正常而边缘节点异常时,最该保留的不是“现在打不开”的截图,而是一组能证明“同一时刻、同一 URL、不同网络路径返回了什么”的对照证据。因为收录系统看到的往往不是你办公室的那条线路,而是它自己经过 CDN、缓存层、回源链路后的结果。没有对照,你只能猜;有对照,才能判断该改缓存规则、回源配置,还是先回滚边缘发布。
不要一上来就全站抓取。选一个已经提交、且你确认源站内容正常的 URL,作为本轮排查的固定样本。对它同时记录四类信息:
这四类信息构成一条可对照的证据链。只保留其中一类,后面无法区分“源站确实坏了”和“边缘缓存把旧内容发给了抓取系统”。
边缘节点异常并不只有一种表现,不同表现对应的证据重点不一样。
优先保留边缘回源日志和源站访问日志的同一时间片段。如果边缘回源时源站返回 200,但边缘对外仍返回 5xx,问题多半在边缘的响应处理或超时设置,而不是源站内容。此时下一步应检查边缘回源超时阈值和重试策略,而不是改源站代码。
保留边缘响应头中的缓存状态标记、缓存键构成,以及源站返回的 ETag 或 Last-Modified。如果边缘命中的是旧缓存,而源站已经更新,问题在缓存失效策略。下一步是确认缓存键是否包含了不该忽略的维度,以及刷新是否真正到达了所有节点。
保留边缘返回的完整正文摘要(至少保留首尾各一段和字节长度),与源站正文做逐段比对。如果只有边缘侧正文异常,问题可能在边缘的压缩、转码或注入规则。下一步应逐条关闭边缘变换规则做二分验证,而不是先动源站模板。
假设某页面源站直连返回 200,正文长度 48KB;通过边缘请求同一 URL,返回 200,正文长度 12KB,且响应头缓存状态为命中。此时不应直接判定“页面被删了”。更合理的解释是边缘缓存了一份早期截断版本,或压缩规则在特定 UA 下出错。下一步动作是:先对边缘发起一次强制刷新,再以相同 UA 复测;如果刷新后正文恢复,则问题在缓存版本;如果仍异常,则继续查边缘变换规则。这个动作的结果直接决定后续是调整缓存策略还是排查边缘处理逻辑,而不是盲目重新提交 URL。
抓取量下降、某个 URL 从结果中消失、边缘节点返回一次 5xx,这些现象各自都有多种合理解释。抓取量下降可能只是抓取预算重新分配;URL 消失可能是临时过滤或结果替换;单次 5xx 可能只是瞬时超时。它们需要和上面的对照证据一起看,才能支撑判断。robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录,这两点在边缘异常场景下同样成立:边缘返回的 robots.txt 或站点地图如果和源站不一致,会额外制造干扰,应把边缘返回的这两个文件也纳入对照样本。
当你手里已经有一组对照证据后,按这个顺序处理:
这样做的原因是:边缘异常往往涉及多个可变因素,同时改动会让证据链断裂,后面无法判断哪一步真正起了作用。保留对照证据的价值,就在于让每一次改动都能被单独验证,从而把“猜”变成可复查的判断。