很多站長只關心“蜘蛛来没来”,却不太關心“蜘蛛来了之後把時間花在哪”。日誌里顯示蜘蛛每天都在抓取,可重要栏目還是動静很小,這时候問题通常不是蜘蛛不来,而是抓取配額被大量低價值 URL 消耗掉了。
先搞清楚抓取预算是什么
抓取预算可以粗略理解為:搜尋引擎在一段時間内愿意為你的站点投入的抓取次數和带宽。它主要受两方面影响——站点本身的抓取能力(响應速度、稳定性、错誤率),以及爬虫判断哪些 URL 更值得優先抓。前者是技術問题,後者是價值判断問题。
它不是某個可以一键“提升”的開關,而是通過减少浪費、明确優先級来間接改善的。所以自查的重点是找出浪費在哪里。
從日誌里先看四個數字
- 抓取總量與時間分布:一天抓多少次,集中在什么时段,是否與訪客高峰撞在一起。
- 狀態碼分布:200、301、404、5xx 各占多少。大量 3xx 和 4xx 基本都是白跑一趟。
- 抓取最多的目錄:按路径前缀聚合,看蜘蛛把時間给了哪些栏目,是不是和你心里的重点一致。
- 被反复抓取的單個 URL:同一個地址一天被抓几十次,通常說明内容频繁變動,或者頁面结构本身有問题。
統計时把 URL 里的查询參數先去掉再聚合一次,往往能看到更真實的分布。
常见的几類抓取浪費
參數與篩選组合
篩選、排序、分頁參數能组合出成千上萬個 URL,内容却高度相似。可以在 robots.txt 屏蔽、加 canonical、對结果頁加 noindex,按實际情况選一種,不要三種同时上還互相打架。
搜尋结果頁與日歷归档
站内搜尋頁、歷史归档日歷、空标簽頁,數量大、重复度高,一般對抓取没有正向價值,却很容易吃掉可观的比例。
软 404 與重定向鏈
空頁面返回 200、一次跳轉拖成多跳,都會让蜘蛛在無意义路径上多走几趟,還顺带浪費服務器资源。
慢响應
頁面响應慢,蜘蛛單位時間能抓的頁面就少。首字节時間長期偏高时,抓取量往往會明顯下滑,這一点在服務器维護时值得一並留意。
自查後的處理顺序
- 先修 5xx 和超时,這是纯损失,排在第一位。
- 再收敛重复 URL,减少同一内容的多重入口。
- 然後精准维護站点地图,只放真正希望被收錄、且狀態正常的地址。
- 最後調整内鏈,把抓取和權重引向核心栏目。
抓取预算優化的目标不是让蜘蛛抓得更多,而是让每一次抓取都落在你希望被看到的内容上。
別用极端手段
為了省配額就把大量目錄一封了之,很容易誤伤仍在正常更新的栏目;靠爬虫 UA 做拦截更要谨慎,真實蜘蛛和伪造 UA 混在一起时,誤拦的代價通常比多抓几次大得多。每次調整後给自己留出观察窗口,對照日誌看抓取结构有没有按预期變化,再决定下一步,而不是改完就換下一個地方繼續改。