頁面内容更新、栏目改版、商品下架換新,過一阵子去搜尋發現摘要還是老样子——這通常不是「没收錄」,而是索引里存的還是舊版本。這两件事要分開處理:前者是 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,抓取预算被消耗在重复請求上。
索引刷新本质上是「抓取安排 + 内容變化判断」的结果,能做的更多是把變化表達清楚、把入口留好,剩下的交给抓取节奏。