要排除缓存造成的假象,核心做法是:不要只看自己浏览器里看到的页面状态,而是分别核对“源站返回内容”“搜索引擎抓取到的内容”和“索引库中实际保存的版本”这三层结果。只有三层一致,收录判断才可靠。
收录判断出错,往往不是搜索引擎没收录,而是你看到的不是它看到的那一份。常见情况有三类:
这三种假象的处理方式不同,混在一起排查就会得出错误结论。
第一步是拿到不经缓存的响应。可执行的操作:
curl -I 请求目标 URL,观察状态码和 Cache-Control、Age、X-Cache 等响应头。判断结果:若源站返回新内容、带参数请求也返回新内容,而普通请求仍是旧内容,问题基本定位在 CDN 或代理缓存,而不是搜索引擎。
确认源站没问题后,再看搜索引擎拿到的是哪一份。可核对的项目:
Last-Modified 或内容哈希是否与源站一致。如果抓取工具显示的是旧内容,但源站已是新内容,可能是抓取时命中了缓存节点,也可能是抓取时间早于更新。此时应记录抓取时间,再触发一次抓取并对比前后结果。注意:robots.txt 的抓取限制不等于可靠的索引移除,它只控制抓取,不直接决定索引中已有版本的去留。
面对缓存导致的收录假象,通常有两种处理路径:
选择依据很简单:如果无缓存请求已经返回新内容,优先走方案B;如果无缓存请求仍返回旧内容,必须先走方案A。站点地图不保证收录,提交它只能帮助发现 URL,不能替代缓存排查。
要让“排除缓存假象”这件事可验收,需要准备以下资料和责任分工:
验收时逐项比对:源站内容一致、抓取内容一致、索引内容一致。三项都一致,才能判断收录状态真实可信;任何一项不一致,都说明还存在缓存或版本延迟,需要继续定位。
下一步:选一个具体 URL,按上面的三层顺序做一次完整比对,记录每层的返回内容和时间,再决定是刷新缓存还是重新触发抓取。