搜索抓取

HTML 站点地图页:给搜索蜘蛛铺一条人工可读的发现路径

HTML 站点地图页常被当成 XML Sitemap 的重复品,其实它承担的是抓取路径的角色。本文说明它与主导航、XML 清单之间的分工,如何按栏目分组、压平链接层级、按栏目拆分子页,以及上线后怎样用抓取日志核对它是否真的成为一条有效入口。

搜索抓取

HTML 站点地图页:给搜索蜘蛛铺一条人工可读的发现路径

HTML 站点地图页解决的是什么问题

XML Sitemap 是给程序读的清单,它负责告诉搜索引擎“存在哪些 URL”。但清单本身不构成抓取路径:蜘蛛拿到一批地址后,仍要判断先抓哪些、从哪个入口进、页面之间怎么连通。当栏目层级较深、主导航只覆盖头部内容、列表页翻页又有限时,深处的内容往往只靠 XML 清单被发现,抓取优先级被排在很后面。

HTML 站点地图页(也有人叫站点地图页面、全站导航页)用一个人可读的页面,把这些地址集中起来,并用普通的 a 标签链接串成一条路径。它的作用不是“提交”,而是“铺路”:给蜘蛛一个稳定入口,让它从首页几步之内走到大量页面。

它属于内链结构的一部分,不是 XML Sitemap 的替代品。两者解决的是不同环节:一个负责存在性,一个负责可达性。

和 XML Sitemap、主导航的分工

  • XML Sitemap:全量清单,适合机器批量读取,但要靠站点地图索引分片管理,更新频繁的大站尤其如此。
  • 主导航:服务于用户,通常只放最重要的几个栏目,改动成本高,不适合频繁调整。
  • HTML 站点地图页:介于两者之间,可以在不改动导航的前提下,把某一批地址集中暴露出来,适合专题页、历史归档、工具页、分站栏目这类“数量多但不一定马上进导航”的内容。

页面怎么组织

按栏目分组,锚文本写清用途

用 h2、h3 把链接按栏目或主题分组,每组控制在几十条以内。锚文本写清楚页面讲什么,避免整页都是“点击查看”“详情”这类重复文字——它对用户没用,对蜘蛛判断页面主题也没有帮助。

链接层级尽量压平

站点地图页本身最好离首页两步以内,也就是首页 → 站点地图页 → 目标页。如果它自己就藏在页脚第三层,效果会打折扣。目标地址尽量做到页面上一次点击可达,不要把链接再嵌套进多层小标题里。

控制单页链接数量

链接数量没有硬性上限,但要考虑渲染体积和浏览体验。条目太多时可以拆分:例如 /sitemap/ 作为总入口,下面按栏目拆成 /sitemap/tech/、/sitemap/tools/,各自保留返回总入口的链接,形成简单的树形结构。分页之间用 rel="next"、rel="prev" 或明确的上一页、下一页链接连通,避免某一页成为孤岛。

常见的几个坑

  1. 只堆链接不做分类:上千条链接平铺,既难维护,也看不出哪些是重点。
  2. 链接指向重定向或 404:这一页维护频率低,内容下线后链接没同步,等于持续制造无效路径。建议内容下线时顺手回查。
  3. 靠 JS 渲染出链接:链接是异步拼出来的,抓到的可能是空壳,服务端直出 a 标签最稳妥。
  4. 长期不动:页面上线后从不更新,价值会随时间下降,栏目调整、专题上线时应同步维护。
  5. 写了 noindex 又指望它被用于发现:如果希望页面本身不进索引但链接仍被跟踪,要确认 robots 指令的具体写法,不要默认 noindex 一定不阻断链接跟踪。

上线之后怎么核对

  • 用抓取日志过滤站点地图页的地址,看蜘蛛是否稳定访问、返回码是否为 200。
  • 抽查目标页面的日志,观察进入时的 referer 是否出现站点地图页路径,判断它是否真的承担了发现入口的角色。
  • 对比 XML Sitemap 中“已发现未抓取”的数量变化,看新增路径是否带来实际抓取。
  • 定期检查页面上链接的状态码,把 3xx、4xx 的条目清理掉。
站点地图页是辅助手段。真正决定抓取效率的仍然是服务器响应稳定、内容更新节奏和整体内链结构。把它当成一条补充路径来用,比指望它一次解决全部收录问题更现实。