问题出现得很突然,日志倒是留得挺全。给站点加了防刷限流,第二天 GSC 报大量 429,抓取量直接腰斩,用户侧却没有感知。

把日志和配置对完,能解释这个现象的基本就这几处。限流按 IP 计数,搜索引擎的出口 IP 请求非常集中。少数情况下是阈值设得比蜘蛛正常抓取速率还低。

少数情况下是限流对静态资源也生效,一次页面渲染触发几十个请求。

动手时先看日志里 429 的分布与来源

awk '$9==429 {print $1}' access.log | sort | uniq -c | sort -rn | head

给蜘蛛 IP 段单独放宽阈值

geo $limit_key { default $binary_remote_addr; 66.249.66.0/24 ''; }

只对动态接口限流,静态资源放行

location ~ \.(jpg|css|js)$ { limit_req off; }

我习惯把每一步的执行时间和结果记在一边,后面复盘省事。

别只看报错消失,验证要多做一步。429 记录消失,抓取量在两三天内恢复到限流前的水平,收录进度重新推进。

提醒一点。蜘蛛被限流后会主动降低抓取频率,恢复不是立刻的,改完规则要留几天观察再判断效果,别反复调。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189