去年一个做跨境B2B的朋友把公司域名从 old-brand.com 换成了 new-brand.com。理由很正当:新域名更短、更好记、跟品牌名完全一致。他在域名注册商后台设置了"URL转发",旧域名打不开了就跳到新域名首页。两个月后他找我,说网站的自然流量从日均800掉到了300,谷歌排名关键词掉了一整页。问题出在哪?他用的"URL转发"是302临时跳转,搜索引擎根本不认这是永久迁移,权重一分都没传过去。
域名更换这件事,技术操作只占两成工作量,剩下的八成全在"让搜索引擎知道你的权重需要搬家"这一件事上。下面从服务器配置、搜索引擎改版提交、后续监控三个层面,把每一步该做什么、踩坑点在哪都列清楚。
域名更换四阶段时间线(每一步踩错都会影响权重转移)
| 第1天 | 配置301重定向 — 服务器端设置旧域名每个页面→新域名对应页面的永久跳转 |
| 第1-3天 | 搜索引擎改版提交 — 百度站长平台"网站改版"工具 + Google Search Console"地址更改"工具 |
| 第3-90天 | 排名阵痛期 — 前14天最混乱,关键词排名波动是正常的,不要反复修改规则 |
| 18个月+ | 旧域名保留至少18个月 — 到期前不要弃用,外部反向链接还在陆续发现和转移中 |
一、301和302只差一个数字,但对搜索引擎来说是"搬家"和"借住"的区别
先说一个被问烂了但很多人还是搞错的问题:301和302到底什么区别?
| 对比维度 | 301 永久重定向 | 302 临时重定向 |
|---|---|---|
| 搜索引擎理解 | 旧域名已永久搬家,请把权重全部传给新域名 | 旧域名只是暂时借用新域名的页面,权重保留在旧域名上 |
| 权重传递 | 传递约90%-99%的权重 | 几乎不传递权重 |
| 索引变化 | 搜索引擎逐渐用新URL替换旧URL索引 | 搜索引擎继续索引旧URL |
| 适用场景 | 域名永久更换、HTTP升级HTTPS、网址结构重构 | 网站临时维护、活动页短期跳转、A/B测试 |
| 换域名该用哪个 | ✔ 必须用301 | ✘ 绝对不能用 |
很多域名注册商后台提供的"URL转发"功能,默认实现的就是302(或者更差——用iframe框架嵌套跳转,搜索引擎完全看不到内容变化)。这就是为什么开头那个朋友的流量暴跌:他在注册商后台点了个"转发",以为搞定了,实际上搜索引擎收到的信号是"这个站暂时换了地址,先别把权重转过去"。
换域名第一步就要确认的事:你的301重定向必须从服务器端配置(Nginx/Apache配置文件),不能依赖域名注册商的转发功能。注册商转发做不了页面级一一对应跳转,也控制不了301/302状态码。
二、Apache和Nginx两套301配置,直接复制改域名就能用
大部分网站用的是Apache(配合.htaccess文件)或Nginx(配合conf配置文件)。下面两套代码是最常用的整站跳转写法——旧域名所有页面自动按路径一一对应跳转到新域名。

