網站收錄

抓取配額被谁吃掉了:把爬虫的訪問次數留给真正要收錄的頁面

爬虫在單位時間内能訪問的 URL 數量有限,站点里大量參數頁、搜尋頁和空壳頁會默默消耗這些訪問机會。本文從服務器日誌的三個口径出發,說明如何找出低價值 URL、把抓取量還给正文頁,以及限速可能带来的副作用。

網站收錄

抓取配額被谁吃掉了:把爬虫的訪問次數留给真正要收錄的頁面

抓取配額不是官方術语,约束却是真實的

搜尋引擎並没有公開一份“每個站点每天能抓多少頁”的清單,但爬虫在單位時間里能處理的 URL 數量确實有上限。這個上限與服務器响應速度、站点歷史表現、頁面總量都有關系。可以把它想成一條带宽:同一時間窗口里,爬虫只走得完其中一部分地址。被走到的頁面才有机會進入後續的索引流程,走不到的只能繼續排队。

所以“收錄慢”有时不是内容质量問题,而是訪問次數被別的東西占住了。

哪些 URL 在悄悄占掉訪問次數

多數站点的問题不是抓得太少,而是抓的東西和想收錄的東西對不上。以下類型常年消耗訪問量,却很少带来實际價值:

  • 篩選、排序、追踪參數:颜色、價格区間、排序方式组合出的 URL 數量,可以轻松超過正文頁數倍。它們内容高度相似,實际收錄價值很低。
  • 無限滚動與日歷控件:日歷常常能翻到多年前的日期,每一個日期都可能生成一條可訪問地址。
  • 站内搜尋结果頁:參數化的搜尋頁會被反复抓取,尤其是被内鏈或外鏈引用過之後。
  • 重定向鏈:一次 301 跳到另一次 301,每次跳轉都是一次請求,鏈越長浪費越多。
  • 软 404 與空壳頁:返回 200 但正文近乎為空,抓取後不會产生有效索引,却占用了本次訪問机會。

先测量,再决定砍哪里

凭感觉屏蔽目錄容易誤伤真正有價值的頁面。更稳的做法是從服務器日誌里取一段连續時間的資料,再和實际想收錄的頁面清單對照。

三個可以直接對比的口径

  1. 按目錄統計請求量:看哪些路径吃掉了最多請求,正文目錄是否排在前面。
  2. 按狀態碼統計:200、301、304、404、5xx 各占多少。重定向和 5xx 比例偏高,通常說明存在浪費。
  3. 按响應耗时排序:慢頁面會拖住整体节奏,一個响應要好几秒的接口頁,可能比几十個静態頁更費预算。

把這三组數字摆在一起,差距一般就很清楚了:如果參數頁的抓取次數遠超正文頁,說明入口没有被收住。

把訪問量還给正文頁

調整的方向不是“越多越好”,而是让爬虫優先走到有内容的地址:

  • 參數頁用 robots.txt 屏蔽抓取,或阻止其進入索引流程;這两者作用並不相同,需要分開判断。
  • 把多級跳轉合並成一次,舊連結直接指向最终地址,减少中間請求。
  • 让重要正文頁尽量靠近首頁,减少需要多次点击才能到達的深度。
  • 站点地图只列出希望被收錄的規范 URL,不要把篩選頁、搜尋頁一並放進去。
  • 定期清理已失效但仍被内鏈指向的地址,避免它們反复触發 404。

放慢抓取,代價可能比你想的大

服務器压力大的时候,有人會直接限制爬虫速度,或長時間返回 429、503。這样做短期能缓解负载,但抓取频率一旦被下調,恢复通常需要一段時間。更稳妥的顺序是:先减少無價值 URL 的暴露面,再考虑是否需要限速。頁面响應變快本身,就會让單位時間内的有效抓取量上升。

抓取次數不會因為催促而變多,却會因為站内越来越干净,而分到更该去的地方。

持續观察比一次性優化更重要

站点结构會變,新栏目上线、舊活動頁下线,都會改變 URL 的分布。建议每隔一段時間重新跑一次日誌統計,對比正文頁與參數頁的抓取比例。如果正文頁的占比在上升,方向基本是對的;如果參數頁仍在增長,說明還有入口没有收住。

需要提醒的是,抓取正常不等于一定被收錄。抓取只是把頁面取回去看,是否進入索引還要看内容质量、重复程度和查询匹配。把訪問量集中在有内容的頁面上,能提高的是被判断的机會,而不是结果本身。