搜尋抓取

点击深度與抓取顺序:蜘蛛從首頁走到内頁要几步

点击深度决定蜘蛛從首頁走到一個内頁要几步,也影响 URL 被發現的先後顺序。本文讲清深度怎么計算、哪些站点结构會让它悄悄失控,以及用導航、横向連結、面包屑和 Sitemap 把重要頁面提到更浅层級的具体做法。

搜尋抓取

点击深度與抓取顺序:蜘蛛從首頁走到内頁要几步

很多站点的問题不是“没有被連結”,而是重要頁面被埋得太深。蜘蛛從首頁出發,通常沿着連結一层层往外走,层級越深,被發現和重新抓取的机會就越靠後。点击深度(click depth)说的就是這件事:從首頁到某個 URL,最少需要点击几次。

点击深度是怎么算出来的

它看的是最短路径,而不是你在導航里有没有放。比如一個商品頁,可以從首頁→分類→商品走到,也可以從首頁→搜尋→标簽→商品走到,前者是 2 层,後者是 4 层,蜘蛛通常先按短的那條走。判断深度时,可以先把站内的連結關系抓成一張图,再看每個 URL 到首頁的最短跳數。

深度為什么會改變抓取顺序

蜘蛛的抓取队列里,新發現的 URL 會排队等待。深度浅、内鏈多、更新频繁的頁面,通常更容易被反复訪問;深度深、只有一條入口的頁面,往往要等更久,甚至長期只被訪問一两次。這不等于“深了就一定不抓”,只是優先級和回訪频率會更低一些。

常见的深度失控场景

  • 列表頁分頁只保留“下一頁”,歷史内容要一层层翻過去;
  • 篩選條件、排序參數生成大量中間頁,真正的詳情頁被推到很深;
  • 栏目頁只放最新几條,老内容只能從归档或标簽進入;
  • 詳情頁之間的相關推荐做得很少,頁面之間缺少横向连接。

怎么测自己的深度分布

可以用站内爬取工具從首頁開始爬,統計每個 URL 的层級;也可以结合服務器日誌,看看常被訪問的 URL 集中在几层,深层頁面是否長期没有记錄。Sitemap 里的 URL 數量和各层級頁面的實际抓取量,也能做個對照。

把重要頁面往上提的几種做法

  1. 導航直達:核心栏目和主要入口放在全站導航或首頁模块里,別只靠二級、三級頁互相連結。
  2. 横向连接:在詳情頁放相關推荐、同類内容,让同层頁面之間互相可達。
  3. 面包屑:面包屑不只是给用戶看,它也给蜘蛛提供一條回到上层的短路径。
  4. 控制中間层:能合並的分類尽量合並,减少纯中轉、内容很少的列表頁。
  5. Sitemap 作為补充:可以把深层但重要的 URL 寫進 Sitemap,它有助于被發現,但通常不會改變站内的抓取優先級。

深度不是唯一的變量

同样深度下,更新频繁、内鏈更多、响應更快的頁面,回訪會更勤。反過来说,把連結硬塞進頁脚未必能让蜘蛛更重视它——如果這些連結和頁面内容關系不大、站点里到處都是,信号反而會被稀释。

目标不是把所有頁面都压到 2 层以内,而是让少數真正重要的 URL 有一條短、稳定、不依赖參數的路径。

一個简單的检查清單

  • 重要頁面從首頁出發,能否在 3 次点击内到達?
  • 去掉篩選、排序、跟踪參數後,是否還有一條干净的路径?
  • 老内容有没有除了归档以外的入口?
  • 日誌里抓取量最高的 URL,是不是你認為最重要的那批?

把這几個問题過一遍,通常就能發現几條被埋住的路径。之後每隔一段時間复查一次,尤其是改版和批量上新之後。