现场是这样的。换域名三个月后把旧站整体下线,服务器上留了一条默认拒绝规则,所有旧地址返回 403。一周后新站的收录开始下滑,GSC 里新资源出现大量抓取异常,旧域名的外链也全部失效。
中间走过弯路,把「旧域名的部分 URL 与新站共用 CDN 配置 规则被一起套用」当成主因,改完现象没变。
把日志和配置对完,能解释这个现象的基本就这几处。旧站直接断掉 没有做 301 承接 权重传递链断裂;403 被判定为访问受限 蜘蛛降低了整个站群的抓取频率;外链仍指向旧地址 用户点进来看到的是拒绝页。
上来先确认旧域名当前返回的状态
curl -sI https://old.example.com/p/123 | head -1
随后把旧站恢复成 301 承接
server { server_name old.example.com; return 301 https://new.example.com$request_uri; }
保留旧证书避免握手失败
certbot certonly -d old.example.com -d www.old.example.com
剩下的就是核对新站的抓取是否恢复
grep -c 'new.example.com' access.log
恢复的判定其实很直接。恢复 301 后,旧外链重新指向新站内页,新资源的抓取异常在两周内消失,收录量也止住了下滑。
提醒一点。旧域名下线不能一断了之,至少要留一年的 301 和证书,否则外链价值和抓取信任会一起断掉。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
