搜尋抓取

URL 层級與抓取深度:目錄越深,蜘蛛還愿意往下走吗

從入口頁到目标頁要点击几次,比 URL 里有多少級目錄更影响蜘蛛的行走意愿。本文梳理抓取深度的計算方式、深层頁面容易被漏掉的原因,以及用面包屑、栏目聚合頁和 Sitemap 降低實际跳數的做法,並提醒轻易改 URL 结构的成本。

搜尋抓取

URL 层級與抓取深度:目錄越深,蜘蛛還愿意往下走吗

不少运营都听過一句经驗之谈:目錄层級別超過三层。但蜘蛛在判断一個地址值不值得繼續往下走时,看的並不是 URL 里有几條斜杠,而是從它已经知道的入口出發,要点击几次才能到達。這两件事有關联,但不等同。

蜘蛛算的深度,是点击跳數

蜘蛛會把首頁、Sitemap 里提交的 URL、以及外鏈指向的地址当作已知入口,沿着它能解析出来的連結一步步往前走。一個頁面從首頁点两次能到,它的深度就是 2;哪怕 URL 里寫着五級目錄,深度依然是 2。反過来,某個頁面 URL 只有一級,但全站没有任何連結指向它,那它就只能靠 Sitemap 提醒蜘蛛它的存在,實际被抓的频率通常也不高。

目錄结构仍然會間接影响抓取

  • 中間頁面是否有人承载連結。目錄越深,越容易形成從栏目頁到列表頁再到詳情頁的長鏈條,中間任何一环没放連結,後面的頁面就容易變成孤岛。
  • 内鏈的添加成本。结构清晰时,加一個栏目頁就能带出一批詳情頁;结构混乱时,只能靠手工往首頁或相關頁面硬塞連結。
  • 後期改版的風險。把深目錄拍平成浅目錄,意味着大量 URL 變更和重定向,這部分成本往往被低估。

深层頁面被漏掉,通常不只是因為深

更常见的情况是:深层頁面既没有站内連結,内容更新也不频繁,Sitemap 里虽然列了,但抓取優先級排在後面。這时只改目錄名作用有限,要把發現通道和更新信号一起补上。

让深层頁面更容易被走到的做法

  • 面包屑。每层都能回到上一級,等于给蜘蛛一條固定的回程路,也让深层的同級頁面互相串联起来。
  • 栏目頁與聚合頁。一個栏目頁能列出几十條詳情連結,它是把實际深度從五跳压到三跳最省力的手段。
  • 相關内容模块。在正文底部放几條同主题連結,既服務用戶,也给蜘蛛多一條可選路径。
  • Sitemap 與内鏈双通道。Sitemap 负责兜底發現,内鏈负责提高被抓频率,两者並不冲突。

不要為了變浅轻易改 URL

把一個多层地址改成單层地址,短期看是清爽了,但舊地址、外鏈、已有的收錄狀態都要重新處理,處理不好還會出現新舊地址同时被抓的情况。除非目錄结构本身有硬伤,否則優先用内鏈和聚合頁来降低實际跳數,而不是動 URL 本身。

動手前的检查清單

  1. 從首頁出發,点击几次能到達最重要的商品頁或文章頁?超過四次就值得排查。
  2. 每個栏目頁是否列出了子栏目的入口,還是只挂了最新几篇内容?
  3. Sitemap 里的 URL 是否都真的可訪問,有没有混進 404 或跳轉地址?
  4. 有没有頁面既不在一級栏目里,也不在面包屑里,只存在于後台連結中?
深度只是影响抓取的因素之一。站内連結的质量、頁面自身的更新频率、服務器的响應速度,同样會决定蜘蛛下一次還愿不愿意走這條路。