抓取预算是什么
搜尋引擎分配给每個站点的抓取资源是有限的,业内通常把它叫作抓取预算(crawl budget)。它大致由两端决定:抓取需求和抓取容量。抓取需求来自站点規模、内容更新频率、外鏈带来的重要性信号;抓取容量則受服務器响應速度、错誤率、站点整体權重等影响。
做蜘蛛池的人经常會遇到一種情况:日誌里搜尋蜘蛛的訪問记錄密密麻麻,看上去很热闹,可真正想被處理的目标頁始终没有動静。問题往往不在“蜘蛛来不来”,而在“预算花在了哪里”。
蜘蛛来了却抓不到目标頁的几個原因
入口頁數量膨胀,把配額吃光了
入口頁本身也是一種頁面,蜘蛛每抓一個入口頁,就要占用一份配額。当入口頁從几百涨到几萬,而其中大部分内容高度相似、價值有限时,抓取容量會被大量低價值 URL 消耗掉,留给目标頁的部分自然變少。
URL 形態带来的重复抓取
同一份内容如果存在參數變体、大小寫差异、带與不带末尾斜杠、分頁與排序參數等多種 URL,蜘蛛會分別当作不同地址去抓。這類重复抓取在蜘蛛池里尤其常见,因為入口頁往往是批量生成的,容易带上没必要的查询參數。
响應慢與错誤率高
服務器响應時間偏長、5xx 比例偏高、软 404 大量存在,都會让搜尋引擎主動收缩抓取容量。触發限速之後,訪問频率下降,看上去蜘蛛“變懒了”,實际是站点自己把額度弄丢了。
把预算導向目标頁的几種做法
- 控制入口頁總量。入口頁不是越多越好,優先保留有真實内容差异、能被索引的部分,其余做合並或下线。
- 统一 URL 規范。固定末尾斜杠寫法、统一大小寫、给跟踪參數做規范化處理,减少同一頁面的多個地址。
- 压缩連結深度。让目标頁尽量在較少的跳數内可達,入口頁上的連結不要层层嵌套。
- 降低响應時間。頁面尽量轻量,减少同步請求,静態资源交给缓存處理。
- 用站点地图做补充。把真正重要的目标頁放進站点地图,入口頁與它各司其职。
用日誌判断预算花在哪
日誌是唯一能直接看到预算流向的地方。建议按周統計三组資料:蜘蛛對入口頁的抓取次數、對目标頁的抓取次數、以及返回狀態碼的分布。如果入口頁抓取占比長期高于八成,而目标頁几乎為零,說明预算分配出了問题,而不是蜘蛛不認路。
抓取预算更像是一個額度,而不是一個開關。與其反复追問蜘蛛為什么不来,不如先看清楚它来了之後,把時間花在了哪些頁面上。
几個常见誤区
- 蜘蛛来得勤就說明预算充足。来訪次數和有效抓取是两回事,高频訪問低價值頁面同样是在浪費額度。
- 入口頁越多,目标頁曝光机會越大。入口頁過密反而會稀释單頁可获得的抓取机會。
- 新頁面一上线就该马上被抓。新 URL 需要被發現、排队、再抓取,這個過程本身就有延迟,属于正常現象。
一点務實的建议
與其不断往池子里加頁面,不如先做减法:清理無差异的入口頁,把 URL 收敛到規范形態,保證服務器响應稳定。這些動作不承诺任何收錄结果,但會让抓取资源更集中地落在你真正在意的頁面上。观察两到四周的日誌變化,再决定要不要繼續調整结构。