先分清“抓取少了”和“抓取没变”
看到统计里的蜘蛛数量下滑,很多人的第一反应是池子出问题了,于是马上换域名、换 IP、加大投放。但抓取量的波动来源很多:日志统计口径变了、服务器时钟不准、采集脚本只统计了部分 UA、CDN 把一部分请求挡在了回源之前。这些没排除之前就动手,等于把问题叠了一层。先定位,再调整。
第一层:日志本身是否可信
- 统计范围:是否只统计了部分入口域名,是否有节点没接入日志。
- UA 过滤:真蜘蛛与伪蜘蛛混在一起统计时,数量会被放大或缩小,建议把 UA、IP 反查、请求路径三个条件一起看。
- 时间对照:对比昨天、上周同一天的同一时段,而不是对比印象中的高峰。
- 状态码分布:200 占比、3xx、4xx、5xx 各是多少,往往比总量更能说明问题。
第二层:入口页还能不能正常返回
抓取量掉下来,常见原因是入口页本身返回异常。可以按这个顺序看:
- 直接请求入口页,确认 HTTP 状态码、响应时间、返回内容是否为预期页面;
- 检查 DNS 解析是否被改动、TTL 是否过长导致切换不及时;
- 检查证书是否过期,HTTP 与 HTTPS 是否都能正常访问;
- 检查 WAF、防火墙、CDN 规则是否误拦了蜘蛛 IP 段;
- 检查是否有大批入口页同时返回 404 或 503。
如果入口页整体可用,但某个目录抓取几乎为零,重点看该目录下的页面是否被批量改动、删除或重定向。
第三层:链路是否还通
入口页正常,不代表蜘蛛能走到目标页。顺着链路往下看一遍:跳转是否还生效、目标页是否可访问、是否被 robots 或 meta 挡住、是否触发了登录或验证码。这一段经常被忽略,因为入口页的监控指标看上去一切正常。
抓取量只是过程指标。抓取恢复正常不代表收录会恢复,收录还取决于目标页本身是否值得收录。
建议的排查顺序
按“从外到内、从便宜到贵”的顺序处理:先核对统计口径,再测入口页可用性,接着看跳转链路,最后才考虑资源层的调整,比如换 IP、换域名或调整投放量。每次只改一个变量,改完观察一个完整周期再下判断,否则很难知道是哪一步起了作用。
把基线数记下来
与其记一堆经验规则,不如给池子记几个基线数:日均抓取请求数、200 占比、入口页平均响应时间、异常状态码占比。有了基线,波动是噪声还是故障一眼就能分辨,更换资源或调整规模之后也方便做前后对比。