先把当时的情况摆出来。百度站长平台的抓取频次从 3 档掉到 1 档,持续了两周。站点没动 robots,也没有大面积 5xx,日志里百度蜘蛛的请求从每天八千掉到一千五。

把日志和配置对完,能解释这个现象的基本就这几处。改版后大量旧地址同时 301,蜘蛛连续命中跳转。少数情况下是服务器对百度蜘蛛的响应时间从 200ms 涨到 1.2 秒。

不容易想到的是,部分栏目返回 503 超过阈值。还有一种情况,站点结构变动大,抓取配额被重新评估。

动手时先按 UA 统计百度蜘蛛的请求与状态

grep 'Baiduspider' access.log | awk '{print $9}' | sort | uniq -c | sort -rn | head

算一下平均响应时间

grep 'Baiduspider' access.log | awk '{s+=$NF;n++} END {print s/n}'

随后把

返

稳

定

恢复的判定其实很直接。响应时间压回 300 毫秒并稳定一周后,频次升回 2 档,抓取量恢复到每天五千次左右。

容易忽略的是,频次等级是结果不是开关,先让蜘蛛拿到稳定的 200 和更快的响应,再谈申请。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189