网站收录

站点地图与收录:放什么、不放什么、多久更新一次

站点地图的作用是加快 URL 发现,而不是保证收录。哪些页面该放进 sitemap、哪些只会浪费抓取配额,lastmod 怎么写才有参考价值,分片与更新节奏怎么安排,以及如何用日志和索引数据验证它是否真的起了作用。

网站收录

站点地图与收录:放什么、不放什么、多久更新一次

站点地图(sitemap)常被当成“提交了就等着收录”的工具,实际上它只做一件事:把 URL 主动摆到搜索引擎面前,减少“发现”这一步的延迟。发现之后是否抓取、抓取之后是否进入索引,仍然取决于页面本身的可访问性、内容质量和站点整体的信任度。

它解决的是发现,不是收录

没有 sitemap,搜索引擎也能通过内链、外链和历史记录找到页面,只是新页面可能要等更久。sitemap 的价值在于:让新 URL、更新频繁的 URL、内链层级较深的 URL 更早被发现。它不改变页面的质量判断,也不保证一定进索引。

哪些 URL 该放进去

  • 可以被索引的规范 URL:返回 200、内容完整、没有 noindex。
  • 新发布或近期有实质更新的页面。
  • 靠站内爬行不容易及时发现的深层页面。

不该出现的:

  • 被 robots.txt 屏蔽或带 noindex 的页面。
  • 会跳转的地址(应写跳转后的最终 URL)。
  • 已删除、返回 404 或 410 的旧地址。
  • 筛选参数、排序参数、会话 ID 等生成的重复变体。
  • 登录后页面、购物车、站内搜索结果等没有独立检索价值的页面。

把不该出现的放进去,除了浪费抓取配额,还会拉低 sitemap 的可信度——报告上会显示“提交了不少、收录比例却很低”。

lastmod 要诚实

lastmod 用来告诉搜索引擎这个页面什么时候真正改过。如果每次构建都统一刷成当前时间,这个字段很快会失去参考价值,搜索引擎会倾向于忽略它。比较稳妥的做法是只在正文、标题、价格等实质内容变化时更新;模板改版、导航调整这类不影响页面主体的改动不必改。

分片与数量

URL 数量多的站点用索引文件来拆分:一个索引文件指向多个子 sitemap,单个子文件里的 URL 数量控制在合理范围。按内容类型或目录分片,比随机切分更好排查问题——某一类页面出状况时,对着对应的那个文件看就行。

更新与提交的节奏

内容更新频繁的站点,可以让 sitemap 跟着发布节奏保持更新;更新很少的站点,不必为了“显得活跃”而频繁改动文件。提交之后通常仍需等待抓取周期,不要指望提交当天就出现在索引里。

怎么验证它有没有起作用

把几边的数据对起来看:

  1. 服务器日志里,来自搜索引擎的请求有多少是 sitemap 中的 URL?没有被抓取,就不必谈收录。
  2. 索引状态报告里,sitemap 中的 URL 有多少已收录、多少是“已发现尚未编入索引”?后者往往指向抓取优先级或页面质量问题。
  3. 把同一批页面分成“放进 sitemap”和“只靠内链”两组,对比被发现的平均时间。
sitemap 是加速器,不是通行证。真正决定收录的,还是页面能不能被抓到、值不值得被索引。

几个常见误区

  • 把 sitemap 当提交入口:提交之后就不再维护,里面混着大量 404 和重定向。
  • 只放首页和栏目页:最有发现价值的新内容反而没放。
  • sitemap 里的 URL 与页面上的 canonical 不一致,自己给自己制造了重复信号。

把这几件事理顺,sitemap 才能稳定地承担“发现”这一环,剩下的交给页面本身。