网站收录

sitemap 的 lastmod 写不准:更新信号失真后,抓取节奏会怎么变

sitemap 不只是 URL 清单,lastmod 是给抓取调度的一条参考线索。本文说清它影响什么、不影响什么,几种常见的信号失真写法,以及格式、分片、提交和判断效果时的注意事项,帮你把这份文件写得不白填。

网站收录

sitemap 的 lastmod 写不准:更新信号失真后,抓取节奏会怎么变

很多站点把 sitemap 当成一份报备清单,只要 URL 在里面就算尽到义务。实际上它承担两件事:让搜索引擎更快发现新 URL,以及给已知 URL 提供一条重抓的参考线索。而 lastmod 是这条线索里最容易被写坏的部分。

lastmod 影响的是什么

先说清边界:lastmod 不决定收录,也不能让页面进索引。它只是抓取调度时的一个输入项,用来判断这个 URL 值不值得再来看一眼。写对了,页面更新后有机会更快被重新抓取;写错了,顶多是这个信号失效,不会直接把页面踢出索引。

同样常被提到的 changefreq 和 priority,主流搜索引擎早已公开表示基本不参考,不必花时间微调。

几种典型的信号失真

  • 全站统一写当天时间。程序每次生成 sitemap 就把所有 URL 的 lastmod 刷成当前时间。爬虫抓回来发现内容没变,几次之后这个字段就没什么信用了。
  • 发布代码就更新,内容没动也改。批量改模板、调样式都会让时间戳集体前移,看起来像全站改版。
  • 内容真改了却不更新。反向的问题:改动没有反映到 lastmod,页面长期排队等不到重抓。
  • 格式不规范。缺少时区、用本地时间冒充 UTC、写成 2024/05/01 这类非标准格式,解析失败后字段等于没写。

怎么写才算不白填

  1. 只在该 URL 的正文或关键区块真正变化时更新,样式、导航、页脚调整不算。
  2. 使用 W3C Datetime 格式并带上时区,例如 2024-05-01T10:20:30+08:00。
  3. 保持语义上的单调递增:不要为了催爬虫反复把时间往前调,短期可能有波动,长期只会削弱可信度。
  4. 不同页面的更新时间要能和真实的编辑记录对上,方便自己排查。
把 lastmod 当成日志,而不是武器:它是内容变更的如实记录,不是催促抓取的手段。

分片与提交的几个细节

sitemap 单个文件通常不超过 5 万条 URL、50MB(未压缩),超了就拆片,并用索引文件把分片串起来。这里有两个容易忽略的点:

  • 不要每次全量重写所有分片,尽量只更新发生变化的那一片。
  • sitemap 地址在 robots.txt 里声明,同时在搜索资源平台手动提交,两条路径都保留问题不大。

怎么判断有没有用

回看服务器日志里这些 URL 的抓取时间分布,对比更新前后的间隔。如果更新后仍长时间没有重抓,先检查是不是被抓取预算、内链深度、页面质量这些更靠前的因素卡住了——lastmod 只是排在后面的优化项。

另外要避免一种误读:抓取频率上升不等于收录变多。抓取是过程,收录是另一套判断,两者之间隔着页面质量评估。把日志里的抓取曲线当成收录曲线,很容易得出错误结论。

小结

sitemap 的价值一半在“有哪些 URL”,一半在“最近变了什么”。把 lastmod 写准,比在 changefreq 上反复试验更有意义。