頁面改了内容,過一段時間去搜,结果摘要還是舊版本,甚至标题也停留在上一版。這種情况容易被理解成“没被收錄”,但更常见的是頁面早就在索引里,只是索引里那份副本還没被替換。把“抓取”和“索引更新”分開看,排查會顺很多。
先確認抓取有没有带来新内容
第一步不是看搜尋结果,而是看服務器日誌里最近一次抓取返回了什么。
- 抓取時間:最近一次訪問是什么时候,間隔是否合理。
- 狀態碼:返回的是 200,還是被重定向、被拦截、超时。
- 响應内容:服務端返回的 HTML 里,是不是已经是你更新後的版本。缓存层、CDN、頁面缓存插件都可能让爬虫拿到舊 HTML。
如果日誌里返回的就是舊内容,問题在服務端而不是搜尋引擎,先把缓存和渲染問题解决,再谈索引。
抓取成功不等于索引立刻換新
爬虫拿到新 HTML 之後,還要经過解析、去重、质量判断,才會决定是否替換索引里的舊版本。這中間存在時間差,也存在判断過程。所以“抓取時間”和“索引里顯示的内容版本”经常對不上,属于常见范围,不必一看到差异就認定出错。
改動幅度會影响重新判断的结果
小幅修改
只改了几句话、調了排版、換了一張图,搜尋引擎可能認為主体内容没變,繼續沿用舊的标题和摘要,只更新部分正文。這種情况下摘要長期不換,並不奇怪。
大幅修改
如果标题、主要段落、结构都做了重寫,頁面几乎是新的一篇,重新评估的可能性會高一些。但這依然是概率問题,不构成任何保證。
sitemap 的 lastmod 要寫真實的修改時間
lastmod 是一個辅助信号,不是刷新按钮。常见誤区是每次發布都全站更新一遍時間戳,结果這個字段失去參考價值。
只给真正發生内容變化的 URL 寫新的 lastmod。批量刷時間戳,短期也许带来更多抓取,長期會让這個信号變得不可信。
抓取正常、索引没換的几種常见原因
- 索引更新本身有延迟,尤其是權重不高的頁面。
- 新舊内容差异太小,被判断為同一版本。
- 站点整体抓取频率低,頁面不在優先队列里。
- 同一内容存在多個可訪問地址,索引選擇的是另一個副本。
- 頁面用途偏弱,在资源分配上排序靠後。
URL 變更和内容變更要分開處理
如果這次不只是改内容,還換了 URL,那就不是索引刷新問题,而是迁移問题。舊 URL 要做 301 指向新地址,並且避免两個地址都能正常訪問、内容又完全一样。如果只是内容更新,保持原 URL 最简單,也最不容易出現新舊並存。
可执行的核對顺序
- 看日誌,確認最近抓取時間與返回内容。
- 用绕過缓存的方式核對服務端輸出,排除 CDN 與頁面缓存干扰。
- 確認 URL 未變,或已正确做 301。
- 检查 sitemap 里的 lastmod 是否對應真實改動。
- 確認站内没有同一内容的多個可訪問地址。
- 若以上都正常,剩下的是時間問题,观察一段時間再判断。
把這几步走完,多數“改了没生效”的情况都能定位到具体环节:要么爬虫拿到的是舊 HTML,要么索引還没轮到這個頁面更新。前者自己能修,後者需要時間,也需要頁面本身有繼續被维護的價值。