站点运营

站点运营:Sitemap 自查,别把失效地址和重定向一起提交上去

提交 Sitemap 不是一劳永逸的事。失效地址、重定向、被屏蔽的页面混进名单,会让蜘蛛反复白跑,分散抓取预算。这篇文章从状态码抽样、lastmod 真实性、文件体积与分片、robots 声明一致性四个角度,整理了一份可落地的自查清单,并给出把维护挂进日常发布流程的做法。

站点运营

站点运营:Sitemap 自查,别把失效地址和重定向一起提交上去

做站点运营,Sitemap 常被当成一件“提交完就不用管”的事。可蜘蛛每次来抓 Sitemap,读到的都是你当前给出的名单。名单里混进失效地址、重定向、被屏蔽的页面,蜘蛛就会按这份名单白跑,抓取预算被分散,真正需要更新的页面反而排在后面。

先把 Sitemap 的定位摆正

Sitemap 是辅助发现的工具,不是收录的开关。提交了不等于会被收录,不提交也不等于抓不到。它的价值在于:把那些内链路径较深、新发布、更新频繁的地址,用一份清单直接告诉蜘蛛,减少它自己摸索的成本。

所以判断一份 Sitemap 好不好,看的不是条目多少,而是里面的地址是否都值得抓、是否都抓得到

四类不该出现在名单里的地址

  1. 已失效的地址。返回 404 或 410 的页面已经下线,就该从 Sitemap 移除,留着只会让蜘蛛反复请求失败。
  2. 带跳转的地址。301、302 的旧地址应直接替换成最终地址,省掉一次跳转。
  3. 被规则挡住的页面。robots 屏蔽、带 noindex 的地址,规则上不让抓、不让索引,却写进 Sitemap,属于自相矛盾。
  4. 批量生成的参数地址。筛选、排序、追踪参数产生的变体,往往指向同一份内容,很容易稀释抓取。
一个粗略判断:如果一个地址你不希望用户从搜索结果点进来,通常也不适合放进 Sitemap。

逐项自查清单

1. 状态码抽样核对

从 Sitemap 里随机抽 50 到 100 条地址,用批量请求或站内工具看返回状态。重点看三类:非 200 的、发生跳转的、返回 200 但实际是空页或错误页的。如果抽样里就出现几条问题,说明全量名单大概率也需要清理。

2. lastmod 要真实

lastmod 是给蜘蛛判断“这个页面值不值得再来一次”的信号。如果每次生成都统一刷成当天,等于告诉蜘蛛所有页面天天在变,这个信号就失效了。正确做法是只在正文、标题、关键信息真正改动时更新。

3. 体积与分片

  • 单个 Sitemap 文件建议不超过 5 万条地址、未压缩体积不超过 50MB。
  • 超出就拆成索引文件,按栏目或内容类型分组,便于单独排查。
  • 只保留需要收录的栏目,历史归档、测试目录不必放进来。

4. 提交与声明保持一致

robots.txt 里的 Sitemap 地址要写全,注意协议和域名与站点实际访问入口一致。http 与 https、带 www 与不带 www 混着写,会让蜘蛛读到两份不同的名单。同时在搜索资源平台里确认提交状态,并留意是否有解析报错。

把维护挂到日常流程里

最省事的做法不是定期大扫除,而是让 Sitemap 跟着内容流程走:

  • 发布新页面时,同步加入对应分片;
  • 页面下线或改 URL 时,当天替换或移除;
  • 每月固定做一次状态码抽样,清掉积压的失效地址;
  • 改版、目录迁移后,重新核对一遍名单,而不是沿用旧文件。

坚持几轮之后,Sitemap 会逐渐变成一份“当前有效页面清单”。蜘蛛每次来都拿到干净的信息,抓取效率会比塞满死链时更可控,后续观察抓取日志时也更容易判断问题出在哪里。