网站收录

站点地图的 lastmod 和分片:写得不准会带来哪些麻烦

站点地图里的 lastmod 写得准不准、分片切得合不合理,会影响搜索引擎是否愿意认真读这份清单。本文梳理常见的 lastmod 写法问题、分片与索引文件的硬规则、更新频率的把握方式,并给出一份可执行的检查清单,帮你把站点地图从形式化的提交变成真正有用的发现入口。

网站收录

站点地图的 lastmod 和分片:写得不准会带来哪些麻烦

站点地图(sitemap)是给搜索引擎看的一份 URL 清单,它的作用是帮助发现,而不是保证收录。很多人把 sitemap 当成“提交了就会收录”的入口,于是在 lastmod 和分片上随手应付,结果反而让这份清单变得不可信。这篇讲的是 lastmod 怎么写、分片怎么切、更新频率怎么把握,以及写不准时会带来哪些实际麻烦。

lastmod 影响的是“要不要再来一次”

lastmod 表示这个 URL 上次实质性变动的时间。搜索引擎不会因为你在 lastmod 里写了今天,就立刻收录这个页面;它更可能影响的是:当它决定要不要把这份 sitemap 里的 URL 重新排进抓取队列时,给这个 URL 一个参考。如果 lastmod 长期不准,这个字段就会被当成噪声,后面的参考价值随之下降。

几种常见的 lastmod 写法问题

  • 每次部署全量刷新。只要发一次版,所有 URL 的 lastmod 都变成当天,等于告诉搜索引擎“全站每天都在变”,实际上主体内容什么都没变。
  • 写了未来时间。时区没处理好,或者提前写入计划上线时间,会出现未来日期。这类值通常会被忽略,也可能让人怀疑整份文件的可信度。
  • 格式不统一。同一份文件里混用日期与日期时间,或者不带时区偏移。建议统一成带时区的 ISO 8601 格式。
  • 只精确到天。一天内多次改动的页面无法区分先后,lastmod 的意义被压扁。
  • 与页面实际内容不符。模板调整、广告位变动、页面插入随机推荐模块,都被当成内容更新。判断标准应该是“用户看到的主体内容是否变了”。

分片与索引文件的几条硬规则

单个 sitemap 文件有明确上限:不超过 5 万条 URL,并且解压前不超过 50MB。超过就要拆成多个文件,再用一个 sitemap 索引文件把它们列出来。切分时注意几点:

  • 分片按内容类型或目录来切,而不是随机切。文章、栏目、商品各自成片,出问题时更容易定位。
  • 索引文件里只放分片地址,不要把具体 URL 混进来。
  • 分片数量变化后及时更新索引文件,废弃的分片地址要返回 404,不要留着旧文件继续被访问。
  • 不要为了“显得内容多”而把不该收录的 URL(站内搜索结果页、带参数页、无内容页)塞进去。

更新频率:不是越勤越好

搜索引擎抓 sitemap 的频率,取决于它对你站点的整体判断。大站可能一天多次,小站可能几天一次,而且这只影响它读清单的时间,不代表同一时间也会抓页面。比较稳妥的做法是:

  1. sitemap 只在有实质新增或修改时更新,不要让程序每次请求都重新生成并写入新时间戳。
  2. 新增页面可以单独出一个分片,便于观察新内容被发现的节奏。
  3. 更新 sitemap 后,回到日志里看它被访问的时间和频率,而不是凭感觉推测。
  4. 如果站点结构变化大,宁可重新整理一份,也不要在旧文件上反复打补丁。

一份可执行的检查清单

  1. 抽查 10 到 20 个 URL,把 sitemap 里的 lastmod 与页面实际改动时间对照。
  2. 确认没有未来时间,也没有成批被刷成同一时间戳的痕迹。
  3. 确认每个分片都在上限以内,索引文件能被正常解析。
  4. 确认清单里没有 robots.txt 屏蔽的地址、没有 noindex 页面、没有大量重定向地址。
  5. 对照后台的 sitemap 报告,重点看“已提交”与“已编入索引”之间的差距类型,而不是只盯数字。
站点地图解决的是“让搜索引擎知道有哪些 URL”,收录与否仍然取决于页面本身的质量、可访问性以及站点的整体抓取情况。把 lastmod 写准、把分片切清,是让这份清单被认真对待的前提,而不是收录的开关。

如果一段时间后发现 sitemap 里的 URL 被读取次数明显下降,先别急着重复提交,检查 lastmod 是否长期不准、是否有大量返回异常的地址混在里面。清单的可信度是慢慢积累的,也可能被一次全量刷新消耗掉。