网站收录

抓取预算怎么花:让爬虫多看到重要 URL 的几个做法

抓取预算不是固定数字,却常常被浪费在参数页、跳转链和失效地址上。本文从减少浪费和引导优先两条线,说明哪些页面类型容易消耗额度,如何用内链、站点地图和层级结构把爬虫引向重要 URL,并给出几项可观察的核对指标。

网站收录

抓取预算怎么花:让爬虫多看到重要 URL 的几个做法

抓取预算不是一个固定数字

很多站点在讨论收录时,会默认爬虫总能“把整站看一遍”。实际上,搜索引擎对单个站点在一段时间内的抓取次数和并发是有限度的,这个额度常被称作抓取预算(crawl budget)。它没有公开的固定值,会随站点规模、更新频率、服务器响应速度和历史抓取表现而变化。

所以问题往往不是“爬虫有没有来”,而是“来的时候把时间花在了哪里”。如果重要页面迟迟不被抓取,先别急着重复提交,通常要看两件事:有没有在低价值 URL 上浪费额度,以及有没有明确信号把爬虫引向核心页面。

先看浪费:几类常见的预算消耗

参数组合和会话类 URL

筛选、排序、分页参数、会话 ID、追踪参数,如果每一种组合都能生成可抓取的地址,爬虫很容易在同一批内容上反复打转。

  • 确实没有收录价值的参数组合,可以考虑用 robots.txt 挡掉,但要确认不会连带挡住核心页。
  • 页内筛选尽量采用不生成新可抓取地址的方式实现,或者用 noindex 控制,同时保证入口可控。
  • 会话类、追踪类参数对收录没有帮助,尽早去掉或在站内链接中规范掉。

跳转链和失效地址

一次跳转常常要多花一次请求,链式跳转(A→B→C)比直接跳转更浪费。如果站内还在大量链接到已经 301 的旧地址,爬虫就会反复走同一条绕路。把内链直接指向最终地址,并把跳转压缩到一层,通常比事后补救更省事。

404、软 404 和空壳页

这些地址本身没有收录价值,却会持续被内链或站点地图送进抓取队列。定期清理内链里的死链,把确实没有内容的页面下架或返回明确的失效状态,比让它们长期挂着更省额度。

再把额度引向重要 URL

减少浪费只是一半,另一半是给爬虫清晰的优先级。

  1. 内链位置:从首页、栏目页、相关文章模块链出去,通常比藏在很深层级里更容易被频繁抓取。
  2. 被引用次数:同一地址被站内多篇内容自然引用,比只出现在站点地图里一次更容易被注意到。
  3. 层级深度:核心页面尽量控制在较浅的点击深度,详情页不要只能通过“加载更多”到达。
  4. 站点地图:把真正希望被收录的 URL 放进去,lastmod 保持真实,不要把所有历史页面反复刷成新日期。
  5. 更新节奏:内容有实质变化时再更新,频繁无意义地改动会让新旧内容一起被稀释。

几项可观察的核对项

抓取预算的分配情况,可以通过抓取统计和服务器日志粗略判断:

  • 抓取请求里有多大比例落在参数页、跳转地址和 404 上;
  • 核心目录的抓取次数是否长期低于低价值目录;
  • 重要新页面从上线到首次被抓取的间隔是否在缩短;
  • 服务器响应时间是否拖慢了整体抓取节奏。
抓取额度更像是长期的分配问题:少让爬虫走错路,多让它走对路。具体能抓多少、什么时候收录,仍由搜索引擎决定,我们能做的是把条件尽量摆好,而不是承诺结果。