很多站长把抓取预算理解成搜索引擎给的一张固定额度,好像今天没用完明天还能累积。实际不是这样。抓取预算更像一种临时分配:蜘蛛在某个时间段里愿意在你的站点上花多少并发、多少请求,取决于它对你站点的判断,也取决于它自己手头还有多少事。
抓取预算的两半
行业里通常把它拆成两部分:抓取速率上限和抓取需求。前者偏技术约束,服务器慢、超时多,蜘蛛就会自动降速;后者偏意愿,取决于你的页面有多少值得抓、更新多频繁、在站内处于什么位置。
这两半的调整方式完全不同。速率上限靠优化服务器和响应时间就能松开,抓取需求则要靠内容和结构去争取。很多站点只盯着前一半,结果响应时间从 800ms 优化到 200ms,抓取量涨了一波就停了,因为后一半没动。
预算变紧的几个信号
- 日志里蜘蛛请求集中在少数几个目录,深层页面几乎不出现;
- 同一批 URL 反复被抓,另一些长期不出现;
- 抓取时段抖动大,白天很少、凌晨集中;
- 大量 5xx 或超时之后,整体抓取量随之下滑。
用自己的日志估个数
- 按天统计蜘蛛请求总数,并去掉重复 URL,得到真正被抓到的页面数;
- 看状态码分布,200 之外的比例是否偏高;
- 看平均响应时间和 P95,慢的往往是动态接口或带参数的列表页;
- 看被抓次数最多的前 100 个 URL,它们是不是你想要的重点页面;
- 对比 Sitemap 里的 URL 集合与实际被抓集合,差集就是没覆盖到的部分。
这一步做完,通常就能看出问题出在蜘蛛不想来,还是蜘蛛来了但被你拖住了。
把预算花在刀刃上
减少无效入口
参数组合、排序方式、站内搜索结果页,这类 URL 数量可以无限膨胀,但价值很低。用 robots.txt 拦截、用 canonical 收敛,或者在页面上干脆不给它们可抓链接,都是常见做法。关键是别让它们出现在蜘蛛能顺着爬到的地方。
维持重点页面的重抓频率
内链是成本最低的一种提示。把重要页面放在首页或栏目的稳定位置,比把它埋在三级列表里更能维持抓取频率。同时留意页面本身的更新节奏,长期不变的页面被抓频率下降是正常现象,不必为了催抓而制造无意义的改动。
一个常被忽略的点:预算按主机名算
如果图片、静态资源放在独立域名下,那是另一份预算,不会互相挤占。反过来,把大量内容放在同一域名下的不同子目录,它们共享同一份抓取能力。做站点拆分或合并时,这一点值得提前想清楚。
抓取预算不是你能申请到的资源,而是蜘蛛根据你的站点表现临时给出的判断。
几件不建议做的事
- 为了催抓取频繁提交 Sitemap,重复提交通常不会带来额外抓取;
- 用大量低质页面铺量,指望覆盖更多关键词,往往只会摊薄每个页面分到的抓取;
- 服务器不稳定时继续加大发布量,抓取量反而可能往下走。
总的来说,想提高抓取效率,先保证服务器稳定、URL 干净、重点页面有清晰入口,剩下的事情交给时间。抓取量的变化通常是渐进的,短期内看不到明显起伏属于正常。