在 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 能否被稳定发现的,仍然是站点整体是否让蜘蛛走得顺、抓得值。