站点地图(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 跟着发布节奏保持更新;更新很少的站点,不必为了“显得活跃”而频繁改动文件。提交之后通常仍需等待抓取周期,不要指望提交当天就出现在索引里。
怎么验证它有没有起作用
把几边的数据对起来看:
- 服务器日志里,来自搜索引擎的请求有多少是 sitemap 中的 URL?没有被抓取,就不必谈收录。
- 索引状态报告里,sitemap 中的 URL 有多少已收录、多少是“已发现尚未编入索引”?后者往往指向抓取优先级或页面质量问题。
- 把同一批页面分成“放进 sitemap”和“只靠内链”两组,对比被发现的平均时间。
sitemap 是加速器,不是通行证。真正决定收录的,还是页面能不能被抓到、值不值得被索引。
几个常见误区
- 把 sitemap 当提交入口:提交之后就不再维护,里面混着大量 404 和重定向。
- 只放首页和栏目页:最有发现价值的新内容反而没放。
- sitemap 里的 URL 与页面上的 canonical 不一致,自己给自己制造了重复信号。
把这几件事理顺,sitemap 才能稳定地承担“发现”这一环,剩下的交给页面本身。