網站收錄

改了内容索引却没更新:先分清没抓取還是没換版

頁面内容更新後,搜尋结果里仍顯示舊版本,問题往往不在“收錄失敗”,而在重新抓取和重新處理這两步。本文按服務器日誌、源代碼、站内入口的顺序,說明怎么判断蜘蛛有没有回来過,以及可以做哪些動作推動索引刷新,並列出内容更新时容易踩的坑。

網站收錄

改了内容索引却没更新:先分清没抓取還是没換版

索引刷新=重新抓取 + 重新處理

頁面内容改了,搜尋结果里却還是舊版本,很多人第一反應是“索引坏了”。實际上,索引里那一版内容是搜尋引擎在某個时刻抓取並處理後的结果,它不會因為你後台点了儲存就自動更新。要換成新版,至少要满足两件事:蜘蛛重新抓取了這個 URL,並且這次抓到的内容被重新處理、替換掉舊记錄。两步缺任何一步,索引里都會繼續顯示舊版。

所以“為什么没更新”這個問题,要先拆成:它到底有没有被重新抓過?如果抓過,是抓到的内容没變,還是抓到了但還没重新编入索引?

三種情况,處理方式完全不同

  • 没重新抓取:日誌里看不到该 URL 的新請求,要解决的是“怎么让蜘蛛再来”。
  • 抓到了但内容判定無變化:常见于只改了頁脚、只調了样式,或者正文由脚本在浏览器端注入。
  • 已重新抓取,索引暂时没換:日誌里有新請求,指标還在時間差里,先观察,不必急着改頁面。

先看日誌,再谈優化

服務器日誌是最直接的證據。篩選出目标 URL,看最近一次被訪問的時間、返回碼和 User-Agent。如果最後一條记錄還停留在改版之前,說明蜘蛛压根没回来,這时候讨论内容质量意义不大。

如果日誌里能看到近期請求,就要確認抓到的 HTML 里有没有新正文。建议在浏览器里查看源代碼,而不是只看渲染後的頁面。正文如果靠脚本加载,抓取端看到的可能仍是舊文本,甚至只有空壳。

推動索引刷新的几個動作

  1. 给頁面一個站内入口:把更新後的内容鏈到首頁、栏目頁或“最新更新”列表,让蜘蛛顺着常抓路径走到它。
  2. 更新 sitemap 的 lastmod:只在内容真正變化时更新,乱改時間會让這個信号逐渐失效。
  3. 做可抓取的更新列表:把最近修改的頁面集中在一個列表頁,比零散連結更容易被發現。
  4. 必要时手動提交:URL 检查類工具可以請求重新抓取,但它只是排队,不等于立即處理。
索引刷新没有“打開開關”這一说。你能做的是提高重新抓取的概率,而不是命令它马上更新。

改内容时最常踩的坑

  • 用新 URL 發布更新内容:舊地址繼續存在,新地址從头開始,索引里很可能留下两個版本。内容更新尽量沿用原 URL;确實要換,就用 301 指向新地址。
  • 只改标题不改正文:只調整标题标簽,正文主体没變化,頁面可能不會被当作重要更新。
  • 改動幅度過小:改一個错別字通常不值得专门推動索引刷新,也没必要天天盯着看。
  • 把摘要缓存当成舊版:有时索引已換成新版,只是搜尋结果里還带着舊摘要,多观察几天再判断。
  • 頁面本身被挡着:robots.txt 屏蔽、noindex 标簽、返回非 200 狀態,都會让刷新無從谈起。先確認頁面可抓、可收錄。

一個可执行的检查顺序

  1. 確認頁面返回 200,且没有被 robots 規則或 noindex 拦住。
  2. 查看源代碼,確認新正文出現在初始 HTML 中。
  3. 翻服務器日誌,看最近一次抓取時間與抓取到的内容是否已更新。
  4. 检查站内有没有通往该頁的連結,入口是否在常被抓取的层級里。
  5. 如果内容确有實质更新,更新 sitemap 的 lastmod,必要时提交重新抓取。
  6. 给一到两周观察窗口,看索引里的版本是否變化,而不是每天刷新结果頁。

索引刷新本质上是抓取节奏和内容變化共同作用的结果。把“能不能被抓到、抓到的内容對不對、有没有入口”這三件事確認清楚,比反复追問“為什么還没更新”更有用。