事情本身不复杂,线索都在日志里。本地用爬虫工具扫全站,导出几百条 302,GSC 的重定向报告里却只有几十条,两边数据差了一个数量级。

原因不止一个,得分开看。爬虫工具默认不跟随跳转,把中间态都记了下来。还有一种是GSC 只统计被抓取过的地址,样本本身更小。

少数情况下是爬虫带了不同的 UA,命中了站点的移动跳转规则。

动手时先让爬虫跟随跳转后再比对

curl -sIL -o /dev/null -w '%{num_redirects}' https://www.example.com/a

随后抽样核对两边的地址清单

grep -o 'https://[^ ]*' crawl.csv | sort > a.txt

剩下的就是检查是否有 UA 触发的跳转

curl -sI -A 'Mozilla/5.0 (iPhone)' https://www.example.com/

排查用的命令都是临时敲的,没有写成脚本,事后才整理。

改完先别撤,确认这几项。两边清单的交集明显扩大,确认差异来自统计口径而不是站点问题,后续按 GSC 的口径判断。

这里还有个坑。工具的结论只能当参考,最终以蜘蛛实际抓到的结果为准,别拿全量扫描数据直接判断收录状态。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189