很多站長把注意力放在“蜘蛛来没来”,却很少問一句:它来了以後,時間花在哪了。一個站点每天能获得的抓取次數大致是有限的,這個有限的額度就是常说的抓取预算。预算用在哪里,直接决定了新頁面多久被發現、老頁面多久被回訪。
抓取预算不是一個固定數字
没有哪個搜尋引擎會公布“你站今天可以抓 500 次”。它是一個動態结果,受站点規模、更新频率、服務器响應速度、歷史抓取成功率等因素影响。站点越大、响應越慢,预算被分摊到每個 URL 上的份額就越小。所以讨论抓取预算,重点不是去猜具体數字,而是看這些額度被消耗在了什么地址上。
预算通常消耗在哪几類地址
- 參數组合:篩選、排序、追踪參數把同一個列表拆成几十上百個地址。
- 浅层重复:列表頁、标簽頁、归档頁彼此内容高度重合。
- 深分頁與無限滚動:翻到很後面的頁,對用戶價值低,對蜘蛛却是持續的消耗。
- 歷史遗留 URL:老目錄、老規則生成的地址,仍被内鏈或舊 sitemap 引用。
- 跳轉鏈條:一次訪問经過两三次 301 才到终点,等于一次抓取做了三次請求。
- 大而慢的頁面:首字节時間過長,蜘蛛會主動降低對该站的訪問强度。
几種常见的预算浪費
第一類是把“所有能生成的地址”都暴露给蜘蛛。比如篩選條件任意组合都返回可訪問頁面,這些頁面既不缺内容也不獨特。第二類是内鏈指向了不该被抓的地址,比如每個頁面底部都鏈向全部歷史归档。第三類是 sitemap 里塞了大量低價值 URL,蜘蛛按图索骥,先抓到的可能都是次要頁面。
抓取预算是零和的:多抓一個重复地址,就少抓一個真正需要更新的頁面。
把预算引到真頁面上的做法
- 明确哪些地址模式不该被抓:用 robots.txt 挡掉參數组合、内部搜尋、會话 ID,而不是让它們自然被訪問到。
- 让重要頁面更浅:首頁到内容頁的点击距离控制在三次以内,减少只能靠深分頁到達的頁面。
- 精简 sitemap:只放規范 URL 和确實需要發現的頁面,保持與站内連結一致。
- 合並重复:能用 canonical 收敛的就收敛,不能收敛又無價值的就考虑 410 或 noindex。
- 修好服務器响應:降低 TTFB,减少 5xx,蜘蛛對稳定快速的站点會给更多回訪。
- 减少跳轉层數:把鏈路压缩到一跳,直接指向最终地址。
判断预算是否被浪費的信号
- 日誌里大量抓取落在參數頁、搜尋结果頁,而新内容頁很少出現。
- 抓取量不低,但新發布的頁面進入“已發現未编入索引”的時間明顯拉長。
- 同一個 URL 被反复抓取且内容長期没有變化。
- 蜘蛛抓取集中在你並不在意的老目錄上。
這些信号出現时,通常不需要什么“提高预算”的技巧,而是把入口收窄、把重复消掉。需要强調的是,抓取预算只影响頁面被發現的效率和回訪频率,它並不决定頁面能不能被收錄。内容质量、頁面是否可索引、是否满足用戶需求,仍然是更前面的门槛。