站点地图里的 lastmod 常被当成一根“催收录”的按钮:页面明明没动静,也顺手把时间改成今天,希望搜索引擎多来看两眼。实际情况是,lastmod 只是抓取调度时的一个参考信号,填得准会加分,填得随意则会慢慢失效,后面真正更新了内容反而排不上队。
lastmod 在收录流程里处在什么位置
一个 URL 从被发现到被收录,大致经过发现、排队抓取、解析、进入索引几个环节。lastmod 作用在“排队”这一段:它告诉抓取程序这个地址可能变了,值得优先安排一次抓取。抓取回来之后,是否收录仍取决于页面质量、重复程度和索引策略,lastmod 本身不产生收录结果。
几种常见的错填方式
- 全站统一刷新。每次生成站点地图,把所有 URL 的 lastmod 都写成当天,等于告诉搜索引擎整站同时更新,信号被稀释。
- 用发布时间冒充更新时间。页面后来补充了段落、改了数据,lastmod 却停在首发那一天。
- 用服务器当前时间。程序在构建时读取系统时间,内容没变,时间却在随机波动。
- 格式和时区不统一。有的写 2024/05/01,有的写日期加时间但不带时区,解析结果容易出偏差。
- 历史遗留没清。已经下线或改址的 URL 还留在分片站点地图里,而且带着很新的时间。
信号失效之后会发生什么
第一次可能确实会带来额外抓取,但抓回来发现页面和上次几乎一样,这个地址的 lastmod 可信度就会下降。后面即使你真的更新了正文,也要多等几轮才可能被排上。更直接的影响是抓取配额:把没变的页面反复标注成“已更新”,等于让真正改过的页面排在后面。
自查与修正的顺序
- 抽样取 20 到 50 个 URL,把站点地图里的 lastmod 和页面实际改动时间对照一遍,先找出明显对不上的类型。
- 统一格式:使用带时区的 ISO 8601 写法,例如 2024-05-01T09:30:00+08:00,不要混用多种日期格式。
- 检查程序逻辑:模板变更、广告位轮换、访问计数这些不影响正文的改动,不应该触发 lastmod 更新。
- 对照响应头里的 Last-Modified 和 ETag,如果和站点地图里的时间差距过大,优先相信页面的实际状态。
- 列表页、聚合页按“列表项发生实质变化”来更新,而不是每次渲染都刷新时间。
- 清理分片站点地图中的废弃 URL,避免旧地址带着新时间继续占用抓取额度。
怎么填才算合理
核心原则只有一句:lastmod 反映的是页面正文的实质变化。标题微调、推荐位更换、页脚年份变化这类改动,可以先不动时间;反过来,正文改写、价格与库存更新、结构性补充段落,就应该同步更新。宁可少填,也不要为了“看起来勤快”而全站刷新。
提醒:站点地图是发现工具,不是收录开关。提交之后仍要看抓取日志和索引状态,判断 URL 是卡在发现、抓取还是评估环节。
配套观察:抓取频率与索引状态
修正 lastmod 之后,可以观察服务器日志里对应目录的抓取次数有没有变化,再对照索引状态是“已发现,尚未编入索引”还是“已抓取但未收录”。前者更接近抓取调度问题,后者更可能和内容质量、重复度有关,两者的处理方式并不相同。
如果修正之后仍然长期没有反应,可以把范围收窄到几个重点栏目,先保证这些 URL 的时间准确,再观察抓取频率和索引状态的变化,而不是继续全站刷新时间。