站点运营

站点运营:站点地图维护自查,只放可索引的正式页面

站点地图是给搜索引擎的推荐清单,不是全站数据库导出。定期自查可以确认里面只放可索引的正式页面、lastmod 真实、地址规范、分片合理,并把它和 robots.txt、蜘蛛日志对照起来看,避免清单越写越长却没人愿意抓。

站点运营

站点运营:站点地图维护自查,只放可索引的正式页面

站点地图(sitemap)的定位,是站点主动交给搜索引擎的一份推荐清单:这些地址我认为值得抓。但很多站点的 sitemap 其实是程序按数据库全量导出的,于是 404 页、跳转地址、noindex 页面、参数组合页全被塞了进去。清单越长,越没人愿意认真看。花半小时自查一遍,比反复提交更有效。

一、先确定进 sitemap 的门槛

把 sitemap 当成“精选清单”而不是“全站备份”,进门条件大致有几条:

  • 页面返回 200,不是 301、302,也不是软 404;
  • 页面自身允许被索引,没有挂 noindex
  • 它是规范版本,canonical 指向自己而不是别的地址;
  • 内容有实际价值,不是空壳列表页、纯筛选结果页或测试页;
  • 在站内有正常入口,不是只能靠 sitemap 才能被发现的孤岛页面。
如果一条地址你并不希望用户从搜索结果点进来,那它大概率也不该出现在 sitemap 里。

二、lastmod 别当成生成时间

有些程序每次跑 sitemap 生成脚本,就把所有页面的 lastmod 刷新成当前时间。短期看没什么问题,长期看这个字段会失去参考价值——蜘蛛发现全站天天“大改”却看不到内容变化,之后就不再参考它了。

更稳妥的做法是:只有正文、标题、价格、库存这类实质内容变动时才更新 lastmod,模板调整、样式改版不算。如果程序拿不到真实的修改时间,宁可不写这个字段,也不要写一个假的。

三、地址与格式上的细节

  • 用绝对地址,带上协议和域名,不要只写相对路径;
  • 不要带会话 ID、跟踪参数、临时排序参数;
  • XML 中的特殊字符要正确转义,比如 & 要写成 &;
  • 单文件控制在 5 万条、50MB 以内,超出就拆分;
  • 整份文件统一 UTF-8 编码,避免出现乱码地址。

四、分片与索引文件

内容量大的站点,建议按栏目或按内容类型分片,比如文章、商品、专题各一个文件。再用一个 sitemap index 指向这些子文件。索引文件里只列子 sitemap 的地址,不要再混进具体页面,否则层级会变得混乱,排查问题时也不好看。

五、和 robots.txt 对齐

在 robots.txt 里写明 sitemap 的地址,方便被找到,这是常规做法。但要注意两边别打架:robots.txt 里被 disallow 的目录,就不要同时出现在 sitemap 里。规则互相矛盾时,蜘蛛只会更谨慎,可能连带着降低对整个清单的信任。

六、提交之后,去看日志

生成了、提交了,并不代表事情结束。接下来要回到日志里验证:

  1. sitemap 文件本身有没有被请求,返回的是 200 还是 404、403;
  2. 清单里的页面,实际被抓取的比例大概是多少;
  3. 哪些页面长期没有被访问,是层级太深、入口太少,还是内容本身没吸引力;
  4. 把每次调整前后的数据记下来,方便判断改动是否有用。

这些观察不需要天天做,按内容上线节奏、每月或每次大批量改版后跑一次就够。

七、别指望它解决所有问题

sitemap 只是发现通道的补充。页面能不能被收录、被怎样收录,最终还是取决于内容质量、站内结构、服务器稳定性这些基础项。把它当成“提交就收录”的工具,往往会失望。

比较务实的做法是:把 sitemap 检查放进常规维护清单,内容批量上线、栏目调整、大批量下架之后各跑一遍,确认清单里剩下的都是还活着、还该被看到的正式页面。