站点运营

站点运营:站点地图自查,别让 sitemap 变成过期地址清单

站点地图本意是帮蜘蛛发现 URL,但很多站点长期不维护,里面混着 404 地址、noindex 页面和不可信的 lastmod,反而制造无效抓取。本文列出 sitemap 的常见问题,并给出一套可执行的自查流程:入口确认、抽样验证、状态码核对、分片检查与更新节奏建议。

站点运营

站点运营:站点地图自查,别让 sitemap 变成过期地址清单

站点地图(sitemap)是很多站点最容易“设好就不管”的文件。上线时提交一次,之后栏目调整、URL 重写、内容大批下线,sitemap 却还是老样子,最后它不但没帮忙发现新页面,反而把一批已经失效的地址递给了蜘蛛。这篇聊的就是怎么定期给 sitemap 做一次自查。

先说清楚 sitemap 能做什么、不能做什么

sitemap 的主要价值是辅助 URL 发现:当站内链接不够密、新页面藏在深层目录、或者内容更新频繁时,它相当于给蜘蛛递一张清单。但它不是收录开关,提交了不代表会被抓取,更不代表会有排名。把它当成“给蜘蛛的路线提示”,而不是“提交入口”,心态会稳很多。

常见的几类 sitemap 问题

  • 混入失效地址:文章已删除或改过 URL,旧地址还留在文件里,蜘蛛按清单访问,拿到的是 404 或一串重定向。
  • 包含不该抓的页面:登录页、站内搜索结果页、带参数的筛选页、测试目录,这些页面要么被 robots 屏蔽,要么设了 noindex,却仍然出现在 sitemap 里,属于自相矛盾。
  • lastmod 不可信:要么全站同一个时间戳,要么每次生成都刷新成当前时间。看似“勤更新”,实际会让这个字段失去参考价值。
  • 结构不合规:单文件超过 5 万条或 50MB 未分片、XML 格式报错、编码不是 UTF-8、分片索引没同步更新。
  • 更新滞后:新文章发布后几天才进 sitemap,或者干脆靠手动改,运营一忙就忘了。
  • 覆盖面偏窄:只放栏目首页和几个重点页,正文页全靠站内链接爬,等于没发挥 sitemap 的作用。

一份可执行的自查流程

  1. 先确认入口:robots.txt 里是否写了 Sitemap 地址,域名是否与正式站一致,别写成测试域名或 http 版本。
  2. 抽样验证:从 sitemap 里随机取 20 到 30 条,逐条访问,看返回的是 200 还是 301、404、403。
  3. 核对状态码与 noindex:sitemap 里的地址理想状态是直接返回 200;如果某条地址需要跳转才能到正式页,就应该把最终地址写进 sitemap。
  4. 检查 lastmod 逻辑:确认它反映的是内容实质变更时间,而不是生成时间。全站条目同一秒更新,基本可以判断有问题。
  5. 检查分片与索引:条目多的站点,确认索引文件里列出的每个子文件都能正常打开,没有指向已删除的旧分片。
  6. 确认生成方式:手动维护适合小站,但更新频率超过每周几次,就该考虑程序自动生成,并把更新动作挂进发布流程。

多久看一次,看什么

节奏不用太密。内容更新频繁的站点,可以每月抽查一次;改版、换域名、大批量下线内容之后必须立刻复查。抽查时优先看三类条目:最近发布的新页面、最近改过 URL 的页面,以及半年以上没动过的老页面。

如果 sitemap 里的地址和站点实际状态对不上,它带来的不是更多抓取,而是更多无效请求。宁可条数少一点、状态准一点。

顺手可以做的几件事

  • 把 sitemap 生成脚本的输出条目数与后台已发布内容数做对比,差距过大说明有遗漏。
  • 已下线的旧地址保留一段时间的 301,确认流量转移稳定后再从 sitemap 中移除。
  • 多语言或多子站点的项目,分别生成各自的 sitemap,不要混在一个文件里。
  • 在抓取日志里观察蜘蛛对 sitemap 地址的访问结果,看是否有成片的 404 或 5xx。

sitemap 自查不需要多高的技术门槛,关键是把它纳入日常的运营检查表,而不是等出了问题才想起来翻一眼。