站点运营

站点运营:Sitemap 自查,别让蜘蛛拿着过期的清单找路

Sitemap 是交给搜索引擎的地址清单,配置完不代表一直正确。本文梳理清单里混入跳转页、错误页、参数页的常见问题,以及 lastmod 失真、分片失效等容易忽略的细节,并给出一份可执行的自查步骤,帮运营者定期对账。

站点运营

站点运营:Sitemap 自查,别让蜘蛛拿着过期的清单找路

Sitemap 本质上是一份交给搜索引擎的地址清单。它不承诺收录,也不承诺排名,但它是蜘蛛发现新 URL、判断哪些地址值得回访的重要参考。麻烦在于,很多站点的 sitemap 配置完就再没人看过:栏目改名了、URL 换了、内容下线了,清单还停在半年前。蜘蛛照着走,要么扑空,要么错过真正的新内容。

三类最常见的 sitemap 问题

1. 清单里混进了不该出现的地址

这是最普遍的一种,常见混入项包括:

  • 已经 301 跳转的旧地址;
  • 返回 404 或 410 的下线页面;
  • 被 robots.txt 屏蔽、或带有 noindex 的页面;
  • 带筛选参数、排序参数、会话 ID 的组合 URL;
  • 分页的第二页、第三页(是否收录取决于你的策略,但至少要想清楚);
  • 测试环境、草稿、预览链接。

这些地址本身不一定带来惩罚,但会稀释清单的有效性——蜘蛛把时间花在跳转和错误页上,留给新内容的份额就少了。判断标准很简单:只把返回 200、可索引、且你希望被收录的规范 URL 写进去。

2. 该出现的新内容反而没进去

动态生成的 sitemap 脚本经常有缓存、白名单或更新时间窗口的问题。自查时可以对照最近发布的内容,看新 URL 多久出现在清单里。如果新栏目上线两周还没进 sitemap,多半是生成逻辑或缓存没跟上。

3. lastmod 随手乱写

lastmod 是清单里少数能被搜索引擎直接采信的字段。如果每次生成都把全部 URL 的 lastmod 刷成当前时间,这个字段很快就失去意义,蜘蛛也不会再参考它。正确做法是让它跟随内容真实修改时间,正文没变就不要改。

一次可执行的自查步骤

  1. 打开线上 sitemap,确认能正常访问、返回 200、Content-Type 正确;
  2. 用 XML 校验工具跑一遍,确认格式合法、编码为 UTF-8;
  3. 抽查 20~30 条 URL,逐条看状态码、canonical 是否指向自身;
  4. 确认清单只包含规范 URL,跳转链和参数页都已排除;
  5. 检查单文件是否超过 50MB 或 5 万条上限,超了就拆分并用 sitemap index 汇总;
  6. 确认 robots.txt 里写明了 sitemap 地址,且没有误屏蔽;
  7. 核对分片清单:每个子 sitemap 都要能被独立访问,index 里不能有失效条目;
  8. 回头看抓取日志,对比清单里的地址与实际被抓取的地址是否一致。

几个容易被忽略的细节

  • priority 和 changefreq 基本可以忽略。主流搜索引擎早已不再参考这两个字段,花时间维护不如把 lastmod 做准。
  • 大站建议用 gzip 压缩。纯文本 XML 压缩后体积能降不少,对带宽和抓取都更友好。
  • 图片、视频、新闻类 sitemap 是独立扩展。如果站内有图片站或资讯栏目,可以单独提交,但前提是资源本身能被直接访问。
  • sitemap 不能替代内链。它只是辅助发现手段,如果页面本身没有任何内部入口,即便进了清单,抓取优先级也不会高。
把 sitemap 当成一份需要定期对账的台账,而不是一次性配置。清单准不准,直接影响蜘蛛把时间花在哪里。

多久看一次比较合适

内容更新频繁的站点,可以跟着发版节奏走,每次上线新栏目或调整 URL 结构时顺手核一遍。更新慢的站点,一个月或一个季度抽查一次也够。关键是把它写进流程,而不是等收录出了问题才想起来翻。