站点运营

站点运营:Sitemap 自查,别让站点地图里的地址和实际页面对不上

站点地图是蜘蛛发现 URL 的重要入口,但长期不维护的 sitemap 可能混入已删除页面、重定向地址和参数链接。本文从可访问性、lastmod、分块、提交监控几个方面,整理一份站点地图自查清单,帮助你把地址清单和实际站点对齐。

站点运营

站点运营:Sitemap 自查,别让站点地图里的地址和实际页面对不上

站点地图(sitemap)的作用很直接:把站点里希望被蜘蛛发现的地址,集中整理成一份清单。但很多站点的 sitemap 是建站时生成的,之后很少回头看,结果清单里混着已删除的页面、重定向地址、参数筛选链接,甚至整批测试环境的地址。蜘蛛按图索骥,抓到的却是一堆无效内容,抓取预算就这样被消耗掉。

站点地图不是提交了就有效,也不承诺收录。它更像一份给搜索引擎的参考路线,路线本身要准确,后续的抓取才有意义。下面这份自查清单,可以按周或按月跑一遍。

先确认清单里都是可访问的正式地址

打开 sitemap 文件,随机抽一批 URL,或者写脚本批量请求,看返回状态。合格的 sitemap 地址应该满足:

  • 返回 200 状态,不是 301、302、404、410 或 5xx;
  • 页面上的 canonical 指向自己,或者至少与 sitemap 里的地址一致;
  • 没有被 robots.txt 的 Disallow 规则挡住;
  • 不是登录后、购物车、后台、测试域名等非公开页面。

如果 sitemap 里出现重定向地址,蜘蛛每次都要多跳一次,时间久了可能降低对该文件的信任。参数筛选页、排序页、会话 ID 链接更要清理,它们通常不是独立内容,放进去只会制造重复。

已下线页面要同步移除

内容下线或合并后,sitemap 往往还留着旧地址。蜘蛛反复抓到 404,并不会帮你恢复收录,反而可能让抓取频率下降。处理方式有两种:如果页面只是换地址,用 301 指向新地址,sitemap 里换成新地址;如果内容彻底删除,直接从 sitemap 移除,同时让旧地址返回 404 或 410。不要一边删页面,一边把旧地址继续挂在站点地图里。

lastmod 时间要真实

lastmod 是告诉蜘蛛页面最后修改时间的字段。有些系统每次生成 sitemap 都把所有页面的 lastmod 刷新成当天,这样看起来勤奋,实际会让蜘蛛逐渐忽略这个字段。建议只在正文、模板或结构化数据发生实质变化时更新 lastmod。如果是批量改版,可以按栏目分批调整,而不是全站统一刷时间。

分块与索引文件要合理

大站不要把所有 URL 塞进一个文件。单个 sitemap 文件建议不超过 50000 条地址、50MB 大小。超过后应拆分成多个子 sitemap,再用 sitemap index 索引文件串起来。拆分维度可以按栏目、内容类型或更新频率,例如文章、商品、专题页分开。这样既方便排查哪一块出问题,也便于单独提交和观察。

提交之后要看数据,不要只提交

把 sitemap 提交到搜索资源平台后,定期查看已发现、已抓取、被排除的数量变化。如果发现提交了很多地址,但抓取量长期不动,要回头检查:服务器是否稳定、页面是否返回正常、内容是否重复、内链是否太少。提交 sitemap 只是辅助发现,不能替代网站本身的可抓取性和内容质量。

一份快速自查清单

  1. sitemap 里的地址是否全部返回 200?
  2. 是否有 301、302、404、410 混入?
  3. 是否包含参数链接、会话 ID、排序筛选页?
  4. canonical 与 sitemap 地址是否一致?
  5. 已下线页面是否已移除?
  6. lastmod 是否反映真实修改时间?
  7. 文件大小和条数是否超出限制?
  8. 是否在搜索资源平台提交并观察数据?
  9. robots.txt 是否允许抓取 sitemap 文件本身?
站点地图的价值不在于文件里写了多少 URL,而在于这些 URL 是否真实、可访问、与站点当前状态一致。把 sitemap 当成一份需要定期维护的运营资产,而不是一次性的建站产物。