lastmod 是提示,不是抓取指令
Sitemap 里的 lastmod 用来告诉搜索引擎:这个 URL 大约在什么时间发生了内容变化。它是一个参考信号,不是“改完就立刻来抓”的指令。蜘蛛是否重抓、什么时候抓,还会看 URL 发现路径、内链位置、历史更新频率、服务器响应速度以及当前抓取队列的拥挤程度。
所以,lastmod 填得准有用,但把它当成唯一的催抓手段,通常不会得到预期结果。
lastmod 怎么写才不容易被忽略
格式要能被解析
常见写法是 W3C Datetime,例如 2025-04-01T10:00:00+08:00。只写日期也可以,如 2025-04-01。不要写“昨天”“刚刚”“最新”这类无法解析的文本。
时间要和页面真实更新一致
如果每次生成 Sitemap 都把全站 lastmod 刷成当前时间,这个字段会逐渐失去参考价值。更合理的做法是:只更新真正发生内容变化的页面。模板调整、页脚版权、广告位切换,通常不算内容更新。
不要填未来时间
把 lastmod 写成未来日期,并不会让蜘蛛更早来抓,反而可能让这个信号变得不可信。保持时间真实、可核对,比追求“看起来很新”更重要。
蜘蛛看到 lastmod 之后会做什么
蜘蛛读取 Sitemap 后,可能把其中的 URL 放入待抓队列,但队列顺序由多个因素共同决定。一个刚更新的页面,如果没有任何内链指向它,或者它所在的服务器经常超时,抓取优先级仍然可能很低。
lastmod 影响的是“这个页面可能值得再看一眼”,而不是“立刻放下其他任务先抓这个页面”。
常见误区:把 lastmod 当成催抓开关
- 每次发布内容,就把全站页面的 lastmod 全部刷新。
- 给未改动的页面填上新的时间,试图让蜘蛛多来。
- 只提交 Sitemap,不检查新页面在内链里是否可达。
- 页面打开很慢或经常返回 5xx,却只盯着 lastmod 调整。
这些做法大多会增加噪音,而不会明显改善抓取覆盖。
比 lastmod 更影响抓取路径的几件事
内链可达性
新页面有没有从首页、栏目页或相关文章链过去?链接是普通 a 标签,还是依赖脚本渲染后才出现?如果页面只能从 Sitemap 被发现,蜘蛛到达它的路径会弱很多。
服务器稳定性
首字节时间、错误率、超时次数都会影响蜘蛛的抓取节奏。服务器频繁抖动时,蜘蛛通常会降低抓取频率,这时再新的 lastmod 也很难改变局面。
URL 形态
带跟踪参数、会话 ID、多地址指向同一内容、多次重定向,都会增加抓取消耗,让蜘蛛在有限时间内走得更慢。
一个实用的检查顺序
- 抽查 Sitemap 中的 lastmod 是否和页面真实修改时间一致。
- 确认新 URL 是否在内链中可达,且链接位置不要太深。
- 用服务器日志查看蜘蛛是否来过,返回状态码是什么。
- 检查响应时间、错误率和重定向链长度。
- 如果页面确实更新了但蜘蛛没重抓,先解决可达性和稳定性,不要反复修改 lastmod。
小结
lastmod 填得准是加分项,不是保证。把它当作 URL 发现和重抓判断中的一个普通信号,和内链结构、服务器稳定性、抓取路径一起看,才更接近蜘蛛实际的工作方式。