站点地图里的 lastmod 常被当成一根“催收錄”的按钮:頁面明明没動静,也顺手把時間改成今天,希望搜尋引擎多来看两眼。實际情况是,lastmod 只是抓取調度时的一個參考信号,填得准會加分,填得随意則會慢慢失效,後面真正更新了内容反而排不上队。
lastmod 在收錄流程里處在什么位置
一個 URL 從被發現到被收錄,大致经過發現、排队抓取、解析、進入索引几個环节。lastmod 作用在“排队”這一段:它告诉抓取程序這個地址可能變了,值得優先安排一次抓取。抓取回来之後,是否收錄仍取决于頁面质量、重复程度和索引策略,lastmod 本身不产生收錄结果。
几種常见的错填方式
- 全站统一刷新。每次生成站点地图,把所有 URL 的 lastmod 都寫成当天,等于告诉搜尋引擎整站同时更新,信号被稀释。
- 用發布時間冒充更新時間。頁面後来补充了段落、改了資料,lastmod 却停在首發那一天。
- 用服務器目前時間。程序在构建时讀取系統時間,内容没變,時間却在随机波動。
- 格式和时区不统一。有的寫 2024/05/01,有的寫日期加時間但不带时区,解析结果容易出偏差。
- 歷史遗留没清。已经下线或改址的 URL 還留在分片站点地图里,而且带着很新的時間。
信号失效之後會發生什么
第一次可能确實會带来額外抓取,但抓回来發現頁面和上次几乎一样,這個地址的 lastmod 可信度就會下降。後面即使你真的更新了正文,也要多等几轮才可能被排上。更直接的影响是抓取配額:把没變的頁面反复标注成“已更新”,等于让真正改過的頁面排在後面。
自查與修正的顺序
- 抽样取 20 到 50 個 URL,把站点地图里的 lastmod 和頁面實际改動時間對照一遍,先找出明顯對不上的類型。
- 统一格式:使用带时区的 ISO 8601 寫法,例如 2024-05-01T09:30:00+08:00,不要混用多種日期格式。
- 检查程序逻辑:模板變更、广告位轮換、訪問計數這些不影响正文的改動,不應该触發 lastmod 更新。
- 對照响應头里的 Last-Modified 和 ETag,如果和站点地图里的時間差距過大,優先相信頁面的實际狀態。
- 列表頁、聚合頁按“列表項發生實质變化”来更新,而不是每次渲染都刷新時間。
- 清理分片站点地图中的废弃 URL,避免舊地址带着新時間繼續占用抓取額度。
怎么填才算合理
核心原則只有一句:lastmod 反映的是頁面正文的實质變化。标题微調、推荐位更換、頁脚年份變化這類改動,可以先不動時間;反過来,正文改寫、價格與库存更新、结构性补充段落,就應该同步更新。宁可少填,也不要為了“看起来勤快”而全站刷新。
提醒:站点地图是發現工具,不是收錄開關。提交之後仍要看抓取日誌和索引狀態,判断 URL 是卡在發現、抓取還是评估环节。
配套观察:抓取频率與索引狀態
修正 lastmod 之後,可以观察服務器日誌里對應目錄的抓取次數有没有變化,再對照索引狀態是“已發現,尚未编入索引”還是“已抓取但未收錄”。前者更接近抓取調度問题,後者更可能和内容质量、重复度有關,两者的處理方式並不相同。
如果修正之後仍然長期没有反應,可以把范围收窄到几個重点栏目,先保證這些 URL 的時間准确,再观察抓取频率和索引狀態的變化,而不是繼續全站刷新時間。