要排除缓存造成的假象,核心是同时查三件事:搜索引擎结果页显示的是不是旧版本、抓取工具拿到的是不是旧响应、源站是否真的已经更新。三者中只要有一处仍返回旧内容,就不能把“不收录”认定为索引问题。下面按观察、判断、处理、复查四步展开,适合多人协作时直接作为交付清单使用。
多人协作时最常见的问题是各自看的地方不同。有人看搜索结果页,有人看抓取工具,有人看服务器日志,结论自然对不上。先把现象归到下面三类之一:
判断依据是“同一时刻、同一URL、不同位置拿到的内容是否一致”。如果只在一个位置看到旧内容,先不要动索引相关设置。
不要凭感觉说“应该是缓存”。用下面这组检查项逐条确认,每项都记录时间、URL、执行人和结果,方便交接:
Cache-Control、Age、X-Cache、CF-Cache-Status。出现较大的 Age 或命中标记,说明响应来自缓存。?v=20240601。若带参数返回新内容、不带参数返回旧内容,说明缓存键没有随内容更新。这里要区分“可能原因”和“已经定位的原因”。Age 较大只能说明响应经过缓存,不能直接断定是CDN还是页面插件造成的。需要继续看响应头来源或逐层绕过,才能确定具体缓存位置。
确认缓存层后,按由外到内的顺序处理,避免一次改动多处导致无法归因:
清理后立即用第2步的抓取工具重新获取一次。如果返回内容已更新,说明问题在缓存;如果仍未更新,继续查发布流程和源站文件,而不是继续清缓存。
缓存清理不等于收录完成。复查时注意三点:
复查动作:在清理缓存后的不同时间点,分别用抓取工具和搜索结果页核对同一URL的标题与摘要。如果抓取工具已返回新内容、结果页仍显示旧摘要,属于结果页展示延迟,继续等待并保持URL可抓取即可。如果抓取工具也返回旧内容,回到处理环节,检查是否还有未清理的缓存层。
为减少返工,把每次排查写成一条记录:URL、发现时间、各位置返回的内容版本、执行的清理动作、复查结果、下一步负责人。判断标准只有一条:同一URL在源站和抓取工具中返回的内容是否一致。一致但未收录,才进入索引相关排查;不一致,就继续处理缓存。下一步可以直接用这份清单跑一遍目标URL,把结果填进记录再决定是否上报索引问题。