站点运营

站点运营:站点地图自查,别让 sitemap 变成一份过期的地址簿

站点地图本应是爬虫发现 URL 的辅助清单,但很多站点的 sitemap 生成后长期无人维护,里面混入了 404、重定向、被屏蔽和 noindex 的地址。本文从 XML sitemap 与 HTML sitemap 的区别讲起,梳理 lastmod 写法、分片规则、生成时机和巡检节奏,帮你把这份地址簿维持在可用状态。

站点运营

站点运营:站点地图自查,别让 sitemap 变成一份过期的地址簿

站点地图是站点主动递给搜索引擎的一份地址清单。它的作用是把可抓取的 URL 集中暴露出来,降低爬虫靠链接一层层摸索的成本。也正因为它是清单,一旦生成后长期不管,就会慢慢混进失效地址、重复入口和被屏蔽的目录,从辅助变成噪音。

先分清 XML sitemap 与 HTML sitemap

两者经常被混在一起讨论,但服务的对象并不相同。

  • XML sitemap:给搜索引擎读取,通常是 sitemap.xml 或分片后的多个文件,放在根目录并在 robots.txt 中声明。
  • HTML sitemap:给访客看的页面,列出主要栏目和重要内容,帮助人在站内找到入口,也可以算作内链的一部分。

本文重点说 XML sitemap。HTML sitemap 如果存在,同样需要检查链接是否有效,但它不替代 XML 版本。

sitemap 里不该出现的 URL

一份干净的 sitemap,应当只包含希望被收录、且可正常访问的规范地址。下面几类地址出现得越多,sitemap 的可信度越低。

  • 返回 404、410 的失效页面;
  • 会 301 或 302 跳转的旧地址;
  • 被 robots.txt 屏蔽的目录或文件;
  • 页面本身带 noindex 的地址;
  • 由筛选、排序、会话参数生成的重复入口;
  • 登录页、后台、测试环境、临时活动页;
  • 同一内容的大小写变体或带末尾斜杠的变体。

检查方式并不复杂:把 sitemap 里的 URL 批量跑一遍状态码和 meta robots,按结果分组处理。失效的移出或修复,重定向的替换成落地页,被屏蔽和 noindex 的直接剔除。

lastmod 要反映内容实质变更

lastmod 是 sitemap 里最容易被滥用的字段。为了让爬虫多来几次,有些站点会把全站 URL 的 lastmod 批量刷成当前时间。这种做法短期看似热闹,长期只会让这个字段失去参考价值。

更稳妥的做法是:只有正文、价格、库存、发布时间等实质内容发生变化时才更新 lastmod;改样式、换广告位、调整页脚,不需要动它。如果内容确实做了合并或重写,可以把更新时间作为新版本的时间点。

分片与索引文件

单个 sitemap 文件有容量上限,通常是不超过 5 万条 URL、未压缩体积不超过 50MB。超过之后需要拆成多个分片,再用 sitemap index 串起来。

分片不必按字母平均切,按栏目、按内容类型、按更新时间切更实用。出问题时能快速定位到是哪一类内容混进了脏地址,更新时也可以只重新生成受影响的分片,而不是整站重跑。

生成时机与更新机制

理想状态下,sitemap 跟着内容变化走:新内容发布、旧内容下线、URL 调整、栏目结构变动,都会触发对应分片更新。实现方式可以是发布流程里的钩子,也可以是定时任务兜底。

要避免的是每次访问 sitemap 都实时查询全站数据并生成大文件。这样既拖慢响应,也容易在并发访问时超时。把生成结果缓存成静态文件,是更省事的做法。

提交之后,别只看提交成功

在 robots.txt 中声明 sitemap 地址,并提交到常用的搜索平台,只是第一步。提交成功不代表地址都被抓取,更不代表会被收录。

更值得关注的是:sitemap 中 URL 的状态码分布是否正常,抓取量是否集中在少数几个栏目,有没有分片长期没有被访问。这些可以从搜索平台的站点数据和服务器日志里交叉看出一些线索。

sitemap 是 URL 发现的辅助工具,不是收录保证。它把可抓取的地址整理清楚,剩下的还是要看内容本身和站点整体表现。

一个可执行的巡检节奏

  1. 每周抽样检查:从主要分片里抽几十条 URL,看状态码和 lastmod 是否合理;
  2. 每月全量校验:跑一遍 sitemap 全部 URL,输出 404、重定向、noindex、屏蔽四类清单并逐一处理;
  3. 每次结构调整后复查:栏目合并、URL 改版、旧内容下线时,同步更新或重建 sitemap;
  4. 记录处理结果:把每次剔除和替换的地址记下来,下次巡检可以对比是否反复出现同类问题。

站点地图本身不复杂,难的是让它和站点真实状态保持一致。把它纳入日常运营的检查项,比临时抱佛脚重新生成一份要省力得多。