这个坑值得记一笔。9 月换域名,按经验保留 301 满 90 天就撤掉,结果一批行业站的外链仍在指向旧地址,直接返回 404,来自外链的流量一周内归零。
刚开始盯着「旧域名的权重还没有完全转移,撤掉后剩余部分直接丢失」,折腾了半个多小时,排掉了。
原因不止一个,得分开看。撤 301 前没有统计旧域名还在产生多少访问;外链方更新链接的周期远长于三个月;撤除操作是整域关闭,没有保留关键页面的映射。
动手时先统计旧域名当前的访问量与外链来源
awk '$7 ~ /^\/post\//{c++} END{print c}' old_access.log
恢复关键路径的 301 并长期保留
server { server_name old.example.com; return 301 https://www.example.com$request_uri; }
等前面都确认过,再核对旧域名是否还有解析与证书
dig +short old.example.com
怎么算真的好了,看的是同一批现象。恢复 301 后外链流量当天回流,之后改成长期保留最小跳转规则,只关闭无流量的目录。
三个月是经验值不是标准,只要旧域名还有外链和访问,跳转就应该继续留着,成本几乎为零。这类问题最好一次改到位,反复小改反而容易把原因搅混。
