页面内容改完了,标题也换了,过几天在搜索结果里看到的还是老版本,甚至摘要、快照都是旧的。这种情况很容易被理解成“收录掉了”或“更新没被接受”,但多数时候只是索引替换还没走到最后一步。要判断问题出在哪,先把“旧”拆成几个不同层面来看。
一、搜索结果里的“旧”,可能是三种不同的旧
同一个现象,背后对应的处理阶段完全不同。
- 抓取层面的旧:蜘蛛上次来的时候页面还是老内容,之后还没再访问。这时搜索引擎手里根本没有新版本。
- 渲染层面的旧:蜘蛛抓到了 HTML,但页面主体内容靠 JavaScript 生成,渲染队列还没处理到,或者渲染结果与预期不同。
- 展示层面的旧:索引里其实已经换成新内容,但搜索结果为了稳定,短时间内仍可能展示旧摘要或旧标题。
先确定自己遇到的是哪一种,再选对应的处理方式,否则容易做一堆无用功。
二、蜘蛛为什么不急着回来
搜索引擎决定何时重抓一个 URL,参考的因素比多数人想的多。
- 页面自身的变化频率。历史上经常更新的页面,重抓间隔会缩短;长期不变的页面,间隔会拉长。突然改一次,未必能立刻触发重抓。
- 站点的整体抓取额度。额度被大量低价值 URL 占着时,重要页面的重抓排队就会往后排。
- 页面在站内的位置。有稳定内链入口、点击量大的页面,被发现得更快;深层页面只能等下一轮爬行。
- 更新幅度。改几个错别字和重写大部分正文,在变化检测上的分量并不一样。
所以更新之后没动静,不代表更新没价值,也可能只是还没轮到。
三、主动让更新被发现
能做的是把信号给到位,而不是反复催。
- 让 sitemap 的 lastmod 说真话。只在内容有实质变化时更新这个时间,长期虚报会让它失去参考价值。
- 保留稳定的内链入口。页面如果从导航或列表里被移走,发现速度会明显下降。
- 用官方的提交入口提示个别重要 URL。适合少量重点页面,不适合当成批量刷新的手段。
- 避免无意义的频繁改动。每隔几小时微调一次,既不会加快重抓,还可能让变化信号变模糊。
- URL 保持稳定。一改版就换地址、换参数,等于把历史积累清零重来。
四、怎么确认索引到底更新了没有
判断时不要只看一个入口。
- 用页面里独有的、新加的一句话去搜索,看结果摘要是否包含。
- 用官方的 URL 检查类工具看当前索引版本,注意它反映的是最近一次抓取的结果。
- 翻服务器日志,看蜘蛛最近一次访问的时间和返回状态。
- 给判断留出时间窗口,分两三次观察,而不是看一次就下结论。
结果页的展示本身就是滞后的,几天延迟属于正常范围,不必按小时去追。
五、几个常见误判
- 把缓存当未收录。缓存页面或展示摘要落后,和“页面不在索引里”是两件事。
- 把另一个 URL 的旧版本当成本页未更新。带参数的旧地址、http 与 https、带与不带 www,都可能各自留着一份记录。
- 以为改了 title 就该马上生效。标题是搜索引擎综合判断后展示的,改动后需要重新抓取与评估。
- 为了“刷新”而大改没问题的内容。可能反而影响这个页面已有的稳定表现。
六、实际处理顺序
比较稳妥的做法是:先确认日志里蜘蛛有没有来过、拿到的状态码是什么;再看渲染后页面主体是否正常输出新内容;然后检查 sitemap 与内链是否还有效;最后再考虑是否需要主动提交。每一步都排除了,剩下的通常只是时间问题。
如果长期停在旧版本,而站内其他页面更新都正常,就该回头看这个页面本身:是不是 URL 被改过、是不是被别的地址替代、是不是主体内容依赖渲染而渲染失败。这类问题不解决,等再久也不会自动更新。