这个坑值得记一笔。GSC 抓取统计一周内从每天六万降到一万二,覆盖率报表的索引量纹丝不动,服务器日志总量也没变化,只是蜘蛛的请求变少了。
刚开始盯着「上一轮抓取中大量页面返回 5xx,蜘蛛降低了访问频次」,折腾了半个多小时,排掉了。
真正麻烦的地方在于,几个原因的现象几乎一样。sitemap 抓取失败后蜘蛛失去了发现新页面的入口;站点响应时间从 200ms 涨到 1.8 秒,抓取预算被主动收缩;robots 或 CDN 规则的变化让部分目录变得不可达。
上来先按日期统计蜘蛛请求数看拐点
awk '$0~/Googlebot/{print substr($4,2,11)}' access.log | sort | uniq -c | tail -14
再往下看同期的响应时间分位
awk '$0~/Googlebot/{print $NF}' access.log | sort -n | awk '{a[NR]=$1} END{print a[int(NR*0.95)]}'
接着确认 sitemap 近期是否被抓取过
grep -E 'sitemap.*(200|304|500)' access.log | tail -10
末了按目录统计抓取占比变化
awk -F'"' '{split($2,a," "); print a[2]}' access.log | cut -d/ -f2 | sort | uniq -c | sort -rn | head
怎么算真的好了,看的是同一批现象。修复 sitemap 生成脚本并压回响应时间后,抓取量在第五天恢复到四万以上,索引量的下滑也同步止住。
容易忽略的是,抓取量掉而索引量不动,说明存量页面还在,问题出在发现和调度环节,别急着改页面内容。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。
