很多站点的问题不是“蜘蛛不来”,而是蜘蛛来了以后只在表层打转,越往里越少见到抓取记录。除了抓取预算、链接质量这些常被讨论的因素,还有一个容易被忽略的维度:页面距离站点入口有多少层。
这个层数就是抓取深度。它不是某个写死的参数,而是由链接结构、预算分配和抓取效率共同作用出来的一个实际结果。
抓取深度是怎么算的
从首页、sitemap 或外部链接入口出发,顺着可点击的链接往下走,到达某个 URL 所需的最少跳数,就是这个页面的深度。首页算 0 层,导航栏里的栏目页是 1 层,栏目下的列表页是 2 层,列表里的详情页就是 3 层。
搜索引擎并没有公开“只抓到第几层就停”这样的硬性规则,但抓取资源始终有限。越深的页面,被发现得越晚,被抓到的概率越低,后续的重复抓取频率也往往更低。
深度是怎么被悄悄拉长的
很多层级膨胀是设计时无意识造成的,常见的有几类:
- 分类层层嵌套:一级分类下再分子类、子子类,每一层单独生成一个页面;
- 列表页深翻:从第 1 页到第 20 页,深度随页码线性增长,越靠后的内容路径越长;
- 标签页、聚合页缺少统一入口,只能靠零散的内链被碰到;
- 分页的“下一页”是唯一通路,中间某一页被断开,后面的页面就整段断链;
- 详情页之间没有横向互链,只能原路返回上一层再进下一个。
这些结构在人工浏览时未必有肉眼可见的问题,但对蜘蛛来说,每多一层就多一次请求、多一次排队等待。
深度带来的实际影响
- 发现变慢:新内容上线后,可能几天甚至更久才等来第一次抓取;
- 抓取频次递减:浅层页面经常被抓,深层的长期只被抓一两次;
- 更新感知滞后:深层页面改版或修错后,蜘蛛手里可能仍是旧版本;
- 形成事实上的孤岛:明明有内链,但路径太长、入口太隐蔽,等于没有被发现。
抓取深度本身不是排名因素,但它影响 URL 被发现和被重复抓取的机会,进而影响内容能否及时进入索引流程。它值得被当成工程问题来观察,而不是玄学。
怎么判断自己的站点是否过深
- 从首页手动数一数,到达核心内容需要几次点击。多数站点可以把重要内容控制在 3 次以内。
- 按 URL 路径层级统计抓取日志,看被抓页面集中在第几层,深层页面的抓取是不是几乎为零。
- 把 sitemap 里提交的 URL 与日志里实际被抓的 URL 做差集,剩下的那批通常就是深处页面的清单。
- 检查是否有页面只能通过站内搜索框或 JS 交互才能到达,这类入口蜘蛛往往走不通。
让重要页面离入口更近的几种做法
- 导航与面包屑:面包屑既能让用户回到上层,也给蜘蛛提供了另一条通向深处的路径;
- 相关推荐与热门列表:在详情页之间横向打通,减少对“下一层列表”的绝对依赖;
- 聚合页与专题页:把散落在深处的 URL 汇总到浅层入口,用一个页面换回一批链接;
- 分页收口:控制可翻页的最大深度,旧页做归档或不再输出可抓链接;
- sitemap 兜底:把深处但重要的 URL 放进 sitemap,给一条不依赖内链的发现通路。
别把深度当成唯一指标
深度只是抓取路径的一部分。服务器响应速度、页面体积、链接是否可被正常解析、是否有过长重定向链,都会影响蜘蛛愿不愿意继续往里走。一个浅层页面如果长期超时,同样不会被反复抓取。
比较务实的做法是定期从日志里抽样,观察深层页面的抓取比例有没有改善,而不是一味追求把目录压平到一层。站点结构首先要服务于真实用户的浏览逻辑,蜘蛛只是顺着这套逻辑走一遍。