很多站長會遇到一種情况:首頁和栏目頁几乎每天都被抓,但商品詳情頁、老文章、帮助文档這類頁面,日誌里可能一周才出現一次,甚至几個月不见踪影。這不一定是頁面质量的問题,往往和它在站内所處的位置有關,也就是抓取深度。
点击深度和目錄深度不是一回事
说到深度,容易混两個概念。一是 URL 的目錄层級,比如 /a/b/c/d/page.html;二是從首頁出發,需要点几次連結才能到達,也就是点击深度。蜘蛛並不特別在意 URL 里有几個斜杠,它更在意的是:從已知入口頁出發,要经過多少跳才能碰到這條連結。
原因是蜘蛛的抓取队列按發現顺序排队,整体上更接近广度優先。首頁和它的直接出鏈會被優先安排,第二层排在其後,第三层再往後。层級越深,頁面進入队列的時間越晚,分到的抓取次數也越少,尤其当站点被抓取總量有限时,深层頁面最容易被挤掉。
层級過深會带来哪些實际問题
- 發現慢:新頁面發布後,可能几天到几周都没有抓取记錄。
- 更新迟钝:已收錄頁面改了内容,蜘蛛仍按舊节奏回訪,改版效果滞後。
- 信号分散:每多一跳,传递到目标頁的力度就被削弱一层。
- 路线脆弱:中間某层頁面被屏蔽、报错或不再輸出連結,後面的頁面就断了入口。
把重要頁面压到浅层
常见做法是把真正想被频繁抓的内容,放在离首頁两三次点击之内。
- 栏目頁做足,分類不要過细,宁可多几個並列入口,也別做成一层套一层。
- 在首頁或高流量頁面给出直達連結,例如热门、最新、推荐位。
- 相關内容模块不要只做展示,确保輸出的是可跟随的 a 标簽連結,而不是点击才加载。
- 列表頁保持翻頁可達,把歷史内容留在連結图里,而不是只顯示最近十几條。
- 對确實無法加内鏈的頁面,用 Sitemap 做补充,但把它当作补丁,不当主路。
怎么判断自己的站深不深
不需要复杂工具也能大致判断。随便挑几個希望被频繁抓的頁面,從首頁開始數点击數;如果超過四五次,就偏深了。再對照服務器日誌,看這些 URL 的抓取频次是否明顯低于同目錄的浅层頁面。
還有一種情况值得注意:有些頁面目錄层級很浅,比如 /p/12345.html,但只能通過站内搜尋或篩選條件到達,實际上等于没有稳定入口,在蜘蛛眼里仍然是孤立的。這類頁面要么补一條固定内鏈,要么在 Sitemap 里明确列出。
扁平化不等于把頁面全塞進首頁
把成百上千條連結堆在首頁,會让首頁体积變大、單條連結的價值被稀释,也會打乱蜘蛛的抓取节奏。合理的做法是分层:首頁给出主要入口,栏目頁承担聚合,詳情頁由栏目頁和少量相關内容接入。這样既保證大部分内容在两三层内可達,也不至于让某個頁面承担過多出鏈。
調整之後看什么
改完结构別急着下结论。观察两到四周,重点看三件事:深處頁面的首次被抓時間有没有提前,同批頁面的抓取频次有没有上升,日誌里狀態碼是否仍然以 200 為主。如果深层頁面開始稳定出現,說明路径走通了;如果仍然零星,通常要回头检查中間层是否已经不再輸出連結。
抓取深度不是一次調整就能定型的结构問题。每次改版、上新栏目、調整導航,都可能把某些頁面推得更深。定期回看日誌里的抓取分布,比一次性大改更有用。