很多运营同学會問:站点几千個頁面,蜘蛛每天只来几百次,為什么抓的不是我最想要的那批?這就是通常说的抓取预算問题。它不是搜尋引擎公開的參數,而是對“單位時間内蜘蛛愿意在你站上花多少請求”的经驗描述。预算大小、分配顺序都會變,能做的只是別把预算浪費掉,並让有價值的 URL 更容易被發現。
预算大致被哪些因素影响
- 站点的整体信任度與歷史抓取表現,長期稳定的站点通常拿到更宽松的节奏;
- 服務器响應速度與错誤率,慢和 5xx 會明顯压缩每次訪問能走完的頁數;
- URL 總量與更新频率,如果每天新增大量低差异頁面,抓取會被摊薄;
- 内容本身是否需要重新抓取,長期不變的頁面對蜘蛛的吸引力自然下降。
這几項里,服務器相關的部分最容易在短期内改善,也最容易被忽略。
哪些 URL 在悄悄消耗预算
预算被浪費,往往不是蜘蛛抓错了,而是我們给了太多“看起来是新 URL、其實是同一批内容”的地址。
- 排序、篩選、跟踪參數生成的组合地址,同一個列表頁能派生出几十個 URL;
- 分頁没有上限,翻到第 50 頁仍是空列表;
- 软 404 與空结果頁返回 200,蜘蛛會反复来確認;
- 多級重定向鏈,一次跳轉消耗多次請求;
- 站内搜尋、打印頁、會话 ID 之類的地址被内鏈带出去。
處理思路是先收口再谈放行:能给 canonical 的给 canonical,能屏蔽的屏蔽,确實没有检索價值的直接返回 404 或 410。
让内鏈和 Sitemap 承担發現任務
蜘蛛發現 URL 主要靠三條渠道:外部連結、站内連結、Sitemap 提交。预算有限时,最重要的是保證這三條渠道指向同一批規范 URL。
- 核心詳情頁要在离首頁較近的位置有稳定入口,不要只靠 Sitemap 兜底;
- 列表頁翻頁用可抓取的連結,別用纯 JS 按钮;
- Sitemap 只放規范 URL,不要把參數頁、重定向地址、已 noindex 的頁面寫進去;
- 重要頁面之間保持双向可達,避免出現只有 Sitemap 才知道的孤岛頁。
服務器表現决定预算能走多遠
同一批 URL,服務器响應 200ms 和 2s,蜘蛛能走完的數量差距很大。想稳住抓取节奏,先看這几件事:
- 响應時間:動態頁的 TTFB 尽量控制住,给蜘蛛的缓存或静態化方案要保持一致;
- 错誤率:5xx 比例升高时蜘蛛會主動降速,恢复需要時間;
- 限速:429 本身不是坏事,但要配合合理的抓取速率,而不是把蜘蛛長期挡在门外;
- 可用性:別在蜘蛛活跃时段做長時間维護,或至少保留一個可用的静態版本。
用日誌驗證预算花在哪了
不看日誌,抓取预算就只能靠猜。比較實用的核查顺序是:
- 按蜘蛛来源統計每日請求數,看總量是涨是跌;
- 按狀態碼分组,確認 2xx、3xx、4xx、5xx 的占比變化;
- 把 URL 归類,比如詳情頁、列表頁、參數頁、搜尋頁,看各類占比是否合理;
- 對比 Sitemap 中的 URL 與實际被抓 URL 的交集,判断發現渠道是否有效;
- 找出被反复抓取但内容不變的頁面,這些通常是最该收口的對象。
抓取预算不是可以“開通”的權限,能做的只是减少浪費、提高可發現性、让服務器別拖後腿。任何声称能保證抓取量或收錄结果的说法,都不必当真。
調整之後不要期待立刻见效,蜘蛛的行為變化通常有一到几周的观察期。建议把上面几步固定成月度检查:先看服務器指标,再看 URL 质量,最後看内鏈和 Sitemap 的一致性。三者稳定之後,抓取自然會更多流向真正有检索價值的那批頁面。