网站收录

抓取预算不够用:把有限的抓取次数留给哪类 URL

站点越大,爬虫的抓取次数就越容易被稀释。本文从抓取预算的角度出发,说明哪些地址在悄悄消耗抓取、如何给 URL 分层并确定处理方式,以及怎样用服务器日志核对抓取分布,让值得收录的页面更快排到队首。

网站收录

抓取预算不够用:把有限的抓取次数留给哪类 URL

抓取预算是资源分配问题

搜索引擎分配给站点的抓取次数并不是一个固定配额,而是根据站点规模、响应速度、更新频率动态调整的量级。站点越大、地址越多,这个量级就越容易被稀释。当同一段抓取时间被大量低价值地址占用时,真正需要被发现的页面只能排队。很多站点感觉“内容更新了,爬虫却迟迟不来”,原因往往就在这里。

所以问题不一定是“怎样让爬虫多来几趟”,而是“已经来的这些次数,花在了哪里”。

几类容易失控的地址

下面这些地址,通常最容易把抓取次数吃掉:

  • 带参数的筛选、排序、分页组合,尤其是层层叠加产生的URL;
  • 附带会话 ID、追踪参数、推荐来源参数的链接;
  • 站内搜索结果页,能被外部拼出无数种组合;
  • 日历归档、标签归档,翻页没有上限;
  • 测试页、临时页、活动下线后仍可访问的页面;
  • 大量自动生成、内容高度雷同的列表;
  • 已经失效却仍返回 200 的空页面,也就是软 404。

它们单独看都不算错,但叠在一起,就会挤占核心页面的抓取机会。

先分层,再决定处理方式

与其逐个地址纠结,不如按价值分层,给每一层一个明确动作:

  1. 核心内容页与转化页:优先级最高,保证服务器可正常响应、内链可达、不被误挡。
  2. 有独立检索价值的列表页:保留,但限制参数组合与翻页深度,只放行有意义的筛选维度。
  3. 低价值组合页:能合并就合并到规范地址,不能合并的用 robots.txt 或 noindex 处理,注意阻止抓取和阻止收录并不是一回事。
  4. 纯功能页面:登录、购物车、结算流程,通常不需要进入索引,可统一处理。

重点是每一层都有结论,而不是“先留着,以后再说”。没有结论的地址,就是持续消耗抓取的那一类。

用日志核对,而不是凭感觉

服务器访问日志是判断抓取分布最直接的依据。按爬虫 UA 过滤后,统计抓取次数在目录、参数、状态码上的分布,经常能看到相当高比例的抓取落在参数页或错误页上。这个数字比任何猜测都有参考价值。

核对时建议看几组对照:

  • 抓取次数按目录排行,是否符合你对重要页面的判断;
  • 抓取落在 404、301、5xx 上的比例;
  • 带参数 URL 在总抓取中的占比;
  • 同一批地址的抓取频率,与它们的内容更新频率是否匹配。

如果某个目录更新很少却抓得很勤,或者某个常更新的目录几乎没人来,这就是值得优先处理的地方。

几件配合着做的小事

sitemap 只放值得收录的地址

把全站地址都塞进网站地图,并不会让收录变多,反而会让真正重要的地址被淹没。sitemap 的作用是提示,不是兜底清单。

lastmod 要真实

每次发布都刷新全站 lastmod,会让这个字段逐渐失去参考价值。只在内容确实发生变化时更新,才更容易被采信。

内链收敛

让重要页面从首页出发的点击距离保持可控,避免它们只藏在深层归档或参数列表里。抓取路径通畅,很多问题会自然减轻。

抓取分配的优化不是一次性配置,而是随着站点结构调整持续做的清理工作。

最后需要说明的是,调整抓取分配通常不会立刻带来收录量的变化,它做的是减少干扰、让有价值的地址更容易排到队首。把它当作站点结构治理的一部分,比当作提升收录的手段更合适。