抓取预算是资源分配问题
搜索引擎分配给站点的抓取次数并不是一个固定配额,而是根据站点规模、响应速度、更新频率动态调整的量级。站点越大、地址越多,这个量级就越容易被稀释。当同一段抓取时间被大量低价值地址占用时,真正需要被发现的页面只能排队。很多站点感觉“内容更新了,爬虫却迟迟不来”,原因往往就在这里。
所以问题不一定是“怎样让爬虫多来几趟”,而是“已经来的这些次数,花在了哪里”。
几类容易失控的地址
下面这些地址,通常最容易把抓取次数吃掉:
- 带参数的筛选、排序、分页组合,尤其是层层叠加产生的URL;
- 附带会话 ID、追踪参数、推荐来源参数的链接;
- 站内搜索结果页,能被外部拼出无数种组合;
- 日历归档、标签归档,翻页没有上限;
- 测试页、临时页、活动下线后仍可访问的页面;
- 大量自动生成、内容高度雷同的列表;
- 已经失效却仍返回 200 的空页面,也就是软 404。
它们单独看都不算错,但叠在一起,就会挤占核心页面的抓取机会。
先分层,再决定处理方式
与其逐个地址纠结,不如按价值分层,给每一层一个明确动作:
- 核心内容页与转化页:优先级最高,保证服务器可正常响应、内链可达、不被误挡。
- 有独立检索价值的列表页:保留,但限制参数组合与翻页深度,只放行有意义的筛选维度。
- 低价值组合页:能合并就合并到规范地址,不能合并的用 robots.txt 或 noindex 处理,注意阻止抓取和阻止收录并不是一回事。
- 纯功能页面:登录、购物车、结算流程,通常不需要进入索引,可统一处理。
重点是每一层都有结论,而不是“先留着,以后再说”。没有结论的地址,就是持续消耗抓取的那一类。
用日志核对,而不是凭感觉
服务器访问日志是判断抓取分布最直接的依据。按爬虫 UA 过滤后,统计抓取次数在目录、参数、状态码上的分布,经常能看到相当高比例的抓取落在参数页或错误页上。这个数字比任何猜测都有参考价值。
核对时建议看几组对照:
- 抓取次数按目录排行,是否符合你对重要页面的判断;
- 抓取落在 404、301、5xx 上的比例;
- 带参数 URL 在总抓取中的占比;
- 同一批地址的抓取频率,与它们的内容更新频率是否匹配。
如果某个目录更新很少却抓得很勤,或者某个常更新的目录几乎没人来,这就是值得优先处理的地方。
几件配合着做的小事
sitemap 只放值得收录的地址
把全站地址都塞进网站地图,并不会让收录变多,反而会让真正重要的地址被淹没。sitemap 的作用是提示,不是兜底清单。
lastmod 要真实
每次发布都刷新全站 lastmod,会让这个字段逐渐失去参考价值。只在内容确实发生变化时更新,才更容易被采信。
内链收敛
让重要页面从首页出发的点击距离保持可控,避免它们只藏在深层归档或参数列表里。抓取路径通畅,很多问题会自然减轻。
抓取分配的优化不是一次性配置,而是随着站点结构调整持续做的清理工作。
最后需要说明的是,调整抓取分配通常不会立刻带来收录量的变化,它做的是减少干扰、让有价值的地址更容易排到队首。把它当作站点结构治理的一部分,比当作提升收录的手段更合适。