链接深度指的是什么
这里说的链接深度,不是目录层级,而是蜘蛛从入口页出发、跟着 href 走几次才能到达目标页。按可抓取链接计算,不含 JS 点击、表单提交这类蜘蛛通常不会执行的动作。
- 1 跳:入口页正文里直接出现目标页链接
- 2 跳:入口页 → 中间页 → 目标页
- 3 跳及以上:入口页 → 中间页 → 中间页 → 目标页
同样一批目标页,深度不同,蜘蛛实际走到的比例和速度会明显不一样。
为什么深度会影响抓取结果
蜘蛛是按页抓取、按链接扩散的。每多一层,就多一次「先抓到这一页、再从这一页解析链接」的过程,代价主要有三块:
- 抓取预算被中间页吃掉:中间页本身如果不产生价值,就是在替目标页消耗访问次数。
- 路径变长,损耗变高:任何一层返回异常、超时、被 robots 拦住,后面的目标页就跟着断掉。
- 链接信号被稀释:同一条路径上的链接越多、越杂,单个目标页分到的注意力越少。
不同用途下的深度选择
目标是让 URL 尽快被发现
优先用 1 跳。入口页正文里直接列出目标页链接,蜘蛛一次解析就能拿到全部 URL,路径最短,也最容易在日志里核对「入口页被访问后目标页是否被访问」。
目标是让目标页拿到一点引用关系
可以用 2 跳,但要保证中间页本身也有内容、能被抓取、链接位置在正文里。中间页不要做成纯跳转的空壳,否则等于多建了一层无效页。
目标页数量很大、想分层管理
把目标页按主题或批次拆成多个中间页,入口页只链中间页,深度控制在 2 跳。这样入口页的 HTML 体积可控,链接也不会一次铺得太散。超过 3 跳的结构在蜘蛛池里很难有正向收益,一般不建议。
多层结构容易踩的坑
- 中间页只放链接、没有其他内容,容易被判定为低质页面,抓一次就不再回来。
- 中间页链接集中在页脚或侧栏,抓取权重比正文链接低,实际到达率不如预期。
- 中间页用 JS 动态输出链接,蜘蛛解析不到,等于人为把深度变成无穷大。
- 层与层之间用 301 串起来,每跳一次都是新的请求,比直接放链接更耗抓取。
- 入口页链接数量过多,单页链接被分散,靠前的链接更容易被走到,靠后的长期被忽略。
怎么验证深度设置是否合理
- 在日志里筛出某个入口页的抓取记录,记下它的访问时间。
- 同一时间窗口内,看它指向的中间页或目标页有没有对应的抓取记录。
- 如果没有,检查链接是否可解析、是否被 robots 或 nofollow 拦住、是否返回非 200。
- 统计一段时间内目标页被访问的次数占入口页被访问次数的比例,比例长期偏低,通常说明深度或链接位置有问题。
这个比例不需要追求很高,重点是稳定、可解释。如果同一个池子里时高时低,多半是链接结构或状态码不一致造成的。
几条实用建议
- 新建池子先从 1 跳到 2 跳试起,观察两到四周再决定要不要分层。
- 纵深结构里,越靠近入口的页面越要有内容,越靠后的页面越要保证可访问。
- 入口页的链接改动后,给蜘蛛留出重新抓取和重新解析的时间,不要一天一改。
- 把深度当成抓取路径的问题来看,而不是权重传递的问题,判断会更简单。
链接深度的作用是把蜘蛛引到目标 URL 面前,它决定的是到达率,而不是收录结果。目标页能不能被收录,还要看内容、站点整体质量和竞争情况,深度只解决其中一段路。