WordPress如何更换域名?3种方法+301重定向保住SEO,换完不掉排名

本站部分链接为联盟推广链接。通过这些链接购买,我可能获得佣金...

这不仅不会增加您的实际费用,通常还能让您享受到专属折扣。所有上榜推荐均基于真实项目环境下的自费实测,排名完全由客观测评数据决定。详细规则请查阅《免责声明》。

很多人以为WordPress换域名就是在后台Settings(设置) → General(常规)里改个地址,保存完事。实际上改完之后你会发现:文章里的图片全部挂了、内链还在指向旧域名、甚至后台直接打不开。

这不是bug,是WordPress的设计机制决定的,WordPress把域名以绝对路径的形式存在数据库里,文章内容、图片附件URL、自定义字段,每一条都带着完整的旧域名,光改后台设置只改了两个字段,剩下几百上千条记录还是旧的。

这篇把换域名的完整流程讲清楚,包括换之前必须做的备份、三种替换方法按难度排列、以及换完之后怎么做301重定向保住已经积累的SEO权重。

换域名之前,这件事不做后面会很惨

备份,备份,备份。(重要是事情说3遍)

新域名解析到网站服务器 ipv4 地址。

可参考:域名解析教程

数据库替换操作一旦执行就没有撤销键,写错一个字符可能导致数据库内容大规模损坏。不管你选下面哪种方法,操作前都必须先完整备份一次数据库。

两种备份路径:

进cPanel → phpMyAdmin,左侧选中WordPress数据库,点顶部Export标签,格式选SQL,点Go下载备份文件到本地。这个SQL文件是你的救命稻草,存好不要删。

可参考:cPanel MySQL数据库+phpMyAdmin教程

或者用WordPress插件备份,参考WordPress自动备份设置教程,装好备份插件后手动触发一次完整备份,确认备份文件可以正常下载。

备份完成后,才开始下面的操作。

第一步:新域名DNS解析指向服务器

在域名注册商(比如Namecheap)后台,把新域名的A记录指向你的服务器IP,同时在主机控制面板(cPanel或SPanel)里把新域名绑定到WordPress网站目录。

DNS生效时间通常30分钟以内,等新域名能访问到你的WordPress站(即使样式乱掉也正常)再进行下一步。

wordpress change domain dns settings

第二步:更新WordPress核心地址设置

新域名DNS生效后,先用旧域名登录WordPress后台(新域名此时可能还跳回旧域名),进入Settings → General(设置 → 常规):

  • WordPress Address(URL):改成新域名,比如 https://blog.ctzpj.com
  • Site Address(URL):同样改成新域名

两个都改,滑动到页面底部点Save Changes保存。

wordpress settings general change domain

保存后后台可能直接跳转失败,因为WordPress已经认为新域名才是正确地址,但数据库里的内容还是旧域名,这是正常的,接着往下做第三步。

如果保存后连后台都进不去了,用下面这个备用方法:进服务器的wp-config.php文件(在WordPress根目录)

wordpress change domain name tutorial 1

在文件顶部(<?php那行下面)加入这两行:

加完保存,这两行代码会强制覆盖数据库里的地址设置,让你能重新进入后台,进去之后再在Settings → General里改好地址,然后把wp-config.php里这两行删掉(否则后台Settings里的地址字段会变成灰色没法修改)。

wordpress change domain name tutorial 2

第三步:批量替换数据库里的旧域名——3种方法选一种

这一步才是换域名的核心。旧域名散落在数据库的多张表里:wp_options(站点设置)、wp_posts(文章内容和附件URL)、wp_postmeta(自定义字段)、wp_comments(评论里的URL)等,每一张表都需要把旧域名替换成新域名。

方法1:Better Search Replace插件(推荐,最安全)

📥 WordPress.org下载:wordpress.org/plugins/better-search-replace/

Better Search Replace是专门做数据库字符串替换的插件,免费,支持序列化数据(这是它比直接跑SQL更安全的原因,序列化数据是WordPress用特定格式存储的数据,直接SQL替换会破坏格式,Better Search Replace会正确处理这些数据)。

操作步骤:

WordPress后台安装并激活Better Search Replace,进入Tools(工具)→ Better Search Replace。

在表单里填写:

  • Search for(搜索):填旧域名完整地址,比如https://olddomain.com
  • Replace with(替换为):填新域名完整地址,比如https://blog.ctzpj.com
  • Select tables(选择数据表):全选所有wp_开头的表(Ctrl+A全选)
  • Run as dry run(演练模式)第一次必须勾选这个,演练模式只模拟替换过程、统计会替换多少条记录,但不会真正修改数据库,确认数字合理再正式执行

