网站收录

lastmod 与真实更新时间对不上:重抓和收录状态该怎么排查

站点地图里的 lastmod 常被随手写成当前时间,或者长期不更新。它不决定收录,却会影响搜索引擎判断某个 URL 值不值得重新来看一眼。本文梳理三种时间信号的一致性核对方法,以及哪些内容改动才值得把时间往前推。

网站收录

lastmod 与真实更新时间对不上:重抓和收录状态该怎么排查

lastmod 到底被当成什么信号

搜索引擎判断一个 URL 要不要重新抓取时,会参考多种线索:站点地图里的 lastmod、HTTP 响应头里的 Last-Modified、页面上可见的发布时间或更新时间,以及内链附近内容的变化。这些线索不会单独决定结果,但如果彼此矛盾,或者长期和实际内容对不上,重抓的优先级判断就容易偏离你的预期。

它不是“通知引擎来抓我”的按钮

lastmod 的本意只有一件事:这个 URL 的内容最后一次发生变化的时间。写得过于频繁,等于在说页面天天在变;写得过于陈旧,可能让真正更新过的页面长时间排在队列后面。两种情况都会让这个字段逐渐失去参考价值。

几种常见的对不上

  • 全站 lastmod 用脚本统一刷成当前时间,无论内容有没有变
  • 复制模板时忘了改,大量页面指向同一个历史日期
  • 正文改了,时间没动;或者内容没动,时间天天变
  • 站点地图的 lastmod、HTTP 头里的 Last-Modified、页面上可见的更新日期,三者差出几个月

按顺序核对一遍

  1. 先取一份站点地图,随机抽 20 到 30 个 URL,把三个时间并列:站点地图 lastmod、HTTP 头的 Last-Modified、页面可见的更新日期。
  2. 再看实际内容有没有变,对比抓取快照或版本记录,判断这个时间是否站得住。
  3. 把它们分成三类:时间可信且对应真实改动、时间可信但内容没变、时间不可信。
  4. 对第三类,先修生成逻辑,而不是手动逐个改。查清楚是模板输出写死、CMS 字段没更新,还是发布流程漏了一步。
  5. 修好之后观察一段时间,看这些 URL 的重抓是否回到正常节奏。观察周期以周为单位,不要指望立刻见效。

哪些改动才值得把时间往前推

错别字修正、图片替换、广告位调整是否算更新,取决于它对页面主体内容的影响。通常只有正文主体、结构化数据里的关键字段、或主要结论发生变化时,才值得更新时间。把每次细微改动都记成新版本,反而会让这个字段变廉价。

更可信的做法是让几个信号保持一致

内容改动时,同时更新页面可见时间与站点地图 lastmod,并让服务端正确返回 Last-Modified。对长期不变的页面,比如关于我们、联系方式、服务条款,保持稳定的旧时间反而更诚实。

老页面比新页面更容易出问题

新 URL 首次发布,时间就是发布时间,一般不会错。麻烦的是老页面:批量迁移、模板改版、URL 不变但结构大改时,时间该按什么口径标,需要有个内部约定,否则每个编辑各写各的,站点地图最后就成了一份没法读的清单。

时间字段不决定是否收录,它影响的是引擎对“这个 URL 值不值得重新来看一眼”的判断。把它当作需要维护的元数据,而不是随手糊弄的字段。

顺带值得一起看的几项

  • 站点地图里的 URL 是否都能正常访问,返回 200 且不是空壳页面
  • 被 noindex 或 robots.txt 屏蔽的地址,是否还留在站点地图里
  • 分页、筛选参数这类会大量生成 URL 的页面,是不是被一股脑塞了进去
  • 单次提交的 URL 数量是否平稳增长,而不是一次性堆上几十万条

把这些理顺之后,再回头看收录情况会清楚很多。时间字段只是一个入口,真正要解决的问题通常是:站点对自己内容的变更,有没有一份准确的记录。