站点地图(sitemap)本质上是一份交给搜索蜘蛛的“可抓取地址清单”。它不能保证收录,也不能代替内容质量和内链,但它能帮蜘蛛更快发现新页面、更快注意到已有页面的更新。很多站点的问题不是没做 sitemap,而是里面塞了太多不该出现的地址,让这份清单的可信度被稀释。
先明确它能做什么、不能做什么
sitemap 的作用是“指路”,不是“催收录”。蜘蛛拿到清单之后,仍然会按自己的节奏判断哪些页面值得抓、值得留。所以不要指望加大提交量就能换来流量,也不要因为提交了没收录就拿它当唯一指标。把它理解成一份地图:地图画得准,别人找路就快;地图上标了一堆断头路,反而没人敢信。
一份可用的 sitemap,先过这四关
只放“能够被索引”的规范地址
清单里出现的每一条 URL,理想状态下都应该是:返回 200、页面主体内容完整、允许被索引、并且是 canonical 指向的那个版本。带 noindex 的页面、需要登录才能看的页面、纯参数组合出来的筛选页、以及已经做了 301 的旧地址,都不适合放进去。宁可少放,也不要放错。
lastmod 要反映真实修改
如果每次生成 sitemap 都把全部页面的 lastmod 刷成当前时间,蜘蛛很快会发现这个信号不可信,之后即使某页真的更新了,也未必愿意优先回来看。比较稳妥的做法是:lastmod 跟随正文实际改动的时间,样式调整、推荐位轮换这类不影响主体内容的改动,不必频繁变动时间戳。
数量不要一口气全塞进一个文件
单个文件里的 URL 数量过多时,读取和解析都会变慢。可以按栏目或内容类型拆分,再通过一个索引文件汇总,这样也便于定位问题:某个分卷出错了,一眼就能看出是哪个栏目。
在 robots.txt 里写明位置
如果 sitemap 放在非常规路径下,最好在 robots.txt 顶部用一行声明指出它的地址。注意这一行只是提示位置,不要和禁止抓取规则混在一起写,容易造成理解偏差。多个 sitemap 就写多行,保持清晰。
这些常见错误,值得逐个对一遍
- 把 404、410 地址留在清单里长期不清理;
- 同一篇内容同时提交 www 和非 www、带斜杠和不带斜杠的版本;
- 提交了大量只有排序参数差异、内容基本重复的列表页;
- 把草稿、测试环境、预览链接的地址误带进去;
- 清单里出现了 robots.txt 中明确禁止抓取的目录;
- 文件编码或格式不规范,导致解析失败,而自己并不知情。
别只盯着 sitemap 本身
sitemap 是补充,不是主入口。真正决定蜘蛛爬行路径的,还是站内链接结构。可以顺手对比一下:清单里的重点页面,是否都能从首页沿导航点进去;如果一个重要页面只存在于 sitemap 中,站内却没有任何入口,它的抓取表现通常也不会理想。
同时,结合服务器日志看看蜘蛛实际访问了哪些地址。如果日志里频繁出现清单之外的旧地址或参数页,说明还有历史入口没清理干净,这时候修内链、修重定向,比继续往 sitemap 里加东西更有效。
判断一份 sitemap 好坏的标准很简单:清单里的地址,是否都是你希望被看到、并且确实可以正常打开的内容页。
日常维护可以这样做
- 内容发布后,确认新页面已进入对应的分卷,而不是等下一次全量生成;
- 页面下线或改址时,同步从清单中移除旧地址;
- 每月抽查一次清单样本,随机点开十几条,看返回状态和 canonical 是否正常;
- 关注搜索资源平台中关于 sitemap 的处理反馈,有报错就及时修;
- 改版、换域名、调整目录结构之后,重新核对该文件并更新 robots.txt 中的声明。
站点地图的维护成本并不高,难的是保持它和站点现状一致。把它当成站内结构的一份“对账单”,定期核对,比一次性提交几万条地址更有价值。