点Run Search/Replace,看到演练结果显示的替换数量合理(比如几百到几千条都正常,0条说明旧域名写错了)之后,取消勾选Dry Run,再跑一次,这次才是真正替换。

可参考:WordPress批量查找替换链接教程

为什么推荐这个方法:

  • 自动正确处理序列化数据,不会损坏数据库结构
  • Dry Run演练模式让你可以先预览再执行,降低操作风险
  • 界面友好,不需要懂SQL

方法2:phpMyAdmin执行SQL语句(不需要安装插件,但不处理序列化数据)

如果WordPress后台完全进不去,无法安装插件,用这个方法直接在数据库层面替换。

进入cPanel 或者 宝塔面板 数据库 → phpMyAdmin,左侧选中WordPress数据库,点顶部SQL标签,粘贴以下语句(把旧域名新域名替换成你的实际域名,格式带https://):

点执行,6条语句覆盖了数据库里旧域名出现的主要位置。

注意:这个方法不处理序列化数据,如果你的主题或插件用了序列化格式存储数据(很多高级主题选项、WooCommerce配置会这样存),那部分数据里的旧域名不会被替换。执行完后如果发现某些样式或功能异常,大概率是序列化数据没被替换,这时候需要用方法A的插件补一遍,或者用方法C的wp-cli命令(wp-cli的search-replace命令自动处理序列化数据)。

phpmyadmin sql replace domain

方法3:WP-CLI命令(技术型站长首选)

如果你的主机支持WP-CLI(SSH可以访问,大部分VPS和部分共享主机支持),这是最彻底、最快的方法,一条命令搞定所有表,自动处理序列化数据:

--all-tables参数确保扫描所有数据表,不遗漏任何一张。WP-CLI的search-replace命令内置了序列化数据处理,是三种方法里最彻底的。

执行完会输出每张表替换了多少条记录,检查一下数字是否合理,然后去前台验证。

第四步:验证替换结果

替换完成后做以下检查:

① 打开网站前台,首页、文章页、分类页逐一点开,看图片是否正常显示(图片挂了通常说明wp_posts里的媒体库URL没替换干净,或者有序列化数据遗漏)。

② 检查浏览器地址栏,访问blog.ctzpj.com任意页面,确认地址栏显示的是新域名而不是跳回旧域名。

③ 右键查看页面源代码,Ctrl+F搜索旧域名,如果还有出现说明替换不完整,记下来源位置回去补替换。

④ 清除所有缓存:WordPress缓存插件(FlyingPressWP Rocket、LiteSpeed Cache)都要清空缓存,让新域名的页面重新生成;如果接了Cloudflare,也要进Cloudflare后台清空Edge Cache。

第五步:旧域名设置301永久重定向(保住SEO最关键的一步)

如果旧域名曾经被Google收录、有反向链接指向、在社交媒体上分享过,这一步直接决定你换域名会不会掉排名。

301重定向的意思是告诉Google:”旧域名的所有页面已经永久搬到新域名了,请把SEO权重一并转移过去。”不做这一步,原本积累的外链价值会随着旧域名失效而消失。

在.htaccess文件里设置(Apache服务器/cPanel共享主机):

进cPanel 或 宝塔面板 → 文件管理器,找到旧域名网站目录下的.htaccess文件(记得开启显示隐藏文件),在文件最顶部加入:

在Nginx配置里设置(VPS/Nginx服务器):

在旧域名的Nginx server块里加入:

设置完之后,在浏览器访问旧域名任意页面,确认跳转到新域名对应的页面(带$request_uri会保持路径一致,旧域名的/about会跳转到新域名的/about,不只是跳转到首页)。

wordpress 301 redirect old to new domain

第六步:通知Google,加速新域名收录

301重定向设置好之后,Google最终会自动发现并处理域名变更,但主动提交能加快这个过程。

登录Google Search Console,如果新域名还没有添加,先按正常流程验证添加新域名的Property。添加完成后,进入Settings → Change of Address(地址变更),选择旧域名Property和新域名Property,提交地址变更申请,告诉Google这是同一个网站的永久迁移而不是新建站。

同时把新域名提交到Sitemap:进WordPress后台,Rank Math → Sitemap,找到sitemap.xml地址,复制后在Google Search Console → Sitemaps里提交,加快新域名页面的收录速度。

换完域名之后还要做的一件事

回头检查一下站内所有内链,确认有没有残留的旧域名链接。参考WordPress死链检测教程里讲的方法,用Broken Link Checker扫一遍,把漏网的旧域名内链逐一修正,这是外贸网站SEO内链策略里反复强调的基础工作,换完域名后是执行它的最佳时机。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注


快捷菜单
WordPress 主机
VPS 主机
最新优惠
正版授权
联系我们