站点地图(sitemap)的作用是帮搜索引擎更快发现站内 URL,它不能保证收录,也不该被当成“提交了就万事大吉”的开关。实际运营中,很多抓取浪费恰恰来自一份长期没人打理的 sitemap:里面既有已下线的页面,也有参数拼接出来的低质地址,还有本该 noindex 的页面。蜘蛛按图索骥跑一遍,抓到的却是一堆废链接。
sitemap 常见的“帮倒忙”方式
- 包含大量 404、410 或需要多次跳转才能到达的 URL;
- 把站内搜索结果页、筛选组合页、分页的深层翻页都写进去;
- lastmod 时间全部相同,或者每次生成都刷新成当前时间;
- sitemap 地址写在 robots.txt 里,但文件本身返回 404 或 403;
- 用 sitemap 提交了被 robots.txt 禁止抓取的目录。
自查清单:从文件本身开始
1. 可访问性与格式
先用浏览器无痕模式或带普通 UA 的请求访问 sitemap 地址,确认返回 200、内容类型正确、没有登录或 CDN 拦截。XML 格式要能通过解析,标签闭合、编码统一。如果是 sitemap 索引文件,里面列出的子文件也要逐个能打开。
2. URL 范围是否干净
把 sitemap 里的 URL 和站点实际可访问的页面做一次抽样比对。重点检查:
- 是否包含 404、410 页面;
- 是否包含 301/302 跳转地址,而不是最终地址;
- 是否包含带 noindex 的页面;
- 是否包含 robots.txt 里 Disallow 的路径;
- 是否包含大量重复的参数 URL。
原则很简单:只把你希望被索引、且抓取后能返回正常内容的 URL 放进 sitemap。不该收录的页面,不要靠 sitemap 去“碰运气”。
3. lastmod 要真实
lastmod 是给搜索引擎判断内容新鲜度的参考,不是营销字段。如果全站 lastmod 都是同一秒,或者每次构建都无差别刷新,这个字段会逐渐失去参考价值。更稳妥的做法是:只有正文、标题、关键信息发生实质变化时才更新对应页面的 lastmod;模板调整、样式改动不必改。
4. 分片与体积控制
单个 sitemap 文件有体积和 URL 数量上限。大站应按栏目或内容类型分片,并维护一个索引文件。分片不是越多越好,太碎会增加维护成本,也不利于排查。可以按“文章、产品、分类、标签”这样稳定的维度拆。
5. 与 robots.txt 保持一致
robots.txt 里可以用 Sitemap 指令声明地址,但两者不能互相打架。常见错误是:robots.txt 禁止抓取某目录,sitemap 却大量提交该目录的 URL;或者 sitemap 文件本身被 robots 规则挡住。每次调整 robots.txt 后,顺手检查一遍 sitemap 的提交范围。
6. 提交之后要有人看
提交不是终点。可以在搜索资源平台里观察 sitemap 的读取状态、发现 URL 数、错误提示;同时结合服务器日志,看蜘蛛是否真的按 sitemap 来抓、抓到了哪些状态码。若日志里出现大量 404 或 5xx,说明 sitemap 或站点结构需要回头修。
维护节奏怎么定
不必每天手动改 sitemap,但要有触发更新的机制:
- 内容发布、下线、改版、批量迁移后,重新生成并校验;
- 每月至少抽查一次 sitemap 中的 URL 状态;
- 每次改 robots.txt、目录结构、URL 规则后,同步核对 sitemap;
- 发现抓取异常或索引量骤降时,把 sitemap 列入排查项。
sitemap 的价值不在于“提交了多少”,而在于“提交的是不是值得抓的”。一份干净、稳定、可解析的站点地图,比一份包含全站参数和废链接的巨型文件更有用。
小结
把 sitemap 当成一份需要维护的运营资产,而不是生成一次就丢在那里的文件。定期清理失效 URL、校准 lastmod、保持与 robots 和站点结构一致,能让 URL 发现更顺畅,也减少蜘蛛在废链接上的无效消耗。它不承诺收录和排名,但能少给抓取添麻烦。