先把当时的情况摆出来。抓取统计的主机名一栏出现大量 IP 直连请求,占四成左右,这批请求全部返回 404,www 主机名的抓取量反而在往下掉。

原因不止一个,得分开看。DNS 里有一条 A 记录直接指向源站,蜘蛛按 IP 抓。还有一种是历史外链和采集站存的是 IP 地址,蜘蛛顺着爬过来。

少数情况下是源站没有对 IP 访问做跳转,返回了默认站点。不容易想到的是,SEO 资源只登记了域名,IP 请求全被归到其他。

先按主机名统计 404 的分布

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

源站对 IP 直连统一跳转到域名

if ($host ~ '^\d+\.\d+\.\d+\.\d+$') { return 301 https://www.example.com$request_uri; }

接着确认解析里没有暴露源站 IP

dig +short www.example.com A

末了在抓取统计里按主机名筛选核对

https://search.google.com/search-console/index

别只看报错消失,验证要多做一步。两周后 IP 主机的抓取占比降到 1% 以下,404 条数同步减少,www 主机名回到原来水平。

容易忽略的是,把源站 IP 暴露在解析里等于给采集和扫描留了入口,能上 CDN 就别让 A 记录直指源站。改动前把原配置备份一份,出问题能马上回滚,这比任何技巧都实用。

作者 9823189