先看一个可观察事实:如果你改的是内链指向、锚文本或链接所在模板,而页面在短时间内从异常变为正常,这更可能是缓存过期;如果你改的是被抓取到的链接结构本身,且变化在多次独立抓取中稳定出现,才更接近真正修复。区分两者的关键不是“等多久”,而是“变化是否与你的动作有对应关系,并且可重复”。
缓存过期通常有三个特征:变化时间点接近缓存 TTL、不同抓取来源看到的结果不一致、页面源码与渲染结果短暂错位。真正修复则表现为:同一 URL 在多个独立抓取会话中结果一致、内链图谱中的入链和出链关系稳定、异常链接不再出现在新抓取中。
如果只有时间证据支持“已修复”,而结构和来源证据不支持,应先按缓存过期处理,而不是直接进入下一轮改动。
保留适用于:异常只出现在单一抓取来源,且页面源码中的内链关系没有变化。此时继续观察一轮缓存周期即可,不必立即改动链接结构。
改写适用于:多个来源都显示同一内链异常,且源码中的链接确实缺失或指向错误。改写时应只调整与异常直接相关的那部分链接,不要顺手重排整站导航。
退出适用于:你无法确认异常来源,且改动会牵连大量页面模板。此时先退出这轮改动,回到可回滚状态,再决定是否重新进入。
这三种做法不是按顺序全部执行,而是根据证据选择一种。选择保留的代价是可能延迟真正修复;选择改写的代价是可能引入新的内链错误;选择退出的代价是暂时不解决问题,但保留了排查空间。
假设你修改了文章页模板中的相关阅读模块,把原来指向已下线页面的链接改为指向新页面。改动后,某抓取工具显示内链恢复正常。此时不要直接认定修复完成,因为模板缓存可能仍在提供旧版本。
下一步动作是:用同一抓取工具在另一个时间点再次抓取同一 URL,并检查页面源码中相关阅读模块的链接是否与新模板一致。如果两次结果一致,且源码中确实出现新链接,才可以认为修复生效;如果第二次又回到旧链接,说明之前看到的是缓存过期,真正修复尚未完成。
这个顺序的作用是:把“看起来恢复了”拆成可重复的证据,避免把缓存过期误判为修复完成,也避免在真正修复已经生效时继续改动内链结构。
如果异常涉及站点地图中的内链、robots.txt 限制后的抓取恢复,或 HTTPS 迁移后的链接更新,等待不一定能解决。站点地图不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除。这些情况下,缓存过期和真正修复可能同时存在,需要分别检查抓取限制、链接指向和索引状态。
实际动作是:先确认异常是否由抓取限制引起,再检查内链是否指向可抓取 URL,最后才判断缓存是否掩盖了真实状态。如果抓取限制仍在,即使内链看起来恢复,也不代表修复完成。