先分清:线上是新的,索引里可能是舊的
頁面改完、發布上线,浏览器里看到的是新版,但搜尋引擎索引中儲存的是上一次抓取並處理後的版本。這中間隔着抓取、解析、入索引几個环节,所以出現“我明明改了,搜尋里還是舊的”非常常见。多數情况下不是出错,只是索引還没刷新。
一次更新要走完的几段路
- 重新抓取:蜘蛛按自己的节奏回来取一次新版 HTML。
- 重新解析:正文、标题、结构、連結被重新抽取;如果内容依赖 JavaScript 渲染,這一步還要看渲染结果能否拿到。
- 索引更新:新版本替換舊版本,或與舊版本合並判断。
- 展示层更新:搜尋结果里的标题、摘要、時間由系統按查询自行组合,通常比索引本体更晚,也更不稳定。
所以“收錄没變化”有可能只發生在第四步,並不代表第三步没做。
改了 title,搜尋结果里的标题却不一样
搜尋结果的标题並不完全是 title 标簽的原文,系統會结合頁面主标题、正文中的突出文字、外鏈锚文本等重新生成一版更贴合查询的标题。摘要同理,通常按查询從頁面内容里抽取片段,不一定采用 meta description。判断索引有没有更新,看正文内容比看展示标题更可靠。
怎么確認是延迟還是別的問题
- 先確認线上确實是新版:浏览器缓存、CDN 缓存、服務端缓存都可能让你或蜘蛛看到舊内容。
- 再看蜘蛛抓到的 HTML 是新版還是舊版。如果抓到的就是舊版,問题在服務端或渲染,不在索引。
- 查看最近一次抓取時間。如果時間還停在改動之前,說明頁面尚未被重新抓取。
- 检查是否有 noindex、robots 屏蔽,或 canonical 指向了別的地址,導致新版没被当作這個 URL 的目前版本。
哪些因素會影响刷新的快慢
没有固定時間表,從几小时到几周都可能。相對更容易被及时重抓的頁面,通常有這些特征:
- 站点本身抓取频率不低,頁面不是内鏈深處的孤岛;
- 改動幅度明顯,比如正文主体、主要栏目结构發生變化;
- 頁面在站内有稳定的内鏈入口,也有外部引用;
- sitemap 中的 lastmod 與實际修改時間一致。
反過来,只改了一個标点、只調整了排序,系統可能判断變化不大,刷新被放到後面處理。
不值得做的几件事
為了让索引快点更新,反复手動提交、每天改動 sitemap 的 lastmod、批量伪造更新時間,短期内也许能带来一点抓取,但時間一長這些信号會被忽略,反而让真正重要的更新失去可信度。
- 不要每次小改都改 lastmod;
- 不要為了催抓取把同一批 URL 反复提交;
- 不要只靠前端替換正文,而让蜘蛛只能拿到空壳,除非渲染确實能被执行;
- 不要改完一次就以為結束,更新後的一两周内繼續观察。
把這件事放進日常检查
對于经常更新的栏目和重点頁面,可以定期抽查:线上版本、蜘蛛抓取到的版本、索引里的版本三者是否一致。不一致时按“抓取层 → 索引层 → 展示层”的顺序排查,比反复提交有效得多。索引刷新本身就有延迟,给它一点時間,同时把抓取入口和頁面质量做扎實,才是更稳的做法。