点击深度指的是什么
从首页出发,顺着链接往下走,到某个页面需要点几次,这个次数就是点击深度。首页算第 0 层,主导航指向的栏目页是第 1 层,栏目下的列表页是第 2 层,文章详情页常见落在第 3 层。层级越深,蜘蛛要经过的链接就越多,中间任何一环没被爬到,后面的页面就跟着一起卡住。
深度为什么会拖慢抓取
蜘蛛在站内的时间是有限的,它会把大部分精力放在靠近入口、被链接多次指向的页面上。深度带来的影响主要有三个:
- 路径变长:每多一层,就要多经过一次请求。中间某个列表页抓取频率下降,深层页面跟着受影响。
- 链接权重被稀释:同一份入口权重经过多层传递后,到达深层页面的分量会明显变少,蜘蛛回访的频率也更低。
- 发现时间推后:新发布的页面如果只挂在深层列表里,往往要等上一轮列表被抓取之后才会被带出来。
这些不是绝对的规则,但方向大体一致:路径短的页面,被稳定抓取的概率更高一些。
几种把页面越埋越深的结构
层层嵌套的分类目录
地区 → 城市 → 区县 → 商圈 → 品类 → 子品类,每一层都做成独立链接,看着清晰,实际把详情页推到了第七、第八层。蜘蛛能走到底,但走到底的次数远不如前几层。
只靠筛选和参数生成列表
很多列表页的翻页或筛选结果由参数拼接而成,这类 URL 数量可以不断增长,蜘蛛容易在参数组合里打转,反而顾不上真正的详情页。
内容都堆在首页或少数聚合页
另一种相反的情况是:所有入口都挤在首页,首页链接上百个,每个链接分到的关注度被摊薄,深层页面依然得不到稳定的抓取。
把深度压下来的常见做法
- 控制主路径层数:常规内容尽量在三次点击内到达,能合并的中间层就合并。
- 用好导航和面包屑:这两类链接位置固定、全站可见,是蜘蛛判断站点结构的主要依据。
- 在正文里做相关链接:详情页之间互相指向,等于给深层页面补了一条横向通道。
- 用 Sitemap 兜底:深层页面单独列进站点地图,至少让蜘蛛知道 URL 存在,不必完全依赖逐层爬取。
- 给出可抓取的入口:分页、分类、聚合页尽量用普通链接,避免只在点击时才生成。
怎么确认自己站点的深度
最简单的办法是定时抓取自己的站点,记录每个 URL 到首页的最短点击距离,把超过四层的页面列出来,看看它们是否有稳定的抓取记录。也可以对照服务器日志,看深层目录下的 URL 多久被访问一次,如果长时间只有零星几次,说明路径确实太长了。改结构时不必一次全改,先从那些有内容、但抓取一直很淡的页面入手,把入口往前挪一层,观察一段时间再说。
深度不是唯一的决定因素,但它是一个可以自己动手调整的变量。多数情况下,让重要页面离首页更近一步,比反复提交 URL 更实在。