搜尋抓取

蜘蛛能抓多少:抓取预算的分配與浪費排查

搜尋引擎對單個站点的抓取量並非無限,它會随站点体量、更新频率、响應速度和頁面质量浮動。這篇文章讲怎么從日誌里看出抓取力气花在了哪些頁面上,哪些請求属于無效消耗,以及通過收敛無效路径、規范連結、調整内鏈和 Sitemap,把有限的抓取机會让给真正需要被發現的頁面。

搜尋抓取

蜘蛛能抓多少:抓取预算的分配與浪費排查

很多站長每天看的是蜘蛛来了多少次,却很少追問一句:這些抓取落在了哪些頁面上。搜尋引擎對單個站点在單位時間内的抓取量有一個大致上限,這個上限不是固定數字,會随站点体量、内容更新频率、服務器响應速度和頁面整体质量浮動。搞清楚抓取力气花在哪里,比單纯追求抓取次數更有意义。

先看日誌,看力气花在哪

把服務器日誌里搜尋引擎 UA 的請求導出来,按 URL 归類,按抓取次數排序,通常能看出三種情况。

  • 真正需要被發現的詳情頁、商品頁,一天只被訪問几次甚至没被訪問;
  • 带參數的篩選頁、排序頁、會话參數頁,被反复抓了很多次;
  • 404、跳轉鏈、软 404 頁面占掉了一部分請求,蜘蛛来了却什么也没拿到。

這三類情况如果同时出現,說明抓取预算的分配出了問题,而不是蜘蛛不愿意来。很多时候蜘蛛很勤快,只是把力气花在了不值得的地方。

三類常见的浪費

無效路径反复被訪問

站内搜尋结果頁、空结果的篩選頁、已经下线的活動頁,如果還有内鏈指向它們,蜘蛛就會一次次走過去。抓取這些頁面既不會带来收錄價值,又挤占了訪問重要頁面的机會。

同一個内容被多條 URL 抓取

列表頁的排序參數、追踪參數、大小寫和结尾斜杠差异,都會让同一份内容产生多個地址。蜘蛛把這些地址当成不同頁面,每個都抓一遍,等于同样的内容消耗了几倍的抓取量。

响應慢拖長了單次抓取

如果每個頁面响應都要几秒,蜘蛛在同样的抓取窗口内能走的頁面數就會明顯减少。慢响應不會直接導致不抓,但會让有限的抓取額度被少數几個慢頁面吃掉。

把预算让给重要頁面

做减法和做加法同样重要,可以按下面的顺序来。

  1. 先堵住無效入口:站内搜尋頁、空归档頁、已下线頁面,能用 noindex 的就用 noindex;確認整站都不需要的目錄,再考虑在 robots.txt 里拦截。注意 robots.txt 是阻止抓取,被拦的頁面上的 noindex 也就讀不到了,两者不要重叠使用。
  2. 收敛重复地址:頁面统一輸出一個首選地址,其余變体用 canonical 指向它;站内連結、Sitemap、分享連結都指向同一個版本。
  3. 調整内鏈分布:導航、面包屑、正文相關推荐優先指向需要被抓的頁面;标簽頁、归档頁這類入口往往數量庞大,連結要给得克制,减少蜘蛛在低價值清單里打轉。
  4. Sitemap 只放值得抓的 URL:把重要頁面放進去,無效頁面、跳轉頁面、已被拦截的頁面不要混進去。lastmod 要寫真實修改時間,不要每次生成都刷新。
  5. 提升响應速度:减少重定向层數,压缩頁面体积,別让蜘蛛把時間花在等待上。

更新节奏也會影响抓取安排

一個長期不更新的栏目,和一個每天有新内容的栏目,蜘蛛的安排不會一样。内容更新节奏稳定、頁面确實有變化的站点,更容易获得稳定的回訪。反過来,如果頁面只是改了几個無關紧要的字,却频繁更新 lastmod,反而會让蜘蛛白跑几趟,久而久之對這類信号就不那么当真了。

抓取量下降不等于出了大事

抓取次數是波動的。站点整体质量提升、重复頁面收敛之後,日誌里的總抓取次數甚至可能减少,但重要頁面的抓取比例會提高。判断标准不是绝對數量,而是重要頁面有没有被稳定抓到。如果核心頁面的抓取間隔在缩短、新頁面發布後能較快被發現,這個方向就是對的。

抓取预算是结果,不是原因。它反映的是站点的结构、速度和内容质量,而不是一個可以單獨去刷的指标。把無效路径清掉,把重要頁面接進内鏈主干,剩下的交给時間。

定期回看一次日誌,把抓取次數前几名的 URL 列出来,問自己一句:這几類頁面,是我最希望被看到的那几類吗?如果答案是否定的,那就是下一次調整的起点。