很多站长把注意力放在“蜘蛛来没来”,却很少问另一个问题:蜘蛛来了之后,把时间花在哪了。对于 URL 数量不多的站点,这个问题影响不大;但当成千上万的地址同时存在时,抓取预算的分配方式,就会直接决定重要页面多久被看一次。
抓取预算是什么,又不是什么
抓取预算可以粗略理解为:搜索引擎在一段时间内,愿意花在你这个站点上的抓取总量。它不是搜索引擎公开给出的固定数字,也不存在“每天必须抓 N 个页面”的承诺。它更像一个动态结果,受站点规模、历史抓取质量、服务器响应速度、页面更新频率等因素影响。
需要说清楚的是:抓取预算影响的是抓取,不是收录,更不是排名。把预算花对了,只意味着蜘蛛更有机会看到你希望它看到的地址。
哪些页面在悄悄消耗预算
低价值 URL 通常不是“坏页面”,而是重复、易变、缺少独立价值的地址。常见几类:
- 筛选、排序、视图切换等参数组合产生的成批 URL,内容高度相似;
- 带会话 ID、跟踪参数、时间戳的动态地址,每次访问都生成新 URL;
- 分页翻到很后面的列表页,以及“没有结果”的空列表;
- 重定向链较长,或者返回 200 但正文几乎为空的页面;
- 由前端脚本批量渲染出来的链接,蜘蛛顺着走容易进入大量无意义分支。
这些地址被反复抓取,真正需要更新的详情页、栏目页就会被往后排。
把预算往前排的几个动作
用内链把入口收窄
蜘蛛在站内的主要路径来自链接。导航、栏目、相关推荐、面包屑这些位置,尽量只指向有独立价值的页面。对于参数组合页,可以通过 canonical 指向主版本,或者在页面里减少对外输出这类链接。
Sitemap 只放你希望被抓的地址
Sitemap 不是“URL 全集”,它更像一份推荐清单。把重复参数页、空结果页、已经下线的旧地址放进去,等于主动邀请蜘蛛去消耗预算。分片时也按内容类型或更新频率来切,比单纯按数量切更好管理。
robots.txt 与 noindex 用在该用的地方
robots.txt 阻止的是抓取,noindex 影响的是索引。对大量重复、且不需要被搜索到的路径,可以用 robots.txt 减少抓取;但要记住,被 robots 拦下的页面,蜘蛛也看不到上面的 noindex 指令,两者不要混用在同一批 URL 上。
响应速度与稳定性
服务器越慢,单位时间内能抓的页面越少,这是最直接的预算消耗。TTFB 波动大、频繁出现 5xx 或超时,会让蜘蛛主动降低抓取频次。相比各种技巧,把响应时间压稳,往往收益更直接。
也要知道什么时候不必纠结
抓取预算是规模问题。一个只有几百个页面的站点,蜘蛛通常能覆盖到大部分地址,过度优化反而容易把正常页面挡在门外。先确认核心页面能被抓、能返回稳定内容,再考虑预算分配。
判断标准很简单:如果日志里大量抓取都落在重复参数页、空页和重定向上,而详情页几天才被访问一次,那就说明预算分配出了问题。
用抓取日志验证效果
调整之后不用急着下结论。隔一段时间看抓取日志,观察几个比例:有效内容页占全部抓取的比例、5xx 与 404 的数量、重定向命中的次数、核心目录被访问的频次。比例往好的方向变化,说明预算确实在往有用的地方走。