搜尋抓取

抓取額度有限时,先把哪批 URL 递到蜘蛛面前

蜘蛛每天愿意花在一個站上的抓取次數並不固定,站点規模一大,就容易有一批 URL 長期排不上队。與其平均撒網,不如按入口頁、枢纽頁、長尾頁分层,再结合更新频率、真實訪問和内鏈入度排序,让 Sitemap 與内鏈指向同一批優先 URL,並保持服務器响應稳定,額度才用得满。

搜尋抓取

抓取額度有限时,先把哪批 URL 递到蜘蛛面前

抓取覆盖停涨时,很多站点的第一反應是补 Sitemap、加内鏈,把能想到的 URL 都往外递。但蜘蛛每天愿意花在一個站上的抓取次數並不固定,站点規模越大,越容易有一批 URL 長期排不上队。與其平均撒網,不如先想清楚:手里這点抓取額度,優先给谁。

額度為什么會摊薄

抓取額度的關键不是“蜘蛛一共能抓多少條”,而是“在這些 URL 里,它先抓哪些、多久回来一次”。当站点里出現大量價值接近、内容重复或長期不變的頁面时,額度就被摊平了,真正需要更新的頁面反而要等更久。

常见的摊薄来源包括:

  • 篩選參數、排序參數组合出的頁面,内容與主列表高度重合;
  • 空结果的搜尋頁、没有實际内容的分類頁;
  • 多年未更新的存档頁、标簽頁;
  • 同一套模板批量生成的頁面,正文差异很小;
  • 内鏈把每個頁面都指一遍,等于没有重点。

先把 URL 分成三层

排序之前,得先知道手里有哪些牌。可以按頁面在站点里承担的角色,粗略分成三层。

入口层

首頁、主要栏目頁、频道首頁。這层是蜘蛛進入站点後最先拿到的一批 URL,也是分發抓取线索的起点。它們需要稳定、可達、更新节奏明确,不要频繁改路径或換模板结构。

枢纽层

承担聚合與分發作用的頁面,比如列表頁、专题頁、标簽聚合頁。它們本身不一定有多少流量,但决定了蜘蛛能不能顺着往下走。這一层要保證列表有稳定分頁、連結可抓,並且別把全部出鏈都堆在需要交互才能展開的位置。

長尾层

具体内容頁、商品頁、詳情頁。數量最多,也最容易堆积“已發現未抓取”。這层不适合靠全站内鏈铺開,更依赖 Sitemap 和上层枢纽頁的稳定指向。

排優先級的三個信号

分层之後,同层内部還可以再排一遍。不用做得太复杂,三個信号就够用:

  • 更新频率:近 30 天有實质更新的頁面,優先于長期不變的頁面。注意是“實质更新”,改個時間戳不算。
  • 真實訪問:有自然搜尋点击、有站内跳轉的頁面,說明它對用戶有價值,值得让蜘蛛更快回来。
  • 内鏈入度:被多個枢纽頁引用的頁面,通常比只有一條連結指向的頁面更重要。入度太低的長尾頁,可以考虑收進 Sitemap,而不是硬塞進導航。

内鏈和 Sitemap 要指向同一批 URL

常见的問题是两套线索各说各话:Sitemap 里列了几萬條,内鏈只指了几百條;或者内鏈把舊頁面指得很勤,Sitemap 却早就換了一批。蜘蛛面對冲突的信号,通常會選更保守的那條路径,结果两邊都没走透。

比較稳的做法是:把優先級最高的那批 URL,同时放進内鏈和 Sitemap,並且让内鏈的位置尽量靠前、锚文本尽量准确。優先級低的頁面可以只出現在 Sitemap 里,不必占用内鏈位置。

线索一致比线索多更重要。同一個 URL 被两條路径反复確認,蜘蛛回来的节奏才會稳定,而不是靠一次性的集中提交。

服務器稳定性决定額度能不能用满

即使優先級排得再好,如果服務器响應慢、偶發超时,蜘蛛的抓取节奏也會被打乱:一部分額度會消耗在重试和失敗請求上,剩下的才轮到正常頁面。反過来,稳定的响應能让蜘蛛在同样的時間窗口里多抓几條,等于變相扩大了可用額度。

值得關注的不是峰值性能,而是持續可用的表現:平均响應時間、错誤率,以及爬虫訪問高峰时段是否被其他流量挤掉。如果同一台服務器上還跑着多個站点,這種挤压會更明顯。

每隔一段時間复核一次

優先級不是一次性设定。新栏目上线、舊频道下线、活動頁過期,都會让原来的排序失效。建议按季度或按大版本更新,重新過一遍三层结构:入口頁是否還通、枢纽頁的列表是否還能翻、長尾頁里有没有大批已经無價值的 URL 需要收回线索。

額度有限,但方向可以選。把有限的抓取次數留给真正需要被看到的那批頁面,比盲目扩大 URL 數量更實际。