站点运营

站点地图自查:别让 sitemap 变成一份过期 URL 清单

站点地图常被当成一次性配置,建站时生成之后就再没人过问。本文从 URL 有效性、lastmod 可信度、分片索引文件三个角度,整理一份可落地的 sitemap 自查清单,并说明它与 robots.txt、站内链接、搜索资源平台提交之间的关系,帮站点把这份清单维持在可信、可维护的状态。

站点运营

站点地图自查:别让 sitemap 变成一份过期 URL 清单

sitemap 是给蜘蛛看的目录,不是许愿池

站点地图(sitemap.xml)的作用其实很朴素:把站内希望被发现的 URL 集中列成一份清单,交给搜索引擎自己去挑。它不保证收录,也不该被当成“提交了就会来抓”的许愿池。真正麻烦的是,很多站点的 sitemap 属于建站时生成一次、之后无人过问的文件,时间一长,它和站点实际状态之间的偏差越滚越大。

三类最常见的偏差

一、清单里混进了不该出现的地址

下面这些地址通常不该出现在 sitemap 里:

  • 已经返回 404 或 410 的地址;
  • 会 301、302 跳走的旧地址(应该直接写跳转后的最终地址);
  • 页面本身已设置 noindex 的地址;
  • 带筛选、排序、会话、追踪参数的组合地址;
  • 后台、登录、测试环境等不希望被公开访问的路径。

每多一条无效地址,就多占一点抓取资源,也让这份清单的可信度打一次折扣。蜘蛛反复拿到出错的内容,对它的兴趣只会越来越低。

二、lastmod 被当成“顺手改一下”

lastmod 是给蜘蛛判断“这个页面值不值得再跑一趟”的参考。有些站点为了显得勤快,每次生成 sitemap 都把全站页面的 lastmod 刷成当天。后果是:蜘蛛看到每一次都是“新内容”,要么反复白跑,要么干脆不再信任这个字段,退回按自己的节奏来。

更稳妥的做法是让它对应真实的内容变更时间——正文、结构化数据、价格、库存这类实质性改动才更新;仅仅改动页脚年份、广告位或者无关样式,不必刷新。

三、分片与索引文件长期无人核对

大站通常会拆成 sitemap index 加多个子文件,每个子文件有数量和体积上的常见约束(例如单文件不超过 50000 条、未压缩不超过 50MB)。如果由程序自动拆分,要确认每个子文件都能正常打开、返回正确的内容类型,而不是某个子文件早已 404,索引却还在引用它。索引文件里列出的应当是 sitemap 地址,不要误写成普通页面地址。

一份可以照着做的自查清单

  1. 直接打开 sitemap 地址,确认返回 200、内容类型为 XML,且没有被登录墙或 CDN 规则拦住。
  2. 在 robots.txt 里用一行 Sitemap 声明完整地址,方便蜘蛛找到入口。
  3. 抽查清单首尾与中间若干条 URL,逐个访问,看状态码、是否跳转、是否带 noindex。
  4. 核对 lastmod,确认它跟着真实内容变化,而不是跟着生成脚本走。
  5. 检查是否有孤立页面不在清单里,尤其是新发布不久、站内链接还没铺开的内容。
  6. 确认清单中的地址与页面规范地址完全一致,带不带 www、带不带结尾斜杠保持统一。
  7. 如果用了 sitemap index,逐个子文件点开,确认没有死链与重复。
  8. 把重新生成排进日常流程,内容有增删后就更新,而不是等想起来再说。

sitemap 只是入口之一,别孤立地看它

站点地图解决的是“告诉你有哪些地址”,但真正影响蜘蛛愿不愿意多来的,还是站点本身:内链能不能从首页顺着点到,页面打开速度如何,内容是不是持续在更新。如果清单里躺着几千条 URL,而站内几乎没有任何链接指向它们,这份文件的实际作用会大打折扣。

把 sitemap 当作一份需要维护的清单,而不是一项提交完就算收工的任务。

另外,服务器日志和搜索资源平台里的抓取数据能反过来说明问题:蜘蛛有没有按清单来、哪些目录被跳过了、哪些地址反复报错。把这些观察结果回流到清单维护上,比单纯盯着“一共提交了多少条”更有意义。

小结

sitemap 自查不需要多复杂的工具,重点就三件事:清单里的地址真实可用、lastmod 反映真实改动、分片与索引文件没有失效。定期花十几分钟过一遍,比事后排查“为什么新页面迟迟不来”要省事得多。