排查收录问题时,很多人第一反应是看 URL 的目录层级:/a/b/c/d/page.html 这种写法是不是太深了?层级确实值得关注,但它本身很少是决定性因素。更接近蜘蛛真实体验的指标,是从首页出发要点几次链接才能到达这个页面,也就是常说的点击距离(click depth)。
点击距离和目录深度不是一回事
目录深度只是 URL 字面上的斜杠数量,而点击距离描述的是站内链接图上的跳数。两者经常不一致:
- 一个页面路径写着 /news/2024/03/18/xxx.html,但只要在首页的最新文章列表里出现,点击距离就是 1。
- 另一个页面路径短得只有 /p/123,但如果它只被一个很少有人访问的归档页链接到,点击距离可能是 4 甚至 5。
蜘蛛是按链接走的,不是按路径读的。所以当你对比两个页面的抓取频次差异时,先看的应该是它们各自被哪些页面链到、这些页面本身又在什么位置,而不是路径长短。
为什么距离远的页面容易被漏掉
蜘蛛在一次访问里能走的步数是有限的,它会优先沿着链接密集、更新频繁、响应稳定的路径展开。距离首页越远,中途断链、跳转、参数分叉的机会越多,蜘蛛走到那里的概率就越低。常见情况包括:
- 列表页只展示前几页,老页面沉到第 10 页以后,没有任何入口链到它。
- 导航和面包屑只覆盖到二级分类,三级以下的页面全靠站内搜索才能找到。
- 某个中间层页面本身收录状态就差,导致它下游的整片页面都缺少有效入口。
这种情况下,即使页面内容质量没问题,也可能长期停留在“已被发现但未抓取”的状态。
缩短点击距离的几种做法
不必为了短路径去大规模改 URL,改结构往往得不偿失,更实际的是补入口:
- 让重要页面出现在固定入口上。首页、栏目首页、侧边推荐位这些位置蜘蛛访问最频繁,把需要收录的页面放进去,效果通常好于在 sitemap 里反复提交。
- 给深层页面补一条向上的路径。面包屑、相关推荐、标签聚合页都可以承担这个角色,前提是它们本身能被正常抓取。
- 检查中间层是否健康。如果分类页本身没被索引,先解决分类页的问题,下游页面才有通道。
- 避免用纯 JS 渲染导航。需要执行脚本才能展开的菜单,蜘蛛不一定会走完。
- sitemap 可以作为补充入口,但不要当成唯一入口。它能帮助蜘蛛发现 URL,却很难改变一个页面在站内的实际位置。
用日志验证真实的行走路线
判断点击距离是否真的构成障碍,比较直接的办法是看服务器日志:
- 统计被访问最多的路径,通常就是蜘蛛的主干路线。
- 筛出那些只被访问过一两次的 URL,观察它们是从哪个 referer 进来的、是否位于主干之外。
- 对比同类页面的抓取间隔,如果同一层级的页面抓取频次差出好几倍,差异往往来自入口位置而不是内容本身。
日志看不出的话,也可以在 Search Console 的抓取统计里观察目录维度的分布,再回到站内找对应的链接入口。
哪些情况不用太纠结距离
点击距离不是越短越好,也不是所有页面都值得往首页塞。工具页、筛选结果页、用户中心这类页面,本来就不该进索引,与其想办法缩短路径,不如用 robots.txt 或 noindex 明确处理。真正需要关注的,是那些有搜索需求、内容独立、但目前藏在深处的页面。
把入口理顺,比反复提交 URL 更有效。蜘蛛走的是链接,不是你的期待。
换句话说,收录问题的排查顺序可以先从“这个页面有没有一条稳定的站内路径”开始,再去看抓取预算、渲染方式这些因素。路径通畅了,后面的环节才有讨论的意义。