站点运营

站点运营:站点地图自查,别让新页面在角落里等蜘蛛

站点地图是 URL 发现的重要补充渠道,但很多站点要么忘了更新,要么把不该出现的地址都塞了进去。本文从可访问性、内容准确性、lastmod 时间、分片索引、robots 声明等角度,给出一份可以直接照着做的站点地图自查清单。

站点运营

站点运营:站点地图自查,别让新页面在角落里等蜘蛛

站点地图(sitemap)不是新鲜东西,但它的实际维护状态往往比想象中糟糕。很多站点上线时配了一份,之后就再没人动过:新栏目没加进去,下线的页面还留在里面,lastmod 时间永远停在某个遥远的日期。结果就是,站点地图从「给蜘蛛指路的地图」退化成一份过期的通讯录。

需要先说清楚一件事:提交站点地图不等于内容会被收录,也不代表排名会变好。它解决的是「URL 被发现」这个前置问题——让搜索引擎知道这些地址存在、大概多久更新一次。至于抓不抓、收不收,仍取决于内容质量和其他信号。

第一步:确认地址本身是能打开的

听起来像废话,但这是最高频的问题。常见故障包括:文件路径写错返回 404、被 CDN 或防火墙拦截返回 403、服务器返回 HTML 错误页而不是 XML、gzip 压缩后 Content-Type 不对。用一个不带登录态的请求去抓一次,看状态码和响应头,比在后台点「提交成功」有用得多。

  • 状态码是否为 200,而不是 301 链到别处或 403、404
  • Content-Type 是否为 XML(application/xml 或 text/xml)
  • 响应体开头是否是 <?xml,不是登录页或验证页
  • 大小是否超过 50MB,条数是否超过 5 万条

第二步:检查里面的 URL 该不该出现

站点地图的准确性比数量重要。下面这些地址塞进去,轻则浪费抓取预算,重则造成信号矛盾:

  • 被 robots.txt 屏蔽的路径:一边说不许抓,一边又提交,属于自相矛盾
  • 带 noindex 的页面:提交一个明确声明「不要收录」的地址,没有意义
  • 301/302 跳转地址:应直接写最终地址,而不是跳转前那个
  • 筛选、排序、分页参数组合:这类 URL 容易无限膨胀,通常只保留主列表页更划算
  • 测试环境、后台、搜索结果页:这些地址不该对外出现
  • 已下线但状态码是 200 的占位页:删除的页面要么 410/404,要么从地图里移除

一个实用的做法是:把站点地图里的 URL 列表与服务器访问日志做对照。日志里长期没有任何抓取记录的地址,值得单独看一眼,通常说明它们要么冗余,要么结构上有问题。

第三步:lastmod 别造假

lastmod 是给蜘蛛判断「值不值得再来一趟」用的。如果每次生成站点地图都无脑刷成当前时间,那这个字段很快就会被忽略;反过来,如果内容明明改过却从不更新,蜘蛛也会低估更新频率。

合理的做法是让它跟着内容真实变更走:正文、标题、结构化信息有实质修改时更新;只是换了模板、调了广告位、修了错别字,可以不动。对于列表页、聚合页,如果每次请求内容都会变(比如按时间排序的首页),要么给一个诚实的更新时间,要么干脆不放这类地址。

判断标准很简单:如果某个页面的 lastmod 每天都在变,但用户看不到任何新内容,那这个字段就是在消耗信任。

第四步:大站要拆索引文件

内容量上来之后,单文件站点地图会撑不住。标准做法是拆成多个子地图,再用一个索引文件(sitemap index)串起来:

  1. 按类型拆分:文章、产品、栏目、图片、视频各一份
  2. 按时间或数量滚动:比如每份最多 1 万条,超出就新建下一份
  3. 索引文件只列子地图地址和各自的 lastmod,不再重复列具体页面
  4. 子地图的路径保持稳定,避免每次生成都换名字导致旧地址 404

如果站点有多个语言或地区版本,多语言站点地图配合 hreflang 标注能省不少事,但前提是语言版本之间的关系本身是清晰、稳定的。

第五步:在 robots.txt 里声明,并定期复核

把站点地图地址写进 robots.txt 是成本最低的声明方式,注意写完整的绝对地址:

  • 一行一条,格式为 Sitemap: https://example.com/sitemap.xml
  • 索引文件与子地图都可以列,但列索引文件更清爽
  • 改过域名或目录结构后,记得同步更新,旧地址会 404

此外,图片、视频、新闻类内容如果想用专门的站点地图,要确认对应内容确实存在且可访问,不要为了「多提交一点」而填一堆空壳地址。

把它变成例行工作

站点地图的价值在于「持续准确」。建议固定在内容发布流程里加两步:新页面上线后是否进入地图;页面下线或改地址后是否同步移除。每季度做一次完整复核,重点看状态码、noindex、重定向三类问题,基本就能守住这份地图的可用性。