网络拆分指南
将 Multisite 网络拆分为独立站点(Pro)
把一个 WordPress Multisite 网络拆成多个 single-site 安装——可通过每个站点一个归档,或从现有网络备份中提取单个站点实现。需要具备 network_split capability 的有效 Pro 许可证。
功能说明
目标: 脱离 Multisite,让每个(或所选)站点作为独立的 WordPress 安装运行。Multisite Migrate Pro 支持两种操作流程,均遵循 一个目标 = 一次运行——每个目标主机只恢复或安装一次。
| 流程 | 起点 | 结果 |
|---|---|---|
| Split backup | 在线网络(Network Admin) | N 个完整归档(每个所选站点一个) |
| Extract | 现有网络范围归档 | 目标上单个站点降级为 standalone |
选择哪条路径
- 优先 split backup——源端仍可使用 Network Admin,且希望在 dismantle 网络前先得到干净的 per-site 归档集。
- 优先 extract——已有完整网络(或多站点)备份,不想重新执行 N 次备份——复用该归档,每个目标选一个源 blog。
- Blog 1 / 主站点 两条路径均支持。主站点媒体通常在
uploads/(而非uploads/sites/1/);选择 blog ID 1 时 extract 会保留该目录树。
要求
- Pro 插件 ZIP + 有效 Pro 许可证。激活/刷新后须出现 capability
network_split。较旧的 Pro 密钥可能需要 Settings → General & License → Re-activate / Refresh。 - split backup 需要源端 Network Admin。
- 磁盘——split 会成倍增加占用:约为 站点数 × 归档大小 × 1.5(本地)。空闲空间不足时插件会阻止开始(仅云端目标可跳过严格的本地门槛)。
- 空服务器路径——通过安装器 extract 还需 Pro
installercapability。 - Free 与 Plus 不可用——Pro 激活前选项保持锁定。
路径 A — 每个站点一个归档(split backup)
为每个所选站点依次创建常规完整备份任务。即使后续站点失败,已完成的归档仍会保留。
步骤(管理界面)
- 在 Multisite 网络上打开 MM Pro → 备份s → 立即备份。
- 在范围中选择 每个站点一个归档(split)。
- 选择要包含的站点,或保持「all accessible」选中。查看磁盘警告(占用随站点数增加)。
- 若非「全部」意图却仍有超过五个站点未选,请在提示时勾选 confirm all 确认。
- 选择配置文件 / 目标(Plus+ 目标可选本地或云端)→ Start。
- 查看 split 进度面板。站点顺序执行(非并行)。
- 完成后在 备份s 下载或保留每个归档。像其他 single-site 备份一样,每个归档在其自己的 WordPress 安装(或空服务器安装器)上恢复一次。
split 中途某站点失败
- 已完成的归档仍然有效——请勿删除。
- 在进度面板点击 Continue with remaining sites(或 WP-CLI
split-resume --yes)。 - 仅未完成的 blog 会重新运行。仅在要完全停止编排器时使用 Cancel。
然后恢复
每个目标安装:导入/恢复该站点归档,映射旧 → 新 URL,完成作业。按主机重复。没有「一键安装所有目标」。
路径 B — 从网络归档提取单个站点
当归档仍包含整个网络(或多个 blog),且目标应成为 single-site WordPress 时使用。
步骤(插件恢复)
- 在目标端(或导入后)打开 导入 & 恢复 / 网络范围归档的恢复对话框。
- 选择拓扑 将单个站点提取为独立安装。
- 从归档列表选择 源站点(blog ID)。
- 仅映射该站点的旧 URL → 新 URL。
- 开始恢复。其他 blog 的表与 uploads 会被跳过;站点降级为 standalone。
- 成功后使用 Next site from this archive(若显示)在下一个目标继续另一个 blog——或重新打开 Extract 选择下一个 blog ID。
步骤(空服务器安装器)
- 将网络归档 + 安装器 PHP 上传到空主机(Pro 安装器流程)。
- 在 migrate/deploy 界面选择 将单个站点提取为独立安装,选择源 blog,映射 URL 并运行。
- 对其余 blog 在每个空主机上重复(同一归档,不同源 blog)。
每个目标站点之后
- 登录,检查 Settings → General 中的 URL。
- 重新保存固定链接。抽查媒体与菜单。
- 在新安装上执行新的本地备份。
- 完成后从 Web 根目录移除安装器 PHP(空服务器路径)。
验证残留 URL 并修复
extract(或任何 URL 迁移)后,在批量替换前先扫描残留的旧域名:
- 打开界面中的迁移后验证工具,或运行 WP-CLI
migration-verify/ MCP verify(先显示报告)。 - 查看命中项。确认后再执行 search-replace(
search-replace --yes或界面确认)。 - 切勿盲目自动修复——必须确认。
WP-CLI 与 MCP
需要 Pro CAP_CLI / MCP 以及 CAP_NETWORK_SPLIT。破坏性命令需要显式确认标志。
| 任务 | 示例 |
|---|---|
| 开始 split | wp multisite-migrate split-network --yes |
| 状态 | wp multisite-migrate split-status |
| 继续剩余 | wp multisite-migrate split-resume --yes |
| 取消 | wp multisite-migrate split-cancel --yes |
| extract 恢复 | wp multisite-migrate restore <id> --migration --topology-import=extract_site_standalone --source-blog-id=N --old-url=… --new-url=… --yes |
| 验证 / 修复 | migration-verify then search-replace --yes |
完整示例:WP-CLI 指南。MCP 客户端在写入时使用对应 ability 并设 confirm:true——见 连接 AI。
不适用场景
- 不是一键安装所有目标。
- 不是并行子备份(站点依次执行)。
- 不是 Free/Plus。
- 不是 domain-map / sunrise 界面——请自行按目标映射 URL。
- 不是迁移后盲目的自动 search-replace。
故障排除
- 缺少 Split / Extract 选项
- 确认 Pro ZIP 已激活且许可证刷新授予
network_split。Plus 与 Free 永不解锁。 - 因磁盘被阻止开始
- 释放本地空间或减少所选站点。估算:站点数 × 大小 × 1.5。仅云端目标可跳过严格本地门槛。
- 子站点失败
- 使用 Continue with remaining sites /
split-resume。保留已完成归档。 - extract 后媒体属于错误站点
- 确认源 blog ID。Blog 1 媒体通常在
uploads/,不在uploads/sites/1/。 - 内容中仍有旧 URL
- 运行 verify,再确认 search-replace——见 验证残留 URL。
- 忙碌 / 另有任务运行
- 备份、恢复、split 或 Staging push 同时只能一个。等待或取消其他任务。
相关: 备份选项 — 网络拆分 · 恢复 — extract · WP-CLI · 用户手册
网络拆分常见问题解答
将多站点拆分为独立安装以及从网络存档中提取一个站点的答案。
Free 或 Plus 中是否包含网络分割??
不需要。每个站点一个存档和提取到独立版本需要具有 network_split 功能的 Pro。如果缺少该选项,请刷新许可证。
拆分备份或提取 — 我应该使用哪一个??
当您仍然拥有网络管理员并需要新的每个站点存档时,请使用拆分备份。当您已经拥有网络范围的存档并希望将一个博客提取到单个站点目标而不需要重新备份时,请使用提取。
我可以一次安装所有目标吗??
不会。一个目标相当于一次恢复或安装程序运行。每个主机重复一次。提取后,使用此存档中的下一个站点作为下一个目的地的下一个博客。
如果子站点在拆分期间失败怎么办??
成品存档留存。单击进度面板中的继续处理剩余站点,或通过 WP-CLI 运行 split-resume --yes。
博客 ID 1 是否可以提取内容??
是的。主站点上传通常位于 uploads/ 下,而不是 uploads/sites/1/ 下;当您选择博客 1 时,extract 会保留该树。