蜘蛛每天在同一個站点上投入的抓取量並不固定。它先看服務器能承受多少,再看站点的整体质量和更新情况,最後把這段時間分配给不同的 URL。站点越大、响應越慢,單個 URL 分到的份額就越少。所以讨论抓取预算,本质上是在讨论這段時間花得值不值。
可用抓取量的三個變量
- 服務器响應速度:TTFB 越短,單位時間能抓的頁數越多;持續出現 5xx 或超时,蜘蛛會主動放慢节奏。
- 站点的整体更新情况:更新稳定、结构清晰的站点,蜘蛛回訪的間隔更短。
- 待抓队列的規模:如果一次新增几萬個带參數的 URL,队列里堆着的地址會稀释每個頁面的机會。
時間通常被花在了哪些地方
1. 没有變化的舊頁面
如果一批頁面每次抓取内容都一样,蜘蛛會逐步降低回訪频率。這本身是正常現象,但如果它把整個目錄都归入低频名單,而目錄里其實有頁面在更新,就有点吃亏。给更新内容留出可识別的信号,比如标题、摘要、時間戳、新的内鏈入口,會有帮助。
2. 參數和篩選产生的 URL
排序、篩選、追踪參數會衍生出大量相似頁面。這些頁面内容差別很小,却同样占用抓取額度。在連結規范或 robots.txt 层面控制它們被大規模發現,比事後從索引里清理更省事。
3. 深层頁面和孤岛頁面
從首頁点几下才能到達的頁面,抓取優先級天然偏低。如果它還没有任何内鏈指向,可能连被發現的机會都不多。把重要頁面放進主導航、列表頁或相關推荐,比等 Sitemap 慢慢派發更快。
4. 静態资源和無關路径
图片、脚本、样式,以及後台、測試、舊版本目錄的 URL,也會被請求。它們不一定進索引,但确實消耗抓取量。能屏蔽的屏蔽,能合並的合並。
怎么把配額留给该更新的頁面
- 先看日誌,統計蜘蛛最常抓的是哪類 URL,和你希望它抓的是否一致。
- 把重复頁面和參數頁收敛掉,减少待抓队列的總量。
- 保持服務器响應稳定,避免在迁移或活動期出現大面积 5xx。
- 让新内容有明确入口:列表頁、相關推荐、专题頁都可以用。
- Sitemap 只放需要被發現的 URL,不要把全站地址一股脑塞進去。
观察抓取节奏可以看哪几個指标
- 單位時間内蜘蛛的請求數量,看的是整体节奏有没有異常。
- 狀態碼分布,2xx 之外的比例過高时先排查服務端。
- 抓取频次最高的 URL 模板,判断時間是否被低價值頁面吃掉。
- 新 URL 從發布到首次被抓的間隔,這是最直观的反馈。
抓取预算不是能直接調大的開關,能做的是减少無效抓取、提高每一次抓取的價值。
別把抓得多当成目标
有些做法通過大量入口制造抓取量,短期内日誌确實會热闹。但如果抓到的頁面没有實质内容,或者反复抓取同一批 URL,長期看只是消耗服務器资源,對 URL 發現和内容可见性帮助有限。真正有意义的,是让需要更新的頁面被及时看到。
抓取节奏终究是站点状况的反映:结构清晰、响應稳定、更新有規律,蜘蛛的分配自然會更合理。