网站收录

页面改完很久,索引里还是旧版本:更新延迟怎么排查

页面改完标题和正文,索引里却还是老版本,这和没被收录是两回事。这篇文章把抓取与索引更新分开看:先用日志确认蜘蛛是否回访,再逐项排查响应头、CDN 缓存、站点地图 lastmod 等常见延迟来源,并给出一段可执行的排查顺序,帮助判断哪些操作真有用、哪些只是心理安慰。

网站收录

页面改完很久,索引里还是旧版本:更新延迟怎么排查

改完标题、换过正文、调整了价格,过几天去搜索里看,快照还是老样子。这种情况和“没被收录”不是一回事:页面在索引里,只是停留在旧版本,处理思路也完全不同。

先确认页面到底有没有被重新抓取

索引里的内容要更新,通常要经过两步:蜘蛛先重新抓取页面,搜索引擎再根据新版本决定是否替换索引。两步之间可能隔几天,也可能更久,尤其是更新不频繁的页面。

  • 如果日志里能看到蜘蛛在你改动之后访问过该 URL,说明“抓取”这一步已经完成,问题多半在索引更新环节。
  • 如果改动之后蜘蛛一次都没来,那就不是更新延迟,而是抓取频次或入口的问题,先去看内链、站点地图和整体抓取情况。
  • 查日志要带时间,不要只看访问总量,要看你改动的那几个 URL 有没有被单独访问过。

更新延迟常见的几个来源

抓取频次本来就不高

权重一般、很少更新的页面,蜘蛛回访间隔本来就长。你改了一次内容,不会立刻把回访频率拉起来。如果页面长期没什么变化,间隔几周再来看也很正常。

内容变更信号太弱

服务器返回 304,或者没有正确给出 Last-Modified、ETag 时,搜索引擎可能据此判断页面没有变化,直接沿用旧缓存。

  • 检查响应头是否带 Last-Modified 或 ETag,并且随内容变化而变化。
  • 有些缓存层会把这两个字段固定成同一个值,反而让蜘蛛认为“没改过”。

中间还隔着一层缓存

CDN、反向代理、页面缓存插件都可能返回旧版本。蜘蛛抓到的就是你缓存上的旧内容,索引自然停在旧版本上。

  • 分别请求源站和 CDN 地址,对比正文和响应头是否一致。
  • 改版后主动刷新相关缓存,不要干等过期时间。

站点地图里的 lastmod 没跟着改

sitemap 中的 lastmod 长期不动,或者所有页面都是同一个时间,这个字段的参考价值就会变弱。更新了内容,顺手更新对应 URL 的 lastmod,不要整站刷成同一时刻。

一段可执行的排查顺序

  1. 记录改动时间和改动的 URL 清单。
  2. 查日志,看这些 URL 在改动之后有没有被抓取,抓取时间、UA 和返回状态分别是什么。
  3. 对比源站与 CDN 返回的正文和响应头,确认蜘蛛拿到的是新版本。
  4. 核对 sitemap 的 lastmod 是否与改动时间一致。
  5. 过一段时间再抽样复查,只看同一批 URL,不要用全站收录数字概括。

哪些做法有用,哪些基本没用

  • 有用:给重要页面稳定的内链入口,让内容确实有实质变化,让缓存和响应头如实反映更新。
  • 作用有限:频繁提交 URL,但内容只是换几个词;或者每天微调一次,反而让“变化”这个信号失去意义。
  • 别指望:小幅改动立刻反映到索引里。索引更新本身就有滞后,不随提交动作同步发生。
索引更新更像一次重新评估,而不是同步刷新。被抓取到了,只是拿到了更新的机会。

什么时候不用继续等

如果改动幅度很大,页面结构都变了,比如换了模板、调整了 URL、合并了多个页面,与其等旧地址更新,不如让新 URL 承载内容,把老地址做规范的重定向,让新旧信号干净交接。反过来,如果只是标题微调,等一两周再看通常更省事。

判断这类问题的核心,是把“抓取”和“索引更新”分开看。日志能告诉你蜘蛛有没有来,源站与 CDN 的对比能告诉你蜘蛛拿到了什么,剩下的时间,是索引自己的节奏。