你这套流程基本就是标准答案了,唯一建议改一下的是 nginx 那段——别用 rewrite,直接用 return 301 https://新域名$request_uri; 更稳。
原因有两个:一是 return 不涉及正则匹配,性能更好,二是 $request_uri 会把原始路径和 ? 后面的查询参数一起带过去,不会出现你担心的参数丢失或者正则捕获写错的情况。配置上单独开一个 server 块专门处理老域名,server_name 把带 www 和不带 www 的都写上,让它一步跳到新域名的 https 最终地址,避免 http→老域名https→新域名 这种两跳链。
验证环节很多人偷懒只看首页。正确的做法是 curl -I 随便抽几个内页和带参数的商品页,确认状态码是 301、Location 头带完整路径;再拿 Screaming Frog 跑全站,凡是跳转链超过一跳的、返回 302/307 的,全部挑出来改掉。CDN 那边别忘了刷缓存和改回源域名,否则你服务器改好了,CDN 还在吐老内容。
你提到的百度「站点改版」和 GSC「更改地址」确实是提速关键,能省一大截重新收录的时间。老域名续费三年这招也对,等于留个后门。
最后补个最大的坑:老域名攒的外链权重不会自动跟过来,301 只传一部分。有条件的话主动联系几个权重高的外链站长改链接,比干等蜘蛛爬强得多。谷底期通常一到两个月,这期间千万别手痒再动配置。