搜尋抓取

抓取预算的分配核對:新頁面、歷史頁與低價值 URL 的取舍

抓取预算常被当成一個固定額度,實际更像站点结构、内容更新與服務器响應共同作用後的分配结果。本文把站内 URL 分成新頁面、歷史頁與低價值三類,說明如何用日誌核對抓取落在哪里,並通過内鏈、Sitemap 與狀態碼三個抓手做調整。

搜尋抓取

抓取预算的分配核對:新頁面、歷史頁與低價值 URL 的取舍

谈到抓取预算,很多人的第一反應是“蜘蛛每天给我多少配額”。更贴近實际的看法是:预算是站点结构、内容更新频率和服務器响應共同作用後,分配给各類 URL 的一個结果。它不是一個可以單獨申請的數字,而是可以通過調整入口和連結结构去影响的比例。

先分清三類 URL

想让抓取落在有用的地方,第一步是把站内 URL 分成三類,分別看待。

新頁面與更新頁面

這類 URL 需要尽快被發現。判断依據通常是發布時間、内容是否有實质更新、是否被列表頁或栏目頁引用。如果新頁面只存在于 Sitemap 里,站内没有任何入口,蜘蛛即使讀到 Sitemap,也缺少再次回訪的理由。

歷史頁面

已经稳定的老頁面不必频繁抓取。它們的價值在于内鏈是否持續指向、内容是否偶尔更新。如果同一批老頁面反复出現在抓取日誌里,而新頁面很少被訪問,說明抓取分配偏向了存量。

低價值 URL

篩選參數、排序參數、無结果的空列表、已下架頁面的残留路径,都属于這一類。它們往往是抓取消耗的主要来源,處理方式不是靠 robots.txt 一刀切,而是先確認這些 URL 是否還需要對用戶開放。

用日誌核對分配结果

把服務器日誌按路径归類,看一段時間内蜘蛛訪問的分布,比凭感觉判断可靠得多。

  • 新發布 URL 從日誌出現到首次被抓的平均間隔;
  • 同一 URL 在一天内的重复抓取次數;
  • 參數類 URL 或空结果頁在總抓取中的占比;
  • 返回 200 但正文為空的頁面數量;
  • 返回 404、410 的 URL 是否仍被反复請求。

如果後發現象明顯——低價值 URL 占比高、新頁面等待時間久——那么調整的優先級應该放在入口和狀態碼上,而不是先去找加速收錄的办法。

可調的三個抓手

  1. 内鏈结构。让重要頁面從首頁或栏目頁出發的点击深度保持在两到三层以内,新頁面發布後尽快從相關列表或聚合頁获得入口。
  2. Sitemap 的更新节奏。Sitemap 适合做补充入口,不适合塞入全站所有歷史 URL。分片时可以把更新频繁的内容單獨成片,缩短其被再次讀取的間隔。
  3. 狀態碼的准确性。下架内容返回 404 或 410,不要用 200 返回“已下架”的提示頁;暂时不可訪問的内容用 503 而不是超时,让蜘蛛知道這是临时狀態。

服務器响應也在影响分配

抓取预算是相對的:同一時間响應越慢,蜘蛛在單位時間内能取的頁面越少。持續的高延迟、偶發的 5xx、超时後的重试,都會把抓取节奏拉長。與其事後抱怨抓取量下降,不如先確認服務器在蜘蛛来訪时段是否稳定,動態頁面是否存在明顯的慢查询。對于依赖站点运营的項目来说,這一項常常比連結层面的調整更直接。

抓取预算更像一個此消彼長的比例,而不是一個可以單獨增加的額度。减少低價值 URL 的曝光,往往比争取更多抓取更有效。

一句提醒

核對的過程不需要一次做完。先固定一類問题,比如參數 URL,连續观察两三周的日誌變化,再决定下一步動哪里。任何調整都需要给蜘蛛留出重新适應的時間,短期内出現波動属于正常現象。