做站点运营,很多人把 XML 站点地图当成一个「提交完就忘」的动作:建站时生成一份,往搜索资源平台一交,之后几年不再看。可站点结构会变、栏目会调整、内容会下线,地图却还停在原地。结果是蜘蛛拿着旧地图走了一堆死路,真正的新页面反而没人带路。
站点地图解决的是「发现」,不是「排名」
先明确它的定位。站点地图的作用是告诉蜘蛛「这些地址存在,可以来看看」,它不保证收录,更不保证排名。所以别指望靠堆几万条 URL 把权重堆上去。它的价值在于减少蜘蛛的摸索成本,尤其是那些内链少、点击深度深,或者刚刚更新过的页面。
常见问题自查清单
1. 地图里混进了不该出现的地址
最常见的是四类:
- 已经返回 404 的旧地址;
- 会 301 或 302 跳走的地址,应该只保留跳转后的最终地址;
- 页面本身已经加了 noindex,却还挂在 sitemap 里;
- 带一堆参数的筛选页、排序页,地址可以无限组合。
这几种情况等于给蜘蛛发假情报:你一边说「这里有好东西」,一边在页面上说「别收录」。信号互相打架,蜘蛛只能按自己的判断走。
2. 只列了一部分栏目
有的站点地图只包含文章,不含栏目页、专题页、聚合页。如果这些页面确实希望被收录,就该进地图;如果不想,就该用 noindex 明确拒绝,而不是让它们既没有入口也没有声明。
3. lastmod 时间不可信
不少 CMS 插件会在每次生成地图时,把所有页面的 lastmod 刷成当前时间。看过几次之后,蜘蛛就会忽略这个字段。lastmod 只有真实反映内容实质性修改时才有参考价值,模板调整、侧栏改动并不算。
4. 分片和索引文件没管好
站点大了要分片,通常一个文件不超过 5 万条 URL 或 50MB。需要注意索引文件里列的每个分片都能正常访问,别出现某个分片 404,或者指向一个已经不存在的目录。老分片长期残留,也是一种噪音。
5. 位置与声明不一致
站点地图应该放在根目录或明确位置,并在 robots.txt 里用 Sitemap 行声明。如果站点换过域名、从 http 升级到 https,地图里的地址也必须跟着换,否则整份地图指向的都是跳转地址。
一次完整的自查流程
- 取一份当前 sitemap,随机抽 30 到 50 条 URL,逐条打开,记录状态码和最终地址。
- 对比地图地址与最终地址,把跳转、404、noindex 的条目整理出来。
- 检查是否覆盖了所有希望被收录的栏目与重要页面。
- 核对 lastmod 是否真实,必要时关掉自动刷新。
- 确认 robots.txt 中的 Sitemap 声明地址正确、可直接访问。
- 确认分片文件齐全,索引文件里没有死链。
维护节奏
不需要每天看,但建议固定一个周期,比如每月一次,或者每次大改版之后跑一遍。内容更新频繁的站点,可以在发布流程里加一步「新页面是否进入地图」;栏目下线、文章删除时,同步确认地图里的条目被移除。
站点地图是一份路线图,不是收藏夹。放进去的每一条地址,都应该是你愿意让访客打开、也愿意让蜘蛛抓取的最终页面。
把它当成和 robots.txt、站内链接同等重要的基础设置,定期维护,比反复提交十次要有用得多。