抓取预算是 Google 官方明确讲过的概念:抓取速率上限 × 抓取需求。速率上限取决于你的服务器扛不扛得住,需求取决于你的 URL 有多少、更新有多频繁。多数中小站点根本用不到这个概念,真正需要算的是URL 上百万或者日更几千条的站。算一下你属于哪一类。
抓取预算是什么,以及它对你可能不重要
Google 的抓取预算由两部分相乘:抓取速率上限(crawl rate limit)由你的服务器承受能力决定,Googlebot 会根据响应是否超时、5xx 是否频繁自适应调整;抓取需求(crawl demand)则由 URL 的受欢迎程度与更新频率决定。这两个数字都不是你能直接设置的,而是被你的站点表现「影响」出来的。
必须先说清楚:大多数网站不需要优化抓取预算。只有 URL 数达到百万级、或者一天要新增几千条内容的大型站点,抓取预算才会成为真实瓶颈。一个两千页的企业站,唯一要做的就是「别浪费时间写 Disallow」。
怎么算你的覆盖速度
最关键的一个数字是全站遍历周期,也就是 Googlebot 把你的所有 URL 爬一遍需要多久:
遍历周期(天) = URL 总数 ÷ 日均抓取请求数
如果这个数字大于你的内容更新周期,就意味着新内容还没被爬完,老内容已经变了。反过来说,如果遍历周期只有几天而你的页面一个月才更新一次,那就是抓取过剩,代价是服务器带宽与日志噪声。
常见误操作
| 操作 | 看起来的效果 | 实际发生的事 |
|---|---|---|
| 用 robots.txt 挡掉不想收录的页面 | 以为能让它从索引里消失 | 被挡的页面无法被抓取,Google 就读不到页面上的 noindex,已索引的旧版本可能长期保留。正确做法是允许抓取 + 加 noindex |
| 给筛选参数设 Disallow | 以为省下抓取预算 | 如果这些 URL 已经从外部获得链接,Google 仍会尝试抓取并看到「被 robots 阻止」,反而更浪费。更稳的是 canonical 收敛 |
| 服务器 5xx 硬扛 | 以为只是报错 | 连续出现 5xx 或超时会让 Googlebot 主动下调抓取速率,恢复需要时间。返回 503 时带上 Retry-After 更友好 |
| 限速返回 429 | 以为可以「控制爬虫」 | Google 把它理解为服务器过载,同样会降低抓取速率 |
想让抓取速率提升,最有效的动作反而是最朴素的:把响应时间降下来。Googlebot 在响应变快之后会主动提高抓取速率,这比任何 robots 技巧都有效。
真的需要优化时,优先做这四件事
- 砍掉低价值 URL。分页第 20 页之后、按日期归档、空搜索结果页、会话 ID 参数,这些几乎不会带来流量,却会吃掉大量抓取配额。
- sitemap 只留最重要的 URL,并在里面标注 lastmod。sitemap 不是「全站 URL 清单」,而是「希望优先被发现的清单」。
- 用内链把权重导向高价值页面。抓取需求本质上是链接图的函数,孤岛页面的抓取频率永远最低。
- 监控 Search Console 的抓取统计报告,看「抓取响应」里 5xx、超时、被 robots 阻止各占多少。这三项占比一高,抓取效率必然塌掉。
你可能还想问
抓取预算指什么?
指搜索引擎在一段时间内愿意在站点上消耗的抓取资源量;站点越大、更新越频繁,量通常越高,但总量仍由对方算法决定。
哪些因素会浪费预算?
大量重复或低质量地址、参数化地址的无限组合、失效链接与软 404;它们会挤占真正需要被抓取的高价值页面。
怎么把预算花在刀刃上?
屏蔽无价值的地址、合并重复内容并规范链接、把重要页面放在浅层级、保持站点地图准确;结构清晰比反复提交更有效。
速查在线工具箱