搜尋抓取

抓取预算有限时,蜘蛛的每次訪問该落在哪里

站点頁面很多,蜘蛛每天却只来有限次數,抓取预算就這样被摊薄。本文從 URL 消耗、内鏈與 Sitemap 的發現效率、服務器响應與错誤率几個角度,說明怎么减少浪費,並给出用日誌核對抓取去向的步骤,让有限的抓取更多落在有检索價值的頁面上。

搜尋抓取

抓取预算有限时,蜘蛛的每次訪問该落在哪里

很多运营同学會問:站点几千個頁面,蜘蛛每天只来几百次,為什么抓的不是我最想要的那批?這就是通常说的抓取预算問题。它不是搜尋引擎公開的參數,而是對“單位時間内蜘蛛愿意在你站上花多少請求”的经驗描述。预算大小、分配顺序都會變,能做的只是別把预算浪費掉,並让有價值的 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,蜘蛛能走完的數量差距很大。想稳住抓取节奏,先看這几件事:

  1. 响應時間:動態頁的 TTFB 尽量控制住,给蜘蛛的缓存或静態化方案要保持一致;
  2. 错誤率:5xx 比例升高时蜘蛛會主動降速,恢复需要時間;
  3. 限速:429 本身不是坏事,但要配合合理的抓取速率,而不是把蜘蛛長期挡在门外;
  4. 可用性:別在蜘蛛活跃时段做長時間维護,或至少保留一個可用的静態版本。

用日誌驗證预算花在哪了

不看日誌,抓取预算就只能靠猜。比較實用的核查顺序是:

  1. 按蜘蛛来源統計每日請求數,看總量是涨是跌;
  2. 按狀態碼分组,確認 2xx、3xx、4xx、5xx 的占比變化;
  3. 把 URL 归類,比如詳情頁、列表頁、參數頁、搜尋頁,看各類占比是否合理;
  4. 對比 Sitemap 中的 URL 與實际被抓 URL 的交集,判断發現渠道是否有效;
  5. 找出被反复抓取但内容不變的頁面,這些通常是最该收口的對象。
抓取预算不是可以“開通”的權限,能做的只是减少浪費、提高可發現性、让服務器別拖後腿。任何声称能保證抓取量或收錄结果的说法,都不必当真。

調整之後不要期待立刻见效,蜘蛛的行為變化通常有一到几周的观察期。建议把上面几步固定成月度检查:先看服務器指标,再看 URL 质量,最後看内鏈和 Sitemap 的一致性。三者稳定之後,抓取自然會更多流向真正有检索價值的那批頁面。