網站收錄

内容更新後索引里還是舊版本:從抓取返回到索引刷新的核對顺序

頁面内容更新後,搜尋结果里仍是舊标题和舊摘要,很多人會誤以為頁面没有被收錄。本文把抓取與索引更新分開,從日誌返回内容、缓存层、改動幅度、sitemap 的 lastmod、URL 是否變更几個角度,给出一套可执行的核對顺序,帮助你判断問题出在服務端還是索引刷新环节。

網站收錄

内容更新後索引里還是舊版本:從抓取返回到索引刷新的核對顺序

頁面改了内容,過一段時間去搜,结果摘要還是舊版本,甚至标题也停留在上一版。這種情况容易被理解成“没被收錄”,但更常见的是頁面早就在索引里,只是索引里那份副本還没被替換。把“抓取”和“索引更新”分開看,排查會顺很多。

先確認抓取有没有带来新内容

第一步不是看搜尋结果,而是看服務器日誌里最近一次抓取返回了什么。

  • 抓取時間:最近一次訪問是什么时候,間隔是否合理。
  • 狀態碼:返回的是 200,還是被重定向、被拦截、超时。
  • 响應内容:服務端返回的 HTML 里,是不是已经是你更新後的版本。缓存层、CDN、頁面缓存插件都可能让爬虫拿到舊 HTML。

如果日誌里返回的就是舊内容,問题在服務端而不是搜尋引擎,先把缓存和渲染問题解决,再谈索引。

抓取成功不等于索引立刻換新

爬虫拿到新 HTML 之後,還要经過解析、去重、质量判断,才會决定是否替換索引里的舊版本。這中間存在時間差,也存在判断過程。所以“抓取時間”和“索引里顯示的内容版本”经常對不上,属于常见范围,不必一看到差异就認定出错。

改動幅度會影响重新判断的结果

小幅修改

只改了几句话、調了排版、換了一張图,搜尋引擎可能認為主体内容没變,繼續沿用舊的标题和摘要,只更新部分正文。這種情况下摘要長期不換,並不奇怪。

大幅修改

如果标题、主要段落、结构都做了重寫,頁面几乎是新的一篇,重新评估的可能性會高一些。但這依然是概率問题,不构成任何保證。

sitemap 的 lastmod 要寫真實的修改時間

lastmod 是一個辅助信号,不是刷新按钮。常见誤区是每次發布都全站更新一遍時間戳,结果這個字段失去參考價值。

只给真正發生内容變化的 URL 寫新的 lastmod。批量刷時間戳,短期也许带来更多抓取,長期會让這個信号變得不可信。

抓取正常、索引没換的几種常见原因

  • 索引更新本身有延迟,尤其是權重不高的頁面。
  • 新舊内容差异太小,被判断為同一版本。
  • 站点整体抓取频率低,頁面不在優先队列里。
  • 同一内容存在多個可訪問地址,索引選擇的是另一個副本。
  • 頁面用途偏弱,在资源分配上排序靠後。

URL 變更和内容變更要分開處理

如果這次不只是改内容,還換了 URL,那就不是索引刷新問题,而是迁移問题。舊 URL 要做 301 指向新地址,並且避免两個地址都能正常訪問、内容又完全一样。如果只是内容更新,保持原 URL 最简單,也最不容易出現新舊並存。

可执行的核對顺序

  1. 看日誌,確認最近抓取時間與返回内容。
  2. 用绕過缓存的方式核對服務端輸出,排除 CDN 與頁面缓存干扰。
  3. 確認 URL 未變,或已正确做 301。
  4. 检查 sitemap 里的 lastmod 是否對應真實改動。
  5. 確認站内没有同一内容的多個可訪問地址。
  6. 若以上都正常,剩下的是時間問题,观察一段時間再判断。

把這几步走完,多數“改了没生效”的情况都能定位到具体环节:要么爬虫拿到的是舊 HTML,要么索引還没轮到這個頁面更新。前者自己能修,後者需要時間,也需要頁面本身有繼續被维護的價值。