網站收錄

抓取预算怎么花:让爬虫多看到重要 URL 的几個做法

抓取预算不是固定數字,却常常被浪費在參數頁、跳轉鏈和失效地址上。本文從减少浪費和引導優先两條线,說明哪些頁面類型容易消耗額度,如何用内鏈、站点地图和层級结构把爬虫引向重要 URL,並给出几項可观察的核對指标。

網站收錄

抓取预算怎么花:让爬虫多看到重要 URL 的几個做法

抓取预算不是一個固定數字

很多站点在讨论收錄时,會預設爬虫總能“把整站看一遍”。實际上,搜尋引擎對單個站点在一段時間内的抓取次數和並發是有限度的,這個額度常被称作抓取预算(crawl budget)。它没有公開的固定值,會随站点規模、更新频率、服務器响應速度和歷史抓取表現而變化。

所以問题往往不是“爬虫有没有来”,而是“来的时候把時間花在了哪里”。如果重要頁面迟迟不被抓取,先別急着重复提交,通常要看两件事:有没有在低價值 URL 上浪費額度,以及有没有明确信号把爬虫引向核心頁面。

先看浪費:几類常见的预算消耗

參數组合和會话類 URL

篩選、排序、分頁參數、會话 ID、追踪參數,如果每一種组合都能生成可抓取的地址,爬虫很容易在同一批内容上反复打轉。

  • 确實没有收錄價值的參數组合,可以考虑用 robots.txt 挡掉,但要確認不會连带挡住核心頁。
  • 頁内篩選尽量采用不生成新可抓取地址的方式實現,或者用 noindex 控制,同时保證入口可控。
  • 會话類、追踪類參數對收錄没有帮助,尽早去掉或在站内連結中規范掉。

跳轉鏈和失效地址

一次跳轉常常要多花一次請求,鏈式跳轉(A→B→C)比直接跳轉更浪費。如果站内還在大量連結到已经 301 的舊地址,爬虫就會反复走同一條绕路。把内鏈直接指向最终地址,並把跳轉压缩到一层,通常比事後补救更省事。

404、软 404 和空壳頁

這些地址本身没有收錄價值,却會持續被内鏈或站点地图送進抓取队列。定期清理内鏈里的死鏈,把确實没有内容的頁面下架或返回明确的失效狀態,比让它們長期挂着更省額度。

再把額度引向重要 URL

减少浪費只是一半,另一半是给爬虫清晰的優先級。

  1. 内鏈位置:從首頁、栏目頁、相關文章模块鏈出去,通常比藏在很深层級里更容易被频繁抓取。
  2. 被引用次數:同一地址被站内多篇内容自然引用,比只出現在站点地图里一次更容易被注意到。
  3. 层級深度:核心頁面尽量控制在較浅的点击深度,詳情頁不要只能通過“加载更多”到達。
  4. 站点地图:把真正希望被收錄的 URL 放進去,lastmod 保持真實,不要把所有歷史頁面反复刷成新日期。
  5. 更新节奏:内容有實质變化时再更新,频繁無意义地改動會让新舊内容一起被稀释。

几項可观察的核對項

抓取预算的分配情况,可以通過抓取統計和服務器日誌粗略判断:

  • 抓取請求里有多大比例落在參數頁、跳轉地址和 404 上;
  • 核心目錄的抓取次數是否長期低于低價值目錄;
  • 重要新頁面從上线到首次被抓取的間隔是否在缩短;
  • 服務器响應時間是否拖慢了整体抓取节奏。
抓取額度更像是長期的分配問题:少让爬虫走错路,多让它走對路。具体能抓多少、什么时候收錄,仍由搜尋引擎决定,我們能做的是把條件尽量摆好,而不是承诺结果。