Apache .htaccess 配置
RewriteEngine OnRewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC,OR]RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [NC]RewriteRule ^(.*)$ https://www.new-domain.com/$1 [R=301,L]把 old-domain.com 和 new-domain.com 换成你的实际域名。这段代码会保留旧URL的所有路径,比如 /product/abc → /product/abc。
Nginx conf 配置
server {listen 80;server_name old-domain.com www.old-domain.com;return 301 https://www.new-domain.com$request_uri;}$request_uri 变量自动携带旧URL的完整路径,不需要额外写RewriteRule。改完记得 nginx -s reload。
如果你的旧站内容比较多、需要逐页精确跳转(比如旧站的 /about-us 要跳到新站的 /about-company),就不能用上面的整站通配规则了。你需要做一个URL映射表——用爬虫工具把旧站所有页面爬出来,导出URL列表,再在Excel里逐行填上新URL,然后写成逐条301规则。Nginx里长这样:
rewrite ^/old-page-1\.html$ https://www.new-domain.com/new-page-1/ permanent;rewrite ^/category/shoes/$ https://www.new-domain.com/products/footwear/ permanent;rewrite ^/blog/2023/tips\.html$ https://www.new-domain.com/blog/2025-guide/ permanent;
两个容易被忽略的细节:① 301规则要写在Nginx/Apache配置文件最上方,因为服务器从上往下解析规则,放下面可能被其他规则拦截;② 配完301之后,旧域名也必须绑定有效的SSL证书,否则用户通过https://旧域名访问时浏览器会弹安全警告,85%的访客会直接关掉页面,301根本没机会执行。
三、WordPress用户有更省事的办法,但插件跳转有个隐藏问题
如果你用的是WordPress,不碰代码也有几种方式。最常用的是Redirection插件(免费,WordPress官方仓库就能装):安装后在插件设置里填旧域名和新域名,它会自动拦截所有访问旧域名的请求并301跳转。插件还会记录每次跳转的日志,方便后续排查哪些旧URL没被正确处理。
另一个简单粗暴的方法:在WordPress后台 → 设置 → 常规,直接改"WordPress地址"和"站点地址"为新域名,然后旧域名的网站会返回404。但这种方法只适用于新旧域名指向同一台服务器且旧域名不再单独使用的情况,而且需要配合服务器端301规则才能正确传递权重。
插件的隐藏问题:Redirection插件依赖PHP运行,如果旧域名指向的服务器PHP挂了或者网站被攻击了,301跳转也跟着失效。真正保险的做法是插件+服务器端配置双保险——Nginx/Apache层做第一道301(不依赖任何应用层),插件做第二道精细匹配和日志记录。
四、配置好了301只是第一步,搜索引擎那边的"改版提交"不做的后果是排名悬空几个月
301配置完,旧域名确实能跳到新域名了。但如果只做到这一步,搜索引擎需要自己慢慢爬、慢慢发现、慢慢更新索引。这个过程可能需要一到三个月,期间你的排名会非常不稳定——旧URL还在索引里但已经404了,新URL还没被收录。主动提交改版申请能把这个窗口期缩短到一到两周。
🇨🇳 百度站长平台
登录百度搜索资源平台 → 站点管理 → 选择旧站点 → 网站改版 → 站点改版。需要验证新旧两个域名的所有权(建议用文件验证或HTML标签验证,比DNS验证快)。提交后百度会在1-3天内开始处理,规则生效后旧URL逐步替换为新URL。
🇺🇸 Google Search Console
登录Google Search Console → 设置 → 地址更改。Google要求新旧域名都添加到同一个GSC账号中并验证所有权。提交后Google会用301重定向信号+改版申请双重确认来加速索引更新。同时提交新站点的XML Sitemap。
关键一步:新旧站点的内容相似度。搜索引擎不是简单看你有没有301就给你过——它会对比新旧页面的内容。如果旧站 /product/abc 跳到了新站首页(而不是新站对应的产品页),搜索引擎会判定为"软404",不传递权重。每个旧页面必须跳转到内容至少90%相似的新页面,一一对应。
五、旧域名保留多久、什么情况下可以放弃——18个月不是随便说的数字
Google官方的建议是旧域名至少保留一年以上,实际操作中建议至少18个月。原因不是搜索引擎处理慢,而是外部反向链接的发现速度。你的旧域名可能被几百个外站引用——有些是行业论坛里的帖子、有些是合作方的友情链接、有些是客户博客里的引用。这些外链的站长不会因为你换了域名就去更新链接,而搜索引擎可能需要6-12个月才能逐个爬完这些外链并更新到新地址。旧域名一过期,这些外链全部变成死链,新站的权重来源就断了。

旧域名维护三件事(18个月内不能停)
① SSL证书保持有效 — 很多人在换域名后忘了给旧域名续SSL,导致https旧链接打不开。旧域名的SSL证书和新域名一样重要。
② 301规则不要改 — 上线后半年内不要动301跳转规则。频繁修改跳转目标会让搜索引擎停止处理该页面的权重传递,前功尽弃。
③ 旧域名DNS不能停 — 域名续费一年几十块,别为了省这点钱让18个月的努力白费。
六、跳转做完之后三件事要盯紧,不然权重偷偷丢了都不知道
301配置好、改版提交完,不代表就可以撒手不管了。接下来一到三个月是权重转移的关键窗口期,三件事每天都要盯:
第一,盯404日志。每天下载服务器访问日志,过滤404状态码。如果你看到某个旧URL路径持续返回404,说明301规则有遗漏——这个页面没人管,权重正在白白浪费。正常的域名迁移,404请求占比应该控制在总请求的2%以内,超过10%就说明规则出了大问题。
第二,盯抓取频次。在百度站长平台和Google Search Console里看新站点的抓取频次。换域名后,搜索引擎会重新评估新站点的抓取预算。理想情况下,新站点的抓取频次应该在30天内恢复到旧站点水平的80%以上。如果90天了还没恢复,说明搜索引擎对新站点的信任度不足——这时候要检查:新站内容是否和旧站一致?新站服务器响应速度是否比旧站慢?有没有大量页面在新站变成了404?
第三,盯站内链接残留。新网站上线后,文章内容里可能还残留着指向旧域名的链接。这些内部旧链接虽然能被301重定向到新地址,但每次跳转多消耗200-300毫秒,积少成多会影响爬虫效率。用SQL语句批量替换数据库中的旧域名为新域名,一次性清理干净。
WordPress数据库批量替换旧域名(SQL)
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://old-domain.com', 'https://www.new-domain.com');UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'https://old-domain.com', 'https://www.new-domain.com');UPDATE wp_options SET option_value = REPLACE(option_value, 'https://old-domain.com', 'https://www.new-domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
执行前先备份数据库。如果用了序列化数据存储,建议用 Better Search Replace 插件替代直接SQL操作,避免序列化数据损坏。
七、域名更换场景不只有"换品牌名"一种,三种常见场景的操作差异
场景一:换品牌域名
old-brand.com → new-brand.com。整站301跳转+双平台改版提交。旧域名至少保留18个月。这是最标准的操作流程,按上面六节做就行。
场景二:HTTP升级HTTPS
http://domain.com → https://domain.com。域名没变,但协议变了,搜索引擎也把这当"换域名"处理。Nginx/Apache配301+强制HSTS头,Google Search Console添加https版本的站点属性。
场景三:多域名合并
三个旧站 → 一个新站。每个旧域名分别做301跳转,但关键是每个旧域名的页面要跳到新站对应内容页面,不能全跳首页。三个旧站的内容要合并到新站相应栏目下。
第三种场景在做过站群的外贸团队里很常见。比如之前用三个不同域名分别覆盖美国、英国、澳大利亚市场,现在想合并成一个多语言大站。这种场景下,除了301跳转之外,还要在新站用hreflang标签声明各语言版本的关系,避免搜索引擎把多语言页面当重复内容处理。
如果你同时管理多个域名跳转和多站点部署,UC建站系统的多站统一看板能把每个站点的301状态、SSL到期时间、404数量、搜索引擎抓取频次汇总到一个面板里。域名换完了不是终点,之后每个站点的健康状况都需要持续监控——少一个站出问题,可能就是几百个外链变成死链。
说穿了就三件事
域名更换看起来是技术活,拆开来看核心就是三个环节:服务器端配好301(别用注册商转发)、搜索引擎提交改版(别等它自己发现)、旧域名至少再续18个月(别省那几十块)。这三个环节任何一个掉了链子,权重转移就会打折扣。
操作上最容易犯的错就两个:一是用域名注册商的URL转发代替服务器端301,二是301上线后就急着把旧域名停掉。第一个错让权重一点都传不过去,第二个错让已经传过去的权重又丢了。只要避开这两个坑,剩下的就是给搜索引擎一点时间——60到90天的排名波动是正常的,不要中间反复改规则,等它稳定下来就好。
