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 刷成当前时间,这个字段很快就失去意义,蜘蛛也不会再参考它。正确做法是让它跟随内容真实修改时间,正文没变就不要改。
一次可执行的自查步骤
- 打开线上 sitemap,确认能正常访问、返回 200、Content-Type 正确;
- 用 XML 校验工具跑一遍,确认格式合法、编码为 UTF-8;
- 抽查 20~30 条 URL,逐条看状态码、canonical 是否指向自身;
- 确认清单只包含规范 URL,跳转链和参数页都已排除;
- 检查单文件是否超过 50MB 或 5 万条上限,超了就拆分并用 sitemap index 汇总;
- 确认 robots.txt 里写明了 sitemap 地址,且没有误屏蔽;
- 核对分片清单:每个子 sitemap 都要能被独立访问,index 里不能有失效条目;
- 回头看抓取日志,对比清单里的地址与实际被抓取的地址是否一致。
几个容易被忽略的细节
- priority 和 changefreq 基本可以忽略。主流搜索引擎早已不再参考这两个字段,花时间维护不如把 lastmod 做准。
- 大站建议用 gzip 压缩。纯文本 XML 压缩后体积能降不少,对带宽和抓取都更友好。
- 图片、视频、新闻类 sitemap 是独立扩展。如果站内有图片站或资讯栏目,可以单独提交,但前提是资源本身能被直接访问。
- sitemap 不能替代内链。它只是辅助发现手段,如果页面本身没有任何内部入口,即便进了清单,抓取优先级也不会高。
把 sitemap 当成一份需要定期对账的台账,而不是一次性配置。清单准不准,直接影响蜘蛛把时间花在哪里。
多久看一次比较合适
内容更新频繁的站点,可以跟着发版节奏走,每次上线新栏目或调整 URL 结构时顺手核一遍。更新慢的站点,一个月或一个季度抽查一次也够。关键是把它写进流程,而不是等收录出了问题才想起来翻。