改完标题、补了几段内容、換了一張主图,隔天去搜尋里查,展示的還是几個月前的版本。這種情况很常见,不一定是“没收錄”,多數时候是索引里存的仍然是一份舊快照。
索引存的是一份快照,不是頁面的實时镜像
蜘蛛抓取頁面时,拿到的是那一刻返回的 HTML。之後這份内容還會進入後續流程:解析、渲染、抽取正文與連結、判断主体内容,再和索引里已有的记錄做比對。只有当新版本被判定為需要替換时,索引中的记錄才會更新。整個鏈路里,抓取只是第一步。
所以“頁面已更新”和“索引已更新”是两件事。前者你能控制,後者由搜尋引擎决定什么时候做、做到哪一步。
一次更新大致要经過哪几個环节
- 重新抓取:蜘蛛需要再訪問一次這個 URL。如果上次抓取後頁面長期没有明顯變化,重訪間隔可能被拉長。
- 重新渲染:如果正文依赖 JavaScript 才能出現,要等渲染完成才能拿到最终内容。
- 内容比對:新舊版本的差异有多大、改的是正文主体還是頁脚這類模板区域,會影响處理时的優先級。
- 索引替換:確認新版本可用之後,舊记錄被替換。這一步完成,搜尋结果里的标题和摘要才可能跟着變化。
為什么有的頁面几天就換了,有的几個月不動
- 改動幅度:只調整一句话,和重寫整篇主体,传递出的信号强度並不一样。
- 頁面自身的抓取優先級:更新频繁、内鏈多、有外部引用的頁面,被重訪得更勤。
- 站点整体的抓取安排:抓取资源要在全站 URL 之間分配,更新快的頁面往往會占用更多机會。
- 更新期間的可訪問性:如果改動過程中返回 5xx 或频繁超时,這次抓取可能被直接放弃。
- 内容是否真的變了:只改模板、調广告位、換 CSS,正文文本没動,從索引角度看差別很小。
先確認到底是哪一種“没更新”
- 直接訪問该 URL,查看服務器返回的 HTML,確認线上内容确實是新版。
- 把搜尋结果里的标题、摘要和頁面實际内容對比,有时只是摘要没換,正文已经更新。
- 查服務器日誌,確認改動之後蜘蛛有没有再来過。没来過,問题在抓取;来過却没變,問题在索引處理。
- 用站点後台的 URL 检查工具触發一次抓取,看抓回的内容是不是新版。
搜尋结果里的摘要经常是围绕用戶查询词動態生成的,它和頁面标题不一定同步變化。摘要没變,不代表索引里還是舊内容。
想让更新更快被處理,可以做几件小事
- 更新後主動提交该 URL,通常比等自然重訪快一些。
- 從更新频繁、抓取正常的頁面加一條内鏈指向它,给蜘蛛一條更容易走到的路径。
- 确保更新過程中頁面始终能正常返回 200,不要長時間挂在维護狀態。
- 如果改動涉及标题、URL 或主体结构,尽量別同时上线多個大改動,方便判断是哪一步出的問题。
- sitemap 里的 lastmod 保持真實,不要每次全站刷成同一時間,否則這個信号會失去參考價值。
有些頁面确實不需要频繁更新
長期不動的說明頁、歷史归档、静態資料頁,更新频率低本来就是正常的。與其反复提交催更新,不如把精力放在會持續产生新内容的頁面上。索引更新的节奏,本质上和頁面本身的變化节奏是匹配的。
把更新当成一次發布:内容真的變了,再推動抓取;没變,等下一次自然重訪就好。