搜索全站
网站迁移 7 分钟阅读

Duplicator 打包整站迁移 WordPress:分包与恢复向导实操

Duplicator 把 WordPress 打包成一个归档文件加一个安装脚本,是换服务器最快的方案之一。本文讲清建包的完整流程、大站分包处理、installer.php 的恢复向导各步骤、域名替换选项,以及恢复后必做的收尾操作与常见失败排查。

U
UFO_PF 2019-01-06 · 阅读 7 分钟
Du 网站迁移
阅读提示
本文约 2,424 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:换服务器最快的方式是什么

mysqldump + rsync 需要熟悉命令行;UpdraftPlus 恢复要在新站先装 WordPress。Duplicator 的思路更简单:打包 → 传两个文件 → 浏览器打开 installer → 填数据库信息 → 完成。

整个过程不需要在新服务器上预装 WordPress,也不用手工改配置文件里的数据库信息。

原理分析:Duplicator 包里有什么

一个 Package 由两个文件组成:

installer.php               安装向导脚本
xxxx_archive.zip(或 .daf) 整站归档(文件 + 数据库 SQL)

恢复时:

  1. 浏览器访问 installer.php;
  2. 向导解压归档到当前目录;
  3. 让你填新服务器的数据库信息,写入 wp-config.php;
  4. 执行数据库导入,并做 URL 替换;
  5. 更新站点地址、刷新固定链接。

installer.php 是关键——它独立于 WordPress,即使新服务器是空白的也能跑。

保姆级实操

第一步:源站安装并建包

wp plugin install duplicator --activate

后台 → Duplicator → Packages → Create New。

第二步:建包向导

  • Setup:填包名(可选);
  • Storage:默认本地;
  • Archive:文件过滤器可排除缓存目录与无关文件;
  • Installer:可预设新站数据库信息(省去手动填写)。

点 “Build” 开始扫描并打包。扫描阶段会给出三项检查:

检查项 说明 不通过的处理
Size 站点体积 大站需分包
Database 表数量与大小 清理修订版本/垃圾数据
General 文件权限、PHP 版本、内存 调大 memory_limit

第三步:处理大站(分包)

免费版对大站点可能失败(内存或执行超时)。处理方式:

  1. 先清理:
wp post delete $(wp post list --post_type=revision --format=ids) --force
wp transient delete --all
wp db optimize
  1. 排除大目录(如 uploads 里的原始文件),单独用 rsync 传:
排除规则:/wp-content/uploads/2020/
  1. 调大 PHP 限制:
memory_limit = 512M
max_execution_time = 600

Pro 版支持”流式打包”与更大的站点。

第四步:下载两个文件

建包完成后下载 installer.php 与归档文件。大归档建议用 wget 在目标服务器直接拉取:

wget https://old-site.com/wp-content/.../archive.zip

第五步:目标服务器准备

  • 新服务器装好 Nginx/Apache + PHP + MySQL(不用装 WordPress);
  • 建一个空数据库与用户;
  • 把两个文件放进站点根目录;
  • 确保目录可写。

第六步:运行恢复向导

浏览器访问 https://new-site.com/installer.php。

  1. Step 1 – Deployment:确认归档解压路径;
  2. Step 2 – Database:填新数据库名、用户、密码;选 “Create New Database” 或连接已有库;
  3. Step 3 – Update:这一步做 URL 替换——
    – Old URL / New URL:填旧域名与新域名;
    – 勾选 “Site URL”、”Home URL”、”Content” 等替换范围;
  4. Step 4 – Test:完成,进入后台登录。

第七步:收尾(必做)

  1. 删除 installer.php 与归档文件(向导最后一步会提示,一定要删);
  2. 后台 → 设置 → 固定链接 → 保存(刷新重写规则);
  3. 检查媒体库图片是否正常;
  4. 检查插件是否需要重新授权;
  5. 用 WP-CLI 再确认一次:
wp option get home
wp option get siteurl
wp plugin list --status=active
wp rewrite flush

常见踩坑与失败案例

  1. installer.php 忘记删除 —— 这是严重安全问题,任何人访问它都能覆盖你的站点。恢复后第一件事就是删。
  2. 归档下载不完整 —— 浏览器下载中断会导致 zip 损坏,向导解压失败。用 wget 或 curl -C - 续传,传输后校验文件大小。
  3. 案例:某站迁移后前台正常,但所有图片 404。原因是归档排除了 uploads 中的部分目录,而这些目录没单独传。教训是排除规则要记录,且迁移后用 SQL 核查是否有残留旧域名。
  4. 数据库版本不兼容 —— 从 MySQL 8 迁到 MariaDB 时可能有排序规则问题,需要在向导前先手工处理 SQL。
  5. 恢复后插件全部停用 —— Duplicator 会保留激活状态,但如果插件与新版 WordPress 不兼容会自动停用。逐个检查。
  6. PHP 版本不同导致恢复后白屏 —— 目标服务器 PHP 版本低于源站会出问题,建议保持一致或更高。

总结

Duplicator 是”换服务器最快路径”:打包两个文件 → 传到新服务器 → 跑向导 → 删除安装文件。关键风险点有三个:大站打包失败(先清理、分包、调参数)、归档传输中断(用命令行下载并校验)、installer.php 未删除(严重安全隐患)。迁移完记得执行固定链接刷新和图片检查。如果你要频繁迁移,把这套流程写成 checklist,每次照着走,半小时能完成一次整站搬家。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。