站内有几千个页面,重要产品页却几个星期才被抓一次;反过来,一堆筛选参数、分页和废弃 URL 天天被爬。这时候经常有人问"抓取预算是不是不够"。先别急着下结论——按 Google 的说法,抓取预算对多数中小站点并不是瓶颈,对大型或高频更新的站点才值得专门治理。
按 Google Search Central 的官方说明:"站点的抓取预算由两个主要因素决定:抓取容量上限(crawl capacity limit)和抓取需求(crawl demand)。"Google 把抓取预算定义为"Google 能抓、也想抓的 URL 集合"(Optimize your crawl budget)。真正要做的不是"申请更多预算",而是把预算花在有价值的页面上。

这份指南是为哪些站点写的
官方开篇就说得很直接:如果你的站点页面不多、也不频繁变化,或者页面发布当天就能被抓到,你不需要读这份指南。它主要面向三类站点:
- 大型站点(100 万以上独立页面),内容更新中等(约每周一次);
- 中型及以上站点(1 万以上独立页面),内容更新很快(每天);
- 大量 URL 在 Search Console 里被判为"已发现——尚未编入索引(Discovered – currently not indexed)"的站点。
对多数中小站来说,把 sitemap 保持最新、定期看 Page Indexing 报告就足够了。官方也提醒:对 Google 搜索而言,被抓取不等于一定被收录。
两个因素,各自看什么
抓取容量上限(crawl capacity limit,也叫 hostload):Google 想在不压垮你服务器的前提下抓取。它限制了服务器为 Google 保持连接的总时长,并同时考虑并发连接数和连接时长。它随这些因素升降(同页):
- 抓取健康状况:如果站点响应稳定、响应时间(含延迟与首字节时间 TTFB)稳定或改善,上限会提高;如果变慢,或返回 5xx 服务器错误、429 限流信号,上限会降低,Google 就抓得更少。
- Google 自身的抓取限制:Google 的资源虽多但有限,需要在全网之间分配。
抓取需求(crawl demand):Googlebot 的需求随站点规模、更新频率、页面质量与相关性而变。你能影响的主要是(同页):
- 被感知到的库存(perceived inventory):在没有指引时,Google 会尝试抓取它知道的全部或大部分 URL。如果这些 URL 里有很多重复、或你本就不希望被抓(已删除、不重要等),就会浪费大量抓取时间。这是你能最有效控制的一项。
- 流行度:在互联网上更受欢迎的 URL 往往被抓得更频繁,以保持更新。
- 陈旧度(staleness):系统希望足够频繁地重抓文档,以获取变化。
另外,站点搬迁这类整站事件会触发抓取需求上升,以便在新 URL 下重新处理内容。

用 GSC 和日志定位
| 现象 | 优先看 | 可能原因 |
|---|---|---|
| 抓取总量突然下降 | GSC 抓取统计、主机状态 | DNS/连接问题、robots 误挡、服务器错误 |
| 抓取多但重要页更新慢 | 服务器日志的 URL 分布 | 核对参数与重复 URL 是否占用较多抓取;分页本身不自动等于浪费 |
| 新页面迟迟不被抓 | GSC 的"已发现——尚未编入索引" | Google 已发现但尚未抓取;官方说通常是抓取被推迟 |
| 抓取频繁触发 5xx | 服务器日志与错误率 | 服务器不稳,Google 会主动降速 |
这里要纠正一个常见的单一归因:"已发现——尚未编入索引"不等于"内容质量或权威度不行"。官方对它的定义是:"页面被 Google 发现,但尚未被抓取。通常 Google 想抓这个 URL,但预计会给站点造成过大负载,因此重新安排了抓取时间——这也是报告里最后抓取日期为空的原因。"(Page indexing report)而"已抓取——尚未编入索引(Crawled – currently not indexed)"的定义是"页面已被 Google 抓取但未编入索引;将来可能收录也可能不收录"。两者是不同状态,不要都归到同一个原因上。主机可用性问题(DNS、连接、robots)会直接压制抓取,可参考抓取量下滑先看哪儿:用 GSC 主机状态区分 DNS、连接与 robots 问题;"已发现"与"已抓取"的区别,可参考Sitemap"已发现网页"如何对账。
把预算花在有价值的页面上
官方给出的最佳实践,可以照着做(同页):
- 管理 URL 库存:用合适的工具告诉 Google 该抓什么、不该抓什么。合并重复内容;对无需抓取的重复空间可评估 robots.txt;仍需 Google 读取 canonical 或 noindex 的 URL 不能同时挡住抓取。
- 已永久删除的页面返回 404 或 410:这是"不要再抓"的强信号。
- 消除软 404:返回 200 却像"未找到"的页面会继续被抓,浪费预算。
- 保持 sitemap 最新:列出希望索引的规范 URL,内容更新时建议带
<lastmod>。 - 避免过长的重定向链。
- 让页面更易加载:优化服务器响应与资源,支持
304 Not Modified,让未变化的页面复用缓存。
两个反直觉的官方提醒值得单列:不要用 noindex 来"省抓取"——Google 仍会请求,只是在看到 noindex 后把页面丢掉,反而浪费抓取时间;也不要用 robots.txt 临时"腾挪"抓取预算——除非 Google 已经在触达你站点的抓取容量上限,否则它不会把这部分释放出来的预算转给其他页面。
一份日志分类示例(教学示例)
教学示例(虚构):把服务器日志按 URL 类型归类,找出被浪费的抓取。数字与 URL 均为演示,不代表任何真实站点。
| URL 类型(示例) | 抓取次数(示例) | 处理动作 |
|---|---|---|
| 产品详情页 /products/* | 1,200 | 保留,确保内链可达 |
| 筛选参数页 ?color=&sort= | 18,000 | 先核是否重复和是否需索引,再选择规范化或限制抓取 |
| 已删除页 /old/* | 3,400 | 返回 404/410 |
| 软 404 空页面 | 900 | 补真实内容或改正确 404 |
这张表的目标是回答"哪一类 URL 在占用抓取",而不是追求抓取总量上升。相关取舍可参考产品目录分页怎么做 SEO。
参考来源
- Google Search Central:Optimize your crawl budget(抓取预算由抓取容量与需求共同决定,并非算式;适用站点类型;抓取健康/Google 限制;感知库存/流行度/陈旧度;最佳实践;noindex 与 robots 临时腾挪的提醒)。
- Search Console 帮助:Page indexing report("已发现——尚未编入索引"与"已抓取——尚未编入索引"的官方定义)。
抓取预算问题通常出在信息架构和 URL 治理上,光算的谷歌 SEO 服务会先做一轮抓取与索引的现状盘点,区分"该抓没抓"和"不该抓却抓",再决定优化顺序。