Sitemap 的作用是把站内值得被抓取的地址,用一份清单交给搜索引擎。它不是收录的保证书,但清单本身是否准确、是否及时更新,会直接影响搜索引擎发现新页面的效率。很多站点的问题不在于没有 sitemap,而在于这份文件经年累月没人管,指着的全是已经改版、下线或合并过的地址。
一份能用的 sitemap 应该是什么样
- 里面列出的每个地址,访问时都能正常返回内容,而不是跳转或报错;
- 只放你希望被收录的页面,登录后页面、后台入口、站内搜索结果页、筛选参数页不该出现;
- lastmod 反映内容真正改动的时间,而不是每次生成时统一刷成当前时间;
- 能随内容发布自动更新,不需要人工手动导出;
- 在 robots.txt 中写明位置,并提交到对应的搜索平台后台。
逐项自查
一、清单里的地址是否还活着
抽一批地址批量请求一遍,看返回的状态码。返回 404、410 的应从 sitemap 中移除;返回 301、302 的,最好直接换成跳转后的最终地址。长期保留失效地址,等于反复告诉搜索引擎这里没东西。
二、有没有混进不该出现的页面
常见误入的有:登录与注册页、购物车、后台入口、带 session 参数的地址、站内搜索结果页、被 meta noindex 标记的页面。sitemap 与 noindex 同时存在是自相矛盾的信号,而且很容易被忽略。
三、lastmod 是否可信
有些程序每次生成 sitemap 都把时间刷成当天,蜘蛛来过几次发现内容没变,就会逐渐降低对这个字段的信任。宁可留空,也不要写假时间。
四、参数页与重复地址
带 utm、排序、筛选参数的地址,如果内容与主地址基本一致,就不要放进去。真正需要单独列出的筛选组合通常数量有限,且应先确认它们有独立价值。
五、数量与体积限制
单个 sitemap 文件一般不超过 5 万条地址、未压缩不超过 50MB。超过就拆成多个文件,再用 sitemap index 串起来。分片之后记得提交索引文件,而不是提交某一个分片。
六、更新与提交
检查生成任务是否还在跑,是否因为某次改版被停掉。生成之后确认 robots.txt 里的 Sitemap 行指向正确地址,并在搜索平台后台看提交状态和已发现地址数量的变化趋势。
几个容易踩的坑
- robots.txt 里屏蔽了某个目录,sitemap 里却还在列这个目录的地址;
- 网站换域名后,旧域名的 sitemap 仍在更新;
- XML 格式出错,比如特殊字符没有转义、编码不是 UTF-8,导致整份文件读不了;
- 多语言站点没有区分语言版本,或缺少对应的 hreflang 关系。
一个轻量的检查节奏
- 每月抽检一批地址的状态码,处理死链与重定向;
- 每次大改版或调整栏目后,重新核对 sitemap 的覆盖范围;
- 每季度检查生成任务、robots.txt 引用和平台提交状态;
- 把检查结果记在运营笔记里,方便对比变化。
sitemap 不会替你争取收录,它只是把门牌号写清楚。门牌号写得准,来的人才少走冤枉路。
这件事花不了多少时间,但拖久了,代价是搜索引擎对新内容的发现速度变慢,而这个变化往往不会给你明显的提示。