抓取预算(crawl budget)是搜尋引擎在一定時間内愿意、也能够從你的站点抓取多少 URL 的額度。它由两部分共同决定:一是服務器能承受的抓取速率上限,二是搜尋引擎判断這里有多少值得抓的新内容和更新内容。两者取較小值,就是你實际拿到的抓取量。
先说清楚适用范围:頁面總量在几千以内、结构简單的站点,抓取预算通常不是瓶颈,收錄慢更可能是頁面质量、重复内容或内鏈深度的問题。真正被卡住的是 URL 數量大、组合多、更新频繁的站点,比如电商、分類信息、招聘、票務類。
哪些 URL 在消耗抓取額度
抓取量被吃掉,往往不是因為頁面太多,而是因為低價值 URL 太多。常见的有這几類:
- 參數组合與篩選頁:颜色加尺碼加排序加價格区間,组合起来數量惊人,真正有人搜的可能只有少數几個。
- 站内搜尋结果頁:只要能被内鏈或站点地图带到,就會被反复抓取。
- 返回 200 的空頁面:無结果的篩選頁、已下架的商品頁仍舊返回 200,會被当成正常頁面反复抓取。
- 同一頁面的多種寫法:大小寫、末尾斜杠、带不带 www 都能打開,等于把抓取量摊薄成好几倍。
- 過長的跳轉鏈:http 跳 https、再跳 www,一次訪問消耗几次請求。
- 慢响應與偶發错誤:頁面响應慢、零星出現 5xx,會让搜尋引擎主動降低抓取速率,這是最容易被忽视的一種消耗。
怎么把額度留给重要頁面
1. 减少不需要被發現的 URL
篩選、排序、會话、追踪類參數,優先在服務端或模板层控制,不让它們出現在内鏈和站点地图里。内鏈是搜尋引擎發現 URL 的主要入口。
2. 無效頁面给出明确狀態
無搜尋结果、已下架、已過期的頁面,返回 404 或 410,比返回 200 再加一句「暂無内容」要好。
3. 统一 URL 寫法
選一種形式,例如统一小寫、统一末尾斜杠規則、统一 https 且不带 www,其余形式用 301 跳過去。別让多個寫法長期並存。
4. 把重要頁面放在容易被找到的位置
首頁和栏目頁上的稳定内鏈,以及只放重要 URL 的站点地图,都能抬高這些頁面的抓取優先級。
5. 保持服務器稳定
抓取速率是双向的。响應時間稳定、错誤率低的站点,更容易拿到更高的抓取量。
两個容易踩的坑
用 robots.txt 屏蔽来省抓取:屏蔽後搜尋引擎确實不再抓取,但如果外鏈指向這些 URL,它們仍可能出現在索引里,只是没有内容摘要。要防止收錄,得先让搜尋引擎抓得到,再返回 noindex。
只看抓取量不看抓取對象:抓取次數上涨不等于好事。如果涨的都是篩選頁和參數頁,重要頁面的抓取可能一点没變。
判断抓取预算有没有被浪費,最直接的方法是把服務器日誌按 URL 归類:抓取次數最多的前 100 個 URL 里,有多少是你希望被收錄的?這個問题答不上来,其他優化都是猜。
自查顺序
- 看被大量抓取的 URL 類型,找出消耗最大的一類。
- 確認這些頁面的返回狀態是否正确,有没有该 404 却返回 200 的。
- 检查是否存在同一頁面的多種 URL 寫法。
- 检查跳轉鏈長度,以及服務器响應時間和错誤率。
- 調整内鏈與站点地图,只保留重要 URL。
- 观察一段時間後再看日誌,比較抓取结构的變化。
抓取预算並不神秘,本质是把有限的抓取次數花在值得的頁面上。它不保證收錄,但能减少無谓消耗,让重要頁面的抓取更稳定。