搜索抓取

从首页走到深层页:蜘蛛抓取路径的深度,受哪些因素影响

蜘蛛发现 URL 靠链接一层层走,从已知入口到某个页面所需的最少点击次数,就是它的抓取深度。本文说明深度是怎么形成的、哪些变量会把它拉长,以及如何把重要页面挪到更浅的位置,同时讲清 Sitemap 与内链在其中的分工。

搜索抓取

从首页走到深层页:蜘蛛抓取路径的深度,受哪些因素影响

蜘蛛不会凭空知道站点上有哪些 URL。它的主要路径,是从一个已经抓过的页面出发,沿着页面上的链接走到下一个页面。一个页面离已知入口越远,需要经过的链接跳数就越多,被抓到的机会通常也越靠后。把这件事量化一下,就是常说的抓取深度。

深度是怎么算出来的

抓取深度不是照搬网站的栏目层级,而是蜘蛛按链接实际走出来的最短路径。同一个页面,从首页导航点两下能到,深度就是二;如果只能从某个列表页第 8 页翻进去,深度可能变成七、八层。栏目结构设计得再整齐,只要链接走不通,对蜘蛛来说这条路径就不存在。

影响深度的几个变量

  • 链接的绝对数量:一个页面上的链接越多,单个链接分到的权重和注意越少,深链条上的链接更容易被忽略。
  • 链接出现的位置:导航、正文里的链接,通常比页脚和侧边堆积的链接更早被处理。
  • 链接是否真的可抓:依赖 JS 拼接出来的链接、带 nofollow 的链接、需要点击才加载的链接,都可能让路径走不下去。
  • 入口的分散程度:同一批内容有多个入口时,蜘蛛取的是最短那条,其余路径对它意义不大。

深度过深时,日志里能看到什么

在没有额外提交的情况下,深层页面的抓取频次往往会明显低于浅层页面,甚至长期没有记录。常见现象是:首页和二级栏目每天被访问多次,而最底层的内容页几周才出现一次,或者只在你主动提交后才被抓一次。这时问题通常不在服务器,而在路径太长、路径上的节点太少。

一个容易忽略的点

深度是相对入口而言的。新增了一批内容,却没有从已有被频繁抓取的页面链接过去,这批 URL 就只能等着被发现,速度取决于 Sitemap 被读取的频率,而不是站点更新的节奏。

把重要页面拉浅的几种做法

  1. 梳理哪些是不带时间属性、值得长期被访问的核心页,把它们放进主导航或栏目首屏。
  2. 给深层内容增加横向入口,例如相关推荐、标签聚合页、专题页,让路径从七八跳压缩到三四跳。
  3. 检查列表页分页是否可抓,深链条常常断在分页上。
  4. 减少同一页面里无意义的重复链接,避免把预算耗在同一批浅层 URL 上。
  5. 对确实无法拉浅的长尾内容,用 Sitemap 作为补充发现渠道,而不是唯一渠道。

Sitemap 与内链的分工

Sitemap 解决的是“告诉蜘蛛有哪些 URL”,内链解决的是“蜘蛛走了哪条路过去”。前者适合做全集清单,后者决定抓取顺序和再抓取的频率。两者配合的常见做法是:Sitemap 保持完整、可解析,内链则重点覆盖那些需要更快被访问的页面。只做 Sitemap 不做内链,页面会被发现,但可能长期停留在低优先级队列里。

判断深度问题不要只看站点结构图,要看日志里蜘蛛进入这些页面时带的 referer 是哪个 URL。那条链才是它真正在走的路。

可以按这个顺序检查

先取一份近期日志,找出连续几周都没有抓取记录的页面;再看这些页面最近的入链来自哪里,把路径上的每一跳列出来;然后判断断点是在分页、在 JS 渲染,还是在没人链接的孤岛页面。多数时候,改动的重点不是加更多 Sitemap 条目,而是给这些页面补一条从频繁抓取页出发的链接。