網站收錄

抓取预算不够用:把有限的抓取次數留给哪類 URL

站点越大,爬虫的抓取次數就越容易被稀释。本文從抓取预算的角度出發,說明哪些地址在悄悄消耗抓取、如何给 URL 分层並确定處理方式,以及怎样用服務器日誌核對抓取分布,让值得收錄的頁面更快排到队首。

網站收錄

抓取预算不够用:把有限的抓取次數留给哪類 URL

抓取预算是资源分配問题

搜尋引擎分配给站点的抓取次數並不是一個固定配額,而是根據站点規模、响應速度、更新频率動態調整的量級。站点越大、地址越多,這個量級就越容易被稀释。当同一段抓取時間被大量低價值地址占用时,真正需要被發現的頁面只能排队。很多站点感觉“内容更新了,爬虫却迟迟不来”,原因往往就在這里。

所以問题不一定是“怎样让爬虫多来几趟”,而是“已经来的這些次數,花在了哪里”。

几類容易失控的地址

下面這些地址,通常最容易把抓取次數吃掉:

  • 带參數的篩選、排序、分頁组合,尤其是层层叠加产生的URL;
  • 附带會话 ID、追踪參數、推荐来源參數的連結;
  • 站内搜尋结果頁,能被外部拼出無數種组合;
  • 日歷归档、标簽归档,翻頁没有上限;
  • 測試頁、临时頁、活動下线後仍可訪問的頁面;
  • 大量自動生成、内容高度雷同的列表;
  • 已经失效却仍返回 200 的空頁面,也就是软 404。

它們單獨看都不算错,但叠在一起,就會挤占核心頁面的抓取机會。

先分层,再决定處理方式

與其逐個地址纠结,不如按價值分层,给每一层一個明确動作:

  1. 核心内容頁與轉化頁:優先級最高,保證服務器可正常响應、内鏈可達、不被誤挡。
  2. 有獨立检索價值的列表頁:保留,但限制參數组合與翻頁深度,只放行有意义的篩選维度。
  3. 低價值组合頁:能合並就合並到規范地址,不能合並的用 robots.txt 或 noindex 處理,注意阻止抓取和阻止收錄並不是一回事。
  4. 纯功能頁面:登入、购物车、结算流程,通常不需要進入索引,可统一處理。

重点是每一层都有结论,而不是“先留着,以後再说”。没有结论的地址,就是持續消耗抓取的那一類。

用日誌核對,而不是凭感觉

服務器訪問日誌是判断抓取分布最直接的依據。按爬虫 UA 過滤後,統計抓取次數在目錄、參數、狀態碼上的分布,经常能看到相当高比例的抓取落在參數頁或错誤頁上。這個數字比任何猜测都有參考價值。

核對时建议看几组對照:

  • 抓取次數按目錄排行,是否符合你對重要頁面的判断;
  • 抓取落在 404、301、5xx 上的比例;
  • 带參數 URL 在總抓取中的占比;
  • 同一批地址的抓取频率,與它們的内容更新频率是否匹配。

如果某個目錄更新很少却抓得很勤,或者某個常更新的目錄几乎没人来,這就是值得優先處理的地方。

几件配合着做的小事

sitemap 只放值得收錄的地址

把全站地址都塞進網站地图,並不會让收錄變多,反而會让真正重要的地址被淹没。sitemap 的作用是提示,不是兜底清單。

lastmod 要真實

每次發布都刷新全站 lastmod,會让這個字段逐渐失去參考價值。只在内容确實發生變化时更新,才更容易被采信。

内鏈收敛

让重要頁面從首頁出發的点击距离保持可控,避免它們只藏在深层归档或參數列表里。抓取路径通畅,很多問题會自然减轻。

抓取分配的優化不是一次性配置,而是随着站点结构調整持續做的清理工作。

最後需要說明的是,調整抓取分配通常不會立刻带来收錄量的變化,它做的是减少干扰、让有價值的地址更容易排到队首。把它当作站点结构治理的一部分,比当作提升收錄的手段更合适。