抓取预算不是玄学,是注意力的分配
蜘蛛不會無限量地抓取一個站点。它會在單位時間内给每個站点分配一定的抓取次數,站点越大、URL 越多,單個頁面分到的机會就越少。运营里常说的“抓取预算”,可以理解成蜘蛛愿意在你站上投入多少時間。它没有開關可以調,但會受站点质量、更新频率、服務器响應速度和頁面價值影响。
所以当站点從几百個 URL 長到几萬個 URL 时,原来够用的抓取频次就會變得紧張。此时與其天天看收錄數量,不如先看蜘蛛每天到底在抓什么。
先用日誌確認蜘蛛的訪問去向
從服務器日誌里筛出主流搜尋蜘蛛的 UA,按天看几個指标:抓取總次數、被抓 URL 的分布、狀態碼比例、平均响應時間。不要只看總數,總數涨了不代表重点頁面被照顾到。
- 抓取次數是否在持續下降,還是只是短期波動;
- 被抓最多的 URL 是不是核心栏目和内容頁;
- 带參數的篩選頁、排序頁占比有多高;
- 301、404、410 這類狀態碼占了多少請求;
- 蜘蛛拿到的頁面响應時間是否明顯高于普通用戶。
如果日誌里大量請求落在無意义的參數组合上,所谓的抓取预算就已经被消耗掉了。
减少低價值 URL 的入口
低價值 URL 通常有几類:篩選參數、排序方式、打印版本、會话 ID、重复的分頁列表。它們不一定都要刪除,但需要控制蜘蛛發現和抓取的路径。
- 篩選參數如果會生成大量相似頁面,可以用 robots.txt 限制抓取,或用 noindex 让它不被索引,但要先確認没有誤伤真正有用的頁面。
- 分頁不要一律屏蔽。列表分頁往往是老内容的重要入口,屏蔽後可能让深层頁面更难被發現。
- 确定不再使用的頁面,用 301 指向替代頁面,或用 410 明确告知已刪除,不要長期返回 200 却放空内容。
- Sitemap 只放希望被發現的 URL,不要把篩選结果、站内搜尋结果頁全部塞進去。
用内鏈和 Sitemap 做引導
蜘蛛更多是沿着連結走的。你希望它優先抓什么,就應该让重要頁面有更短、更稳定的連結路径;不希望它花時間的頁面,就减少内鏈入口。
- 首頁和栏目頁保持指向核心内容的連結,不要让重要入口只出現在很久以前的文章里。
- Sitemap 按内容類型拆分,更新時間和優先級尽量反映真實情况,不要全部設定成同一档。
- 相關推荐、热门标簽、歷史归档控制在合理數量,避免每個頁面都产出大量重复列表。
- 新内容發布後尽快從已有頁面鏈過去,不要只等蜘蛛自己碰运气。
服務器响應也會影响抓取节奏
蜘蛛在抓取时同样會受响應速度影响。頁面打開慢、重定向多、並發請求被拖住,都會降低單位時間内的有效抓取量。检查时可以看首字节時間、頁面体积、重定向鏈長度,以及蜘蛛訪問时是否触發了复杂查询。
- 合並或去掉不必要的跳轉,减少每一跳的等待;
- 压缩图片和静態资源,避免蜘蛛和用戶一起等加载;
- 检查抓取高峰是否與业務高峰、备份任務、資料同步撞在一起;
- 對蜘蛛频繁訪問的頁面,確認缓存策略是否合理。
可以放進周检清單的几件事
- 拉一周日誌,看抓取總量和核心栏目的抓取占比。
- 抽查 Sitemap 中的 URL,估算低價值頁面的比例。
- 检查新發内容是否在两天内至少有一個站内入口連結到它。
- 對篩選參數頁面做抽样,判断是否應该繼續允许索引。
- 记錄調整前後的抓取分布變化,不要只看一两天就下结论。
抓取预算自查不是做一次就結束的事。栏目調整、活動頁上线、URL 規則變化,都會改變蜘蛛面對的可抓取面。把它放進常規运营清單,比等到發現收錄變慢再回头翻日誌要轻松得多。