很多站点的問题不是“蜘蛛不来”,而是蜘蛛来了以後只在表层打轉,越往里越少见到抓取记錄。除了抓取预算、連結质量這些常被讨论的因素,還有一個容易被忽略的维度:頁面距离站点入口有多少层。
這個层數就是抓取深度。它不是某個寫死的參數,而是由連結结构、预算分配和抓取效率共同作用出来的一個實际结果。
抓取深度是怎么算的
從首頁、sitemap 或外部連結入口出發,顺着可点击的連結往下走,到達某個 URL 所需的最少跳數,就是這個頁面的深度。首頁算 0 层,導航栏里的栏目頁是 1 层,栏目下的列表頁是 2 层,列表里的詳情頁就是 3 层。
搜尋引擎並没有公開“只抓到第几层就停”這样的硬性規則,但抓取资源始终有限。越深的頁面,被發現得越晚,被抓到的概率越低,後續的重复抓取频率也往往更低。
深度是怎么被悄悄拉長的
很多层級膨胀是设計时無意识造成的,常见的有几類:
- 分類层层嵌套:一級分類下再分子類、子子類,每一层單獨生成一個頁面;
- 列表頁深翻:從第 1 頁到第 20 頁,深度随頁碼线性增長,越靠後的内容路径越長;
- 标簽頁、聚合頁缺少统一入口,只能靠零散的内鏈被碰到;
- 分頁的“下一頁”是唯一通路,中間某一頁被断開,後面的頁面就整段断鏈;
- 詳情頁之間没有横向互鏈,只能原路返回上一层再進下一個。
這些结构在人工浏览时未必有肉眼可见的問题,但對蜘蛛来说,每多一层就多一次請求、多一次排队等待。
深度带来的實际影响
- 發現變慢:新内容上线後,可能几天甚至更久才等来第一次抓取;
- 抓取频次递减:浅层頁面经常被抓,深层的長期只被抓一两次;
- 更新感知滞後:深层頁面改版或修错後,蜘蛛手里可能仍是舊版本;
- 形成事實上的孤岛:明明有内鏈,但路径太長、入口太隐蔽,等于没有被發現。
抓取深度本身不是排名因素,但它影响 URL 被發現和被重复抓取的机會,進而影响内容能否及时進入索引流程。它值得被当成工程問题来观察,而不是玄学。
怎么判断自己的站点是否過深
- 從首頁手動數一數,到達核心内容需要几次点击。多數站点可以把重要内容控制在 3 次以内。
- 按 URL 路径层級統計抓取日誌,看被抓頁面集中在第几层,深层頁面的抓取是不是几乎為零。
- 把 sitemap 里提交的 URL 與日誌里實际被抓的 URL 做差集,剩下的那批通常就是深處頁面的清單。
- 检查是否有頁面只能通過站内搜尋框或 JS 交互才能到達,這類入口蜘蛛往往走不通。
让重要頁面离入口更近的几種做法
- 導航與面包屑:面包屑既能让用戶回到上层,也给蜘蛛提供了另一條通向深處的路径;
- 相關推荐與热门列表:在詳情頁之間横向打通,减少對“下一层列表”的绝對依赖;
- 聚合頁與专题頁:把散落在深處的 URL 匯總到浅层入口,用一個頁面換回一批連結;
- 分頁收口:控制可翻頁的最大深度,舊頁做归档或不再輸出可抓連結;
- sitemap 兜底:把深處但重要的 URL 放進 sitemap,给一條不依赖内鏈的發現通路。
別把深度当成唯一指标
深度只是抓取路径的一部分。服務器响應速度、頁面体积、連結是否可被正常解析、是否有過長重定向鏈,都會影响蜘蛛愿不愿意繼續往里走。一個浅层頁面如果長期超时,同样不會被反复抓取。
比較務實的做法是定期從日誌里抽样,观察深层頁面的抓取比例有没有改善,而不是一味追求把目錄压平到一层。站点结构首先要服務于真實用戶的浏览逻辑,蜘蛛只是顺着這套逻辑走一遍。