很多站点的問题不是“没有被連結”,而是重要頁面被埋得太深。蜘蛛從首頁出發,通常沿着連結一层层往外走,层級越深,被發現和重新抓取的机會就越靠後。点击深度(click depth)说的就是這件事:從首頁到某個 URL,最少需要点击几次。
点击深度是怎么算出来的
它看的是最短路径,而不是你在導航里有没有放。比如一個商品頁,可以從首頁→分類→商品走到,也可以從首頁→搜尋→标簽→商品走到,前者是 2 层,後者是 4 层,蜘蛛通常先按短的那條走。判断深度时,可以先把站内的連結關系抓成一張图,再看每個 URL 到首頁的最短跳數。
深度為什么會改變抓取顺序
蜘蛛的抓取队列里,新發現的 URL 會排队等待。深度浅、内鏈多、更新频繁的頁面,通常更容易被反复訪問;深度深、只有一條入口的頁面,往往要等更久,甚至長期只被訪問一两次。這不等于“深了就一定不抓”,只是優先級和回訪频率會更低一些。
常见的深度失控场景
- 列表頁分頁只保留“下一頁”,歷史内容要一层层翻過去;
- 篩選條件、排序參數生成大量中間頁,真正的詳情頁被推到很深;
- 栏目頁只放最新几條,老内容只能從归档或标簽進入;
- 詳情頁之間的相關推荐做得很少,頁面之間缺少横向连接。
怎么测自己的深度分布
可以用站内爬取工具從首頁開始爬,統計每個 URL 的层級;也可以结合服務器日誌,看看常被訪問的 URL 集中在几层,深层頁面是否長期没有记錄。Sitemap 里的 URL 數量和各层級頁面的實际抓取量,也能做個對照。
把重要頁面往上提的几種做法
- 導航直達:核心栏目和主要入口放在全站導航或首頁模块里,別只靠二級、三級頁互相連結。
- 横向连接:在詳情頁放相關推荐、同類内容,让同层頁面之間互相可達。
- 面包屑:面包屑不只是给用戶看,它也给蜘蛛提供一條回到上层的短路径。
- 控制中間层:能合並的分類尽量合並,减少纯中轉、内容很少的列表頁。
- Sitemap 作為补充:可以把深层但重要的 URL 寫進 Sitemap,它有助于被發現,但通常不會改變站内的抓取優先級。
深度不是唯一的變量
同样深度下,更新频繁、内鏈更多、响應更快的頁面,回訪會更勤。反過来说,把連結硬塞進頁脚未必能让蜘蛛更重视它——如果這些連結和頁面内容關系不大、站点里到處都是,信号反而會被稀释。
目标不是把所有頁面都压到 2 层以内,而是让少數真正重要的 URL 有一條短、稳定、不依赖參數的路径。
一個简單的检查清單
- 重要頁面從首頁出發,能否在 3 次点击内到達?
- 去掉篩選、排序、跟踪參數後,是否還有一條干净的路径?
- 老内容有没有除了归档以外的入口?
- 日誌里抓取量最高的 URL,是不是你認為最重要的那批?
把這几個問题過一遍,通常就能發現几條被埋住的路径。之後每隔一段時間复查一次,尤其是改版和批量上新之後。