在 Sitemap 里,lastmod 是一個看起来简單、實际很容易寫错的字段。它的作用是告诉搜尋引擎這個 URL 最後一次實质更新的時間。蜘蛛會把它当作一個參考信号,用来判断哪些頁面值得優先复查、哪些可以放一放。
但很多站点並没有認真维護它:有的把 Sitemap 生成時間直接填進去,有的每次發布都全站刷新成当天,還有的格式不規范。這些做法不會让抓取變多,反而可能让蜘蛛對你的時間戳失去信任。
蜘蛛怎么使用 lastmod
当 Sitemap 里的 lastmod 發生變化,蜘蛛會倾向于把對應 URL 重新排進抓取队列。如果多個 URL 同时更新,它也會结合頁面重要性、歷史更新频率和抓取预算来决定先看谁。简單说,lastmod 是复查的触發器之一,不是收錄保證。
如果 lastmod 長期不准确,可能出現两種结果:
- 站点天天刷新 lastmod,蜘蛛反复抓取没有變化的頁面,浪費抓取预算。
- 真正更新的頁面 lastmod 没變,蜘蛛不知道它已经改了,复查被延後。
最常见的几種寫法問题
把生成時間当更新時間
有些 CMS 在生成 Sitemap 时,直接把目前時間寫入所有 URL 的 lastmod。這样每次生成 Sitemap,全站時間都變成“刚刚更新”。蜘蛛第一次可能多抓一些,但几次之後就會降低對這個字段的信任,甚至忽略它。
批量刷成同一天
改模板、調頁脚、換广告位這類全站改動,很多站長會顺手把所有頁面的 lastmod 统一更新。但頁面正文並没有變。對于蜘蛛来说,這就像全站内容都更新了,容易触發不必要的集中抓取。
时区與格式不規范
lastmod 推荐使用 W3C Datetime 格式。只寫日期通常可以接受,但最好带上时区,例如 2025-04-10T08:30:00+08:00。如果只寫本地時間又没有时区,蜘蛛可能按 UTC 理解,产生几個小时的偏差。偏差本身不致命,但如果站点经常批量更新,時間范围會變得混乱。
更稳妥的维護方式
不需要把 lastmod 做到绝對精确,但至少要让它和頁面的真實更新對應起来。可以按下面几條来检查:
- 只记錄内容层面的修改。 标题、正文、關键資料、主要图片變更时才更新;模板、導航、侧栏調整不要動它。
- 尽可能由系統自動维護。 让 CMS 在儲存文章时寫入真實修改時間,而不是在生成 Sitemap 时统一赋值。
- 批量操作要分級。 如果确實需要全站調整,可以只更新受影响的 URL,或者分批次調整,避免同一天全部刷新。
- 保持格式统一。 全站统一用同一種日期格式,带时区,不要一會儿寫日期一會儿寫完整時間。
- 不要為了“催抓”而伪造。 频繁把 lastmod 改成目前時間,短期可能带来抓取,長期會让信号失效。
lastmod 和抓取预算的關系
抓取预算不是固定配額,蜘蛛會根據站点更新情况調整訪問节奏。如果 lastmod 長期可靠,蜘蛛更愿意相信你的更新信号,把有限抓取次數分配给真正變化的 URL。反過来,如果時間戳長期注水,蜘蛛會轉向其他判断依據,比如内鏈變化、歷史抓取效果和頁面本身的质量。
把 lastmod 当成“内容變更日誌”,而不是“抓取催促按钮”,它才會發挥應有的作用。
最後,lastmod 只是 Sitemap 里的一個辅助字段。它不能替代内鏈、站点结构、服務器稳定性和内容质量。把它寫對,可以减少無效抓取;但真正决定 URL 能否被稳定發現的,仍然是站点整体是否让蜘蛛走得顺、抓得值。