很多站点把 Sitemap 当成一张地址清单,只关心 URL 有没有写进去,却忽略了 lastmod 这个字段。它既不是装饰,也不是催蜘蛛的开关:写对了,能帮抓取调度判断哪些地址值得重新走一趟;写错了,可能让同一批页面长期排在队尾。
一、lastmod 在抓取调度里扮演什么角色
搜索引擎并不只根据 lastmod 决定抓不抓,但它是调度环节里少数由站长主动提供的信号之一。当一个 URL 已经被发现、进入待抓队列后,调度器会综合历史抓取频率、页面重要性、服务器响应情况,以及 lastmod 与上次抓取时间的差值来判断优先级。差值稳定且合理,信号才有参考价值。
关键在于变化量。如果某页三个月没动,lastmod 却天天更新,这个字段很快会被降权甚至忽略;反过来,真正更新了内容却从不改时间戳,页面容易被当成静态页,重访间隔越拉越长。
二、四种常见的写坏方式
- 全量刷新:每次部署都把所有 URL 的 lastmod 改成当天。看起来勤快,实际上等于告诉调度器整站每天全变,信号被稀释。
- 格式不规范:写成本地时间、缺时区、用中文日期或秒级以下的精度,解析失败后字段等于不存在。
- 把发布日当更新日:页面只改了个错别字也重写时间戳,时间一长和全量刷新是一个效果。
- 与实际内容脱节:模板调整、广告位替换、评论区新增都触发时间戳更新,而页面主体其实没变。
三、写得靠谱的几个原则
一是把 lastmod 绑定到正文的实质变化上,比如价格、参数、结论、配图这类用户能感知的改动。二是统一使用带时区的 ISO 8601 格式,例如 2024-06-01T09:30:00+08:00,避免解析歧义。三是只列真正常用的地址,不要把筛选参数、会话 ID 这类地址也塞进去,否则时间戳再准也没有意义。
对批量生成的页面,可以按内容来源判断:数据源更新了就改,没更新就别动。对列表页和聚合页,可以在新增条目时更新,而不是按固定周期无脑刷新。
四、怎么确认它有没有起作用
最直接的办法还是看服务器日志。挑一批刚更新过内容的 URL,观察它们在更新时间点之后的重访间隔,再和一批改了时间戳但内容没动的页面做对比。如果前者明显更快被重访,说明信号在生效;如果两者没有区别,就要回头检查格式、时区,以及页面是不是真的发生了变化。
也可以把 Sitemap 里的 lastmod 与页面上的可见更新时间做抽样核对。两者长期对不上,通常意味着生成逻辑有问题,而不是搜索引擎不理会。
五、别把它当成催抓工具
Sitemap 提交和 lastmod 更新都只是告知,不保证抓取时间,更不影响收录结果。真正决定页面能不能被持续发现的,还是内容本身的价值、内链是否通畅、服务器是否稳定。lastmod 的作用,是让调度器在有限额度里少做无用功,把机会留给真正变过的地址。
把时间戳写准,是低成本的礼貌;把它当成开关,则是高成本的误会。