抓取预算到底是什么
很多人把抓取预算理解成搜索引擎给的一个固定数字,其实它更像一段时间里蜘蛛愿意在你站上花的总成本:能开多少连接、每次愿意等多久、同一时刻有多少页面在队列里排队。站点小的时候这部分成本几乎用不完;站点一大,尤其是列表页、筛选页、历史归档堆在一起,预算就会被摊薄,重要页面反而要等更久才能被回访。
它没有公开的官方数值,但可以通过服务器日志观察:单位时间内蜘蛛的请求数、命中的路径分布、同一目录下被反复抓取的页面类型。能看到的只有行为,看不到的是分配逻辑,所以调整的依据应该是日志,而不是感觉。
预算通常消耗在哪些地方
- 可抓取的 URL 总量:一个筛选组合就生成一批地址,蜘蛛会顺着链接去发现,URL 越多,单个页面被回访的间隔就越长。
- 响应时间:同样抓 100 个页面,平均 200ms 和平均 2s,占用的时间差一个量级。慢页面拖累的不只是自己。
- 重复与近似重复:参数、大小写、末尾斜杠、打印版页面,会让蜘蛛把同一份内容抓很多遍。
- 无效页面:软 404、空列表、重定向链、没有内容的归档页,抓了但基本没有产出。
- 跳转与错误:每一次重定向和 5xx 重试,都在消耗同一份预算。
怎么把预算往重要页面上挪
- 先控制总量:能通过参数收敛、noindex 或 robots 规则处理的低价值页面,尽量不让它们进入可抓取集合。这一步的收益通常最直接。
- 再加快速度:检查 TTFB、数据库查询和缓存命中率。服务器稳定是抓取节奏的前提,慢和抖动是两种问题,排查方式也不一样。
- 然后理顺入口:重要页面要能从首页或一级栏目用少量点击到达,内链指向具体内容页而不是层层中转。入口清楚,蜘蛛才不必靠 Sitemap 去猜。
- 最后对齐 Sitemap:只放真正希望被索引的 URL,并保持 lastmod 真实。Sitemap 里的地址和站内实际链接不一致时,站内链接通常是主导,多出来的那部分作用有限。
用日志验证,而不是凭印象
调整之后,看三件事就够了:蜘蛛对目标目录的抓取次数有没有上升、对低价值路径的抓取有没有下降、抓取结果里重要页面的占比有没有变化。如果总量没变、结构也没动,说明改动没生效,或者被别的地方抵消了。
抓取预算不会凭空增加,能做的是把有限的抓取机会从低价值页面挪到高价值页面,并保证蜘蛛来的时候服务器是清醒的。
还有一点常被忽略:分配是动态的。站点质量、更新频率、新出现的外部入口、服务器稳定性,都会影响蜘蛛下次愿意投入多少。所以这不是配置一次就能结束的事,而是随着站点规模变化需要反复检查的日常动作。