站点地图(sitemap)是给搜索引擎看的一份地址清单。它本身不会让页面被收录,但会直接影响蜘蛛第一次发现 URL 的路径是否顺畅。很多站点的问题不在于有没有 sitemap,而在于里面塞了什么、里面登记的地址现在是不是还活着。
为什么 sitemap 需要定期自查
sitemap 通常由程序或插件自动生成,一旦模板规则或配置有偏差,错误就会随着每一次生成被复制一遍。生成完没人看,几个月后文件里可能已经混进了大量已下线页面、带参数的过滤页,甚至测试地址。蜘蛛照着这份清单来,抓到的是一串失效 URL,既浪费抓取资源,也会影响它对站点整体状态的判断。
自查清单
1. 清单里的地址是否还能正常打开
抽取其中一部分(比如按更新时间排序的前 200 条,以及最早的一批)逐个访问,重点看返回状态码:
- 返回 404 / 410:应从 sitemap 中移除,或先确定是否需要做跳转;
- 返回 301 / 302:确认跳转目标与 sitemap 中登记的地址是否一致,尽量不要把跳转链放进清单;
- 返回 200 但内容是空页、占位页:这类地址对访客没有价值,建议一并清理。
2. 是否混入了不该出现的地址
常见不该出现在 sitemap 里的类型包括:站内搜索结果页、带跟踪参数的 URL、分页列表第 3 页之后的地址、登录与后台路径、尚未定稿的预览地址。这些地址一旦被大量抓取,会让蜘蛛把精力花在重复内容上。可以先确认它们在 robots.txt 或页面 meta 中是否已做限制,再检查 sitemap 的生成规则有没有把它们排除掉。
3. 数量与更新字段是否真实
- 清单总条数与后台实际发布量是否大致对得上,明显偏多或偏少都值得查生成逻辑;
- lastmod 字段是否在页面更新后同步变化,如果所有地址的时间戳都是同一分钟,说明它只是批量生成的假值;
- changefreq、priority 这类字段目前被主流搜索引擎参考得较少,不必花太多精力微调,保持合理即可。
4. 文件本身是否可访问
在浏览器和命令行里都打开一遍 sitemap 地址,确认以下几点:
- 直接返回 200,不是跳转,也不需要登录;
- 内容是 XML,编码声明正确,中文标题不出现乱码;
- 单个文件不超过 5 万条 URL、未压缩体积控制在 50MB 以内,超出时拆分并用索引文件汇总;
- 已被 robots.txt 中的 Sitemap 指令正确引用,多子站或多语言站点分别列出。
5. 与实际 URL 结构是否一致
改版、换域名、调整目录结构之后,sitemap 往往是最容易被遗漏的一环。检查协议(http / https)、是否带 www、结尾是否带斜杠,是否与线上地址完全一致,一个小差异就可能让整份清单失效。如果站点同时提供独立的移动版地址,也要确认对应关系是否写对。
建议的检查节奏
不必每天盯着,可以按下面的方式安排:
- 每周:抽查新发布内容的地址是否出现在 sitemap 中;
- 每月:随机抽取 50 到 100 条地址做状态码检查,清理失效项;
- 每次改版或调整栏目结构后:重新生成,并人工核对开头与结尾各一批地址。
把每次检查的时间、抽样数量、发现的问题和修改动作记在一张表里。等到某天抓取数据出现异常时,这张表比临时翻日志要管用得多。
sitemap 只是 URL 发现的一个入口,做好它不能保证收录,但一份干净、准确、可访问的地址清单,至少不会把蜘蛛引到死胡同里,也能为后续的内链梳理和日志分析留出判断空间。