XML 站点地图(sitemap)是站方向搜索引擎主动递交 URL 的常规手段,但它本身不是“收录开关”。真正影响效果的是:地图里列出的地址,是否和站上真实、可访问、值得被发现的页面一致。很多站点的 sitemap 由插件自动生成,装好之后就再没人看过,时间一长,地图和站点实际情况脱节,反而给抓取带来干扰。
先搞清楚 sitemap 里现在装了什么
打开浏览器直接访问 sitemap 文件,把地图里的地址和站点实际页面做个对照。常见的脱节有三类。
一、已经删除或改版的页面还留在地图里
- 栏目下线后旧地址仍在地图中,蜘蛛反复来抓只会拿到 404 或 301。
- 活动页、商品页下架了,地图却没有同步刷新。
- 测试目录、临时页面曾经被写进地图,后来一直没清掉。
少量 404 不是大问题,但如果地图里长期存在大量死链,抓取预算就被消耗在这些没有价值的地址上。
二、真正重要的页面反而没进地图
- 手工发布的专题页、独立栏目,插件识别不到,一直没进地图。
- 列表翻页过多,后面几页被地图截断,深层内容缺少入口。
- 移动端或独立域名只列了其中一套,另一套完全缺席。
三、地址格式不统一
同一个页面在地图里以多种形式出现,是很常见的问题:
- http 与 https 混用;
- 带 www 和不带 www 混用;
- URL 末尾斜杠不统一;
- 带跟踪参数(如 utm_source)的地址被写进地图;
- 大小写不一致,而服务器区分大小写时报 404。
这些地址在地图里看起来是不同页面,实际指向同一份内容,等于人为制造重复入口。
一套可执行的自查流程
- 拉全量清单。把 sitemap 里所有 URL 导出成表格,作为基准清单。
- 跑一遍状态码。用工具批量请求,标记出 404、301、500 的地址。
- 比对真实页面。把地图地址与后台已发布内容列表对照,找出“地图有、站上没有”和“站上有、地图没有”两类。
- 统一规范。确定站点唯一主域名和 URL 形式,地图里只保留规范地址。
- 确认可访问性。地图本身要能匿名打开,不要 403,也不要被 robots.txt 挡住。
- 检查 lastmod。修改时间要和页面实际更新时间对得上,不要每次生成都把全部日期刷新一遍。
sitemap 索引与分片的注意点
- 单个 sitemap 文件有 URL 条数和体积上限,超过时要拆分,并用索引文件统一列出。
- 索引文件里引用的子地图地址同样要能正常访问。
- 把地图位置写进 robots.txt 是常见做法,但要确认路径正确、没有拼写错误。
- 提交过的旧地图地址如果有变动,需要同步更新,避免留下失效引用。
提交之后别就当完事
sitemap 只是“告诉”蜘蛛有哪些地址,不保证被抓取,更不保证被收录。提交后值得观察的是:
- 搜索资源平台里已提交与已处理的数量比例,长期偏低说明地图里低质地址偏多。
- 访问日志中蜘蛛对地图内地址的抓取频次,是否只集中在少数几个栏目。
- 新发布页面在日志里首次被抓取的时间,是否明显滞后。
把 sitemap 当成一份需要定期核对的“地址清单”,而不是装完就忘的插件产物。每次栏目调整、批量下线内容之后顺手看一眼地图,比事后清理死链省事得多。
如果站点规模不大,手工维护一份精简地图往往比依赖插件全量生成更干净;规模大时则需要把地图生成逻辑接进发布流程,让页面下线与改版同步反映到地图里。