Sitemap 是 URL 發現的重要入口,而 lastmod 是其中最常被讨论、也最容易被誤用的字段。不少站長把它当作催抓取的開關:只要時間戳更新得够勤,搜尋蜘蛛就會来得更频繁。實际執行中,情况要复杂一些。
lastmod 到底在说什么
lastmod 表達的是這個 URL 對應的内容上次發生實质性變化的時間,属于發現與調度环节的參考信息,而不是抓取指令,也不构成任何收錄或排名承诺。搜尋蜘蛛看到較新的 lastmod,可能會把该地址放進待抓取队列里相對靠前的位置,但最终是否抓取、什么时候抓取,還要看服務器响應是否稳定、站点整体抓取节奏、頁面重要程度等因素。
什么时候该更新,什么时候不该動
- 正文内容有增删改,或者價格、库存、联系方式這類關键信息發生變化,應当更新。
- 只改了頁头導航、頁脚版權年份、广告位或推荐位,通常不值得更新。
- 浏览量、点赞數、實时评论這類每次訪問都可能變化的資料,不建议触發 lastmod 變化。
- 頁面上自動生成的“更新時間”文本,如果没有實际内容變化,不要同步寫進 lastmod。
判断标准其實很简單:如果這次改動會让一個已经讀過该頁面的用戶觉得内容不一样了,就更新;如果只是頁面外壳變了,就保持原样。
格式與时区上的常见错誤
lastmod 推荐使用 W3C 日期時間格式,並带上时区,例如 2024-06-01T09:30:00+08:00。只寫日期也可以,但精确到秒更容易被正确比較。
- 不要寫未来的時間。服務器时钟漂移或脚本错誤會产生“明天更新”的记錄,容易被判断為不可信。
- 不要在每次生成 Sitemap 时,把全站 URL 的時間统一刷成目前時間。
- 不要把时区寫乱,同一份 Sitemap 里混用不同时区會影响判断顺序。
- 不要给所有地址填同一個時間,那样等于没有提供任何区分度。
索引文件里的 lastmod 是另一回事
在 Sitemap 索引文件中,lastmod 指的是该分片文件的更新時間,而不是分片内每個 URL 的更新時間。分片内容没變就不要改它,否則只是在制造無意义的變更信号。如果分片按内容類型或栏目拆分,各片更新频率差异明顯,反而更容易判断该動哪一片。
被發現不等于被抓取
Sitemap 负责把地址摆到搜尋蜘蛛面前,lastmod 只是提供了一個“可能值得再看一眼”的提示。真正影响抓取效率的還是站点本身:内鏈能不能到達目标頁、服務器响應是否稳定、頁面是否返回正常狀態碼、有没有大量低质量或重复地址占用队列。如果這些基础條件不佳,再勤快地更新時間戳,作用也有限。
几個可以立刻检查的点
- 抓取一份线上 Sitemap,看有没有未来時間和全站统一時間。
- 抽样几個 URL,確認 lastmod 與頁面上實际内容的更新時間是否一致。
- 检查已刪除、已重定向的地址是否還留在 Sitemap 里。
- 確認 Sitemap 索引文件中的 lastmod 對應的是分片文件本身。
- 翻看服務器日誌,看 Sitemap 中的地址是否真被訪問過,尤其是那些長期不變的栏目。
lastmod 的價值不在于寫得多新,而在于寫得准。一份時間戳可信的 Sitemap,比一份天天刷新的 Sitemap 更有參考價值。