蜘蛛每天来多少次,不是我們能直接决定的,但站点上哪些地址值得它花時間,很大程度上可以引導。抓取配額(也有人叫抓取预算)说的就是這件事:搜尋引擎分配给一個站点的抓取资源是有限的,站点越大、更新越频繁,這個矛盾越明顯。
抓取配額到底指什么
它大致分两层。一是站点层面,搜尋引擎根據站点規模、更新频率、响應速度,决定每天派多少蜘蛛、爬多少地址。二是頁面层面,同一批抓取资源分给谁。当站点有几十萬個地址,而蜘蛛每天只愿意抓几千個时,選谁就變得重要了。
配額不是固定值,會随站点质量、稳定性和内容更新情况浮動。所以真正要做的不是“抢配額”,而是减少浪費,让有限的名額落在有價值的頁面上。
先判断:你的站是不是真的缺抓取
不是所有站都需要操心這件事。内容量在几百頁以内、更新节奏平稳的小站,通常没必要做特別優化。可以從服務器日誌里找几個信号:
- 重要栏目的新頁面,從發布到被首次抓取的時間是否明顯變長;
- 蜘蛛每天抓取的地址里,參數頁、篩選頁這類重复入口占多大比例;
- 是否同一批地址被反复抓取,而另一些地址長期没人訪問;
- 抓取請求的响應狀態里,5xx、超时、多級跳轉是否占比偏高。
如果這几個信号里有两三條同时成立,才值得動手整理。否則容易把精力花在收益很小的地方。
配額通常浪費在哪里
參數與篩選组合
排序、篩選、分頁參數一旦可以自由组合,一個栏目就能裂出成百上千個可抓地址。這些地址内容高度相似,蜘蛛抓完也带不走多少新東西,却占用了大量名額。常见的處理方式是限制參數组合的暴露,只保留有價值的排序维度,其余用 robots.txt 或頁面上的 nofollow 收口。
低價值的模板頁
标簽云、作者頁、日期归档、空栏目、站内搜尋结果頁,這類頁面數量往往遠超正文頁。它們不是完全没用,但如果大量存在又没有實质内容,就會持續消耗抓取资源。
跳轉鏈與失效地址
一次跳轉就是一次額外請求。站内如果還有多級跳轉、循环跳轉,或者大量地址返回 404、302,蜘蛛就會把時間花在這些死路上。定期清理跳轉鏈,比事後补救更省事。
把訪問留给重要頁面的几個做法
- 明确哪些頁面是重点。把首頁、主要栏目頁、近期更新的内容頁列出来,其余都算次要。
- 让入口清晰。重点頁面從首頁出發的点击深度尽量控制在三层以内,別只能靠站内搜尋找到。
- 用站点地图标注重点。sitemap 只放需要被收錄的規范地址,別把上千個參數頁一起塞進去。
- 减少重复入口。同一篇内容只保留一個規范 URL,其余通過 301 或 canonical 收口。
- 保證响應稳定。抓取时段内不要出現長時間超时或 5xx,否則蜘蛛會主動降低抓取频率。
- 把更新集中在已有頁面。與其不断新建薄内容頁,不如把已有頁面补充完整。
几個容易踩的坑
有人為了“省配額”,干脆把大批目錄直接屏蔽。這么做短期内抓取量确實下降,但被屏蔽的頁面也失去了被收錄的机會,之後想恢复並不容易。
屏蔽是最後手段,不是常規操作。能用連結结构和規范标簽解决的問题,尽量不要用 robots.txt。
另一個常见做法是频繁改動站点结构。每次調整都會让蜘蛛重新認识站点,短期内抓取效率反而下降。结构稳定本身就是一種優化。
一個简單的自查节奏
不必每天盯着日誌。可以每月看一次:新增頁面被首次抓取的平均時間、蜘蛛抓取的地址類型分布、異常狀態碼占比。三個數字有恶化趋势时再深入排查,平时把内容更新和结构稳定做好就够了。