
wordpress 迁移后访问新域名仍跳转至旧域名,主因是数据库中大量硬编码的旧域名 url 未更新;需通过专业迁移工具或手动替换实现全站链接刷新,而非仅恢复备份。
wordpress 迁移后访问新域名仍跳转至旧域名,主因是数据库中大量硬编码的旧域名 url 未更新;需通过专业迁移工具或手动替换实现全站链接刷新,而非仅恢复备份。
当您使用 UpdraftPlus 仅执行“备份恢复”操作(例如在新服务器上还原旧备份),WordPress 并不会自动更新数据库中存储的站点地址(siteurl 和 home)、文章内容中的绝对链接、主题设置、插件配置等——这些都仍指向原域名。因此,即使文件和数据库已部署到新域名服务器,用户访问时仍会被 .htaccess 重写规则、WordPress 核心重定向机制或前端 JS 脚本强制跳转回旧地址。
✅ 正确做法:执行完整域名迁移(Domain Migration),而非简单备份还原。
推荐解决方案(按优先级排序)
✅ 方案一:使用支持迁移的免费工具(推荐新手)
Duplicator Pro(免费版已足够)
Duplicator 的免费版本内置「Find & Replace」功能,在打包与部署过程中自动扫描并替换数据库中所有旧域名(如 https://old-site.com → https://new-site.com),包括:
- wp_options 表中的 siteurl / home
- wp_posts 中的正文、图片 src、自定义字段
- wp_postmeta 中的序列化数据(安全反序列化处理)
? 部署流程简述:
- 在旧站安装 Duplicator,创建「包(Package)」;
- 下载 installer.php + .zip 包;
- 上传至新域名根目录,访问 https://new-site.com/installer.php;
- 向导中输入新域名、数据库信息,勾选「Search and replace URLs」→ 自动完成全库域名替换。
✅ 方案二:升级 UpdraftPlus 并启用迁移模式
UpdraftPlus 免费版不支持域名替换,但其付费版(UpdraftPlus Premium)提供「Migration Assistant」功能,可一键执行:
使用tbot机器ID身份文件配合tsh CLI,通过Teleport访问控制SSH登录托管主机或执行远程命令。
- 数据库 URL 批量搜索替换(含序列化数组安全处理)
- wp-config.php 中 WP_HOME/WP_SITEURL 常量自动注入
- 插件/主题设置项智能映射
⚠️ 注意:切勿手动用文本编辑器全局替换 .sql 文件——PHP 序列化字符串(如小工具、菜单、选项)含长度声明,直接替换会破坏结构,导致白屏或后台崩溃。
⚠️ 临时应急(仅限调试,不可长期使用)
若急需临时访问新站,可在 wp-config.php 顶部强制定义地址(覆盖数据库值):
define('WP_HOME','https://new-site.com');
define('WP_SITEURL','https://new-site.com');
但此法无法修复文章内链、图片路径、REST API 地址等,仅解决后台跳转,不推荐作为最终方案。
关键注意事项
- ? 迁移前务必对新旧站点完整备份;
- ? 检查 DNS 解析与服务器 SSL 证书是否就绪,避免 HTTPS 混合内容错误;
- ? 迁移完成后,运行 Better Search Replace 插件(启用「Run as dry run first」)验证替换准确性;
- ? 避免使用 phpMyAdmin 直接执行 REPLACE() SQL——无法安全处理序列化数据,极易引发网站瘫痪。
完成规范迁移后,清除浏览器缓存、CDN 缓存及 WordPress 对象缓存(如 Redis),即可确保新域名完全独立运行。










