页面内容更新、栏目改版、商品下架换新,过一阵子去搜索发现摘要还是老样子——这通常不是「没收录」,而是索引里存的还是旧版本。这两件事要分开处理:前者是 URL 在不在索引里,后者是索引里的内容刷新到哪一版。
抓取到了,不等于索引用了新版本
搜索引擎抓一个页面时,拿到的是那一刻的 HTML;但它决定用哪一版内容进索引、什么时候替换旧版本,是另一套判断。所以日志里看到蜘蛛昨天来过、状态码 200,不代表今天搜索结果里就是新内容。中间可能有几天到几周的间隔,具体多久没有承诺值,取决于页面重要性、更新频率和整体抓取安排。
索引迟迟不刷新的几个常见原因
URL 没变,重抓的积极性会自然下降
对搜索引擎来说,一个长期稳定的 URL 已经被抓过很多次,如果没有明显理由,它不会提高抓取频率。内容更新算理由,但强度取决于变化幅度。
变化的幅度不够明显
改几个字、换一张配图、调整段落顺序,往往不足以触发一次索引替换。真正容易触发刷新的是标题、主体正文、价格或关键数据、结构化信息的实质改动。只改页脚年份、页头模板,基本不会被当成内容更新。
sitemap 里的 lastmod 没跟着改
很多人更新了页面,但 sitemap 里那条记录的 lastmod 还是几个月前。如果站点本身抓取频率不高,这个字段是给抓取端判断「要不要再来看看」的低成本信号。改动内容后顺手更新对应条目,比整份 sitemap 全部改成当天更可信。
主体内容藏在 JS 里
如果服务器返回的 HTML 只有骨架,正文靠 JS 渲染,抓取端需要额外走一遍渲染流程,刷新周期通常更长,也更容易出现「抓到了但拿不到正文」的情况。
怎么确认索引里到底是哪一版
- 用搜索结果里的标题和摘要对照,摘要一般反映的是索引中那一版内容。
- 看服务器日志里这个 URL 最近一次被抓的时间、状态码和返回大小,返回大小突变通常意味着内容确实变了。
- 在搜索后台看「上次抓取时间」,把抓取时间和内容上线时间对上。
- 用缓存快照对照,注意快照本身也可能滞后。
想让它刷得快一点,可以做这些
- 改就改出实质差异:把更新集中体现在正文主体和标题上,而不是分散在无关模块里。
- 更新 sitemap 的 lastmod,只改真正变动过的 URL。
- 从已被频繁抓取的页面链过来:首页、栏目页、热门文章里的入口,会提高这个 URL 被重新访问的概率。
- 顺带调整内链锚文本,让它和更新后的内容主题一致,也算一次轻量的信号更新。
- 如果搜索后台提供单条 URL 的重新抓取入口,可以在内容确认上线后再提交,不必天天点。
- 同一批更新的页面很多时,按重要程度分批,不要一次性全部推给抓取端。
几种不建议的做法
- 为了「逼」索引刷新而换 URL。新 URL 等于重新开始,旧 URL 积累的信号也不会自动跟过来。
- 把页面短暂 noindex 再放开,这种做法对刷新没有稳定帮助,反而可能造成收录波动。
- 在 sitemap 里把所有 URL 的 lastmod 都改成今天,时间一长这个字段就失去参考价值。
- 反复提交同一个 URL,抓取预算被消耗在重复请求上。
索引刷新本质上是「抓取安排 + 内容变化判断」的结果,能做的更多是把变化表达清楚、把入口留好,剩下的交给抓取节奏。