連結深度指的是什么
這里说的連結深度,不是目錄层級,而是蜘蛛從入口頁出發、跟着 href 走几次才能到達目标頁。按可抓取連結計算,不含 JS 点击、表單提交這類蜘蛛通常不會执行的動作。
- 1 跳:入口頁正文里直接出現目标頁連結
- 2 跳:入口頁 → 中間頁 → 目标頁
- 3 跳及以上:入口頁 → 中間頁 → 中間頁 → 目标頁
同样一批目标頁,深度不同,蜘蛛實际走到的比例和速度會明顯不一样。
為什么深度會影响抓取结果
蜘蛛是按頁抓取、按連結扩散的。每多一层,就多一次「先抓到這一頁、再從這一頁解析連結」的過程,代價主要有三块:
- 抓取预算被中間頁吃掉:中間頁本身如果不产生價值,就是在替目标頁消耗訪問次數。
- 路径變長,损耗變高:任何一层返回異常、超时、被 robots 拦住,後面的目标頁就跟着断掉。
- 連結信号被稀释:同一條路径上的連結越多、越杂,單個目标頁分到的注意力越少。
不同用途下的深度選擇
目标是让 URL 尽快被發現
優先用 1 跳。入口頁正文里直接列出目标頁連結,蜘蛛一次解析就能拿到全部 URL,路径最短,也最容易在日誌里核對「入口頁被訪問後目标頁是否被訪問」。
目标是让目标頁拿到一点引用關系
可以用 2 跳,但要保證中間頁本身也有内容、能被抓取、連結位置在正文里。中間頁不要做成纯跳轉的空壳,否則等于多建了一层無效頁。
目标頁數量很大、想分层管理
把目标頁按主题或批次拆成多個中間頁,入口頁只鏈中間頁,深度控制在 2 跳。這样入口頁的 HTML 体积可控,連結也不會一次铺得太散。超過 3 跳的结构在蜘蛛池里很难有正向收益,一般不建议。
多层结构容易踩的坑
- 中間頁只放連結、没有其他内容,容易被判定為低质頁面,抓一次就不再回来。
- 中間頁連結集中在頁脚或侧栏,抓取權重比正文連結低,實际到達率不如预期。
- 中間頁用 JS 動態輸出連結,蜘蛛解析不到,等于人為把深度變成無穷大。
- 层與层之間用 301 串起来,每跳一次都是新的請求,比直接放連結更耗抓取。
- 入口頁連結數量過多,單頁連結被分散,靠前的連結更容易被走到,靠後的長期被忽略。
怎么驗證深度設定是否合理
- 在日誌里筛出某個入口頁的抓取记錄,记下它的訪問時間。
- 同一時間窗口内,看它指向的中間頁或目标頁有没有對應的抓取记錄。
- 如果没有,检查連結是否可解析、是否被 robots 或 nofollow 拦住、是否返回非 200。
- 統計一段時間内目标頁被訪問的次數占入口頁被訪問次數的比例,比例長期偏低,通常說明深度或連結位置有問题。
這個比例不需要追求很高,重点是稳定、可解释。如果同一個池子里时高时低,多半是連結结构或狀態碼不一致造成的。
几條實用建议
- 新建池子先從 1 跳到 2 跳试起,观察两到四周再决定要不要分层。
- 纵深结构里,越靠近入口的頁面越要有内容,越靠後的頁面越要保證可訪問。
- 入口頁的連結改動後,给蜘蛛留出重新抓取和重新解析的時間,不要一天一改。
- 把深度当成抓取路径的問题来看,而不是權重传递的問题,判断會更简單。
連結深度的作用是把蜘蛛引到目标 URL 面前,它决定的是到達率,而不是收錄结果。目标頁能不能被收錄,還要看内容、站点整体质量和竞争情况,深度只解决其中一段路。