搜尋抓取

首頁到内頁的距离:頁面层級怎样影响蜘蛛的抓取顺序

蜘蛛從已知 URL 沿連結逐层抓取,頁面距离入口的层數會直接影响被發現的先後與回訪频率。本文說明抓取距离怎么算、层級過深會出現哪些現象,以及如何通過導航、正文内鏈、聚合頁與 Sitemap 组合,把重要内容放進更短的路径里,並给出用日誌驗證的基本方法。

搜尋抓取

首頁到内頁的距离:頁面层級怎样影响蜘蛛的抓取顺序

蜘蛛從一個已知 URL 出發,沿着頁面上的連結向外走。它先到哪個頁面、多久回訪一次,很大程度上取决于這個頁面距离入口有多少层連結。這個层數通常被称為点击距离或抓取距离。它不是硬性的規則,但會實實在在影响頁面被發現的先後顺序。

抓取距离是怎么算出来的

最简單的算法:從首頁開始,点几下能到目标頁面。首頁算第 0 层,導航直接指向的栏目算第 1 层,栏目里的列表指向的文章算第 2 层,依次類推。蜘蛛没有站点全貌,它靠連結一层层爬,這個层數就是它理解站点结构的顺序。

實际計算时要注意几点:

  • 從已被抓取的任一入口算起都有效,不限于首頁
  • JS 渲染後才出現的連結,對蜘蛛来说距离會變長
  • 同一個頁面有多條路径时,取最短的那條

层級太深的常见表現

内容层級深,問题往往不是完全抓不到,而是被抓得太晚、太稀疏。

  • 新發布的頁面几天甚至更久没有出現在日誌里
  • 老内頁更新後,蜘蛛迟迟不回訪,看到的還是舊版本
  • 抓取請求大量落在中間层列表頁,真正的内容頁被挤到後面
  • 同類頁面之間没有互鏈,只能靠列表頁维持连接,一旦列表改版就断了路径
把抓取预算看成有限的訪問次數,路径越绕,花在中間环节的次數就越多。

把重要頁面的层級压下来

不需要把全站压平,但核心内容應该有几條短路径。

  • 主導航和二級分類保持稳定,不要频繁調整位置
  • 首頁保留數量克制、指向明确的一級入口
  • 正文里的相關文章、上下篇、同主题推荐,是缩短距离最直接的手段
  • 面包屑既给向上路径,也可以横向指向同級分類

下拉菜單、悬浮導航、需要点击才展開的模块,如果連結只在交互後才寫入 DOM,蜘蛛看到的距离會比用戶感觉的長。

深层頁面也不能只靠 Sitemap

Sitemap 能提供入口,但它更像一份清單,不负责說明頁面之間的關系和重要性。深层頁面的發現,通常要多種方式叠加:

  1. 在相關内容的正文里自然鏈出
  2. 由同主题的聚合頁或标簽頁收拢
  3. 通過上下篇、系列文章形成鏈式路径
  4. Sitemap 兜底,避免遗漏

层級不是越平越好

把所有頁面都塞到首頁連結里,首頁連結數量會迅速膨胀,單條連結能分到的關注度反而下降。适度的分层能让同主题頁面彼此靠近,也让蜘蛛在抓一個栏目时顺便覆盖到相關内容。對多數站点来说,核心内容控制在三跳以内可達,是一個現實的目标。

怎么驗證抓取距离

  • 按目錄統計日誌里蜘蛛的訪問次數,看深层目錄是否長期偏低
  • 记錄新頁面上线到第一次被抓的時間,對比不同层級
  • 检查列表頁翻頁、篩選參數是否制造了大量中間层 URL
  • 手動從首頁出發点击,看看能不能走到最重要的那几個頁面

抓取距离不是一次性配置,而是随栏目調整、模板改版不断變化的東西。發布新内容时顺手想一想:這個頁面從哪個已有頁面点得到,路径有多長,往往比事後反复提交更有效。