本教程介绍如何将多个 WordPress 安装迁移到 WordPress 多站点安装。您可以迁移使用独立域名以及使用主域子域名的站点。
本教程假设您正在使用 cPanel 托管 WordPress 服务器。如果您使用其他解决方案来管理服务器,则必须调整这些说明。
操作步骤
备份您的网站
在 cPanel 中生成完整网站备份。通过 FTP 复制服务器上的所有文件也可能很有帮助,这样您就可以轻松访问插件和主题所需的文件,这些文件将在后续步骤中使用。
从现有 WordPress 安装导出
在每个现有的 WordPress 安装中,进入“工具 > 导出”。下载包含每个站点所有帖子和页面的 WXR 文件。请参阅 工具导出屏幕 上的说明。
请确保您的导出文件实际上包含所有帖子和页面。您可以使用文本编辑器查看导出文件的最后一条条目来验证这一点。最后一条条目应该是最近的帖子。
某些插件可能会与导出过程冲突,生成空文件或部分完成的文件。为了安全起见,您应该在执行导出之前禁用所有插件。
最好首先删除所有隔离的垃圾评论,因为这些评论也会被导出,从而使文件不必要地变大。
注意:此方法不会导出小部件配置和博客/插件设置。如果您在单个托管账户内进行迁移,请在此阶段记录这些设置,因为当您删除旧域名时,它们将消失。
安装 WordPress
安装 WordPress。请遵循 安装 WordPress 的说明。
激活多站点
在您的 WordPress 安装中激活多站点功能。这涉及多次编辑 wp-config.php 文件。您需要使用子域选项,而不是子目录选项。请参阅 创建网络 的说明。
为每个要导入的站点创建博客
为您想在独立域名上托管的每个站点创建博客。例如,importedblogdotorg.mydomain.com。
注意:请仔细选择名称,因为更改它会导致管理员重定向问题。如果您在同一托管账户内迁移站点,这一点尤为重要。
为每个博客导入 WXR 文件
进入每个博客的后端,并导入每个博客的导出 WXR 文件。将作者映射到适当的用户,或创建新用户。务必勾选拉取照片和其他附件的复选框。请参阅工具导入子面板上的说明。
注意:如果您选择从源站点将图像导入目标站点,请确保它们已上传到正确的位置,并在各自的帖子或页面中正确显示。
复制主题和插件文件
在开始之前,检查您的插件是否能在网络安装中工作。如果插件不受支持,请勿安装它。通过搜索插件功能加上“multisite”甚至"mu"(例如“social bookmarking plugin wordpress multisite")来寻找合适的替代品。
将旧 WP 安装中的主题和插件文件复制到新 wp-content 中的相应目录。您可以为网络激活主题,或者进入超级管理员 > 站点,然后单击要编辑的站点的“编辑”,并为该站点启用特定主题。
注意:如果您使用的是子主题,请将父主题和子主题都复制到新站点。
编辑每个站点的 WordPress 配置设置
编辑每个站点的配置设置、小部件等。到这一步结束时,每个站点的外观应与之前完全相同,只是 URL 为 subdomain.example.com 或 example.com/subsite,而不是其正确的最终 URL。
潜在问题
PHP 配置的局限性
您可能会遇到主机 PHP 配置的问题。有两个潜在问题。一个是 PHP 的 max_upload_size 对于 WXR 文件来说太小。另一个问题是 PHP 内存限制可能对于导入所有帖子来说太小。
有几种解决方法。一种是要求您的托管提供商提高限制,即使是暂时的。另一种是在您的 /wp-admin/ 和 /wp-includes 目录中放置一个 php.ini 文件来提高限制(php.ini 文件不是递归的,因此必须放在这些目录中)。10 MB 上传限制和 128 MB 内存限制应该可以工作,但请先与您的托管提供商联系,以免违反协议条款。
在 WordPress 论坛支持 中搜索 PHP 配置问题的帮助。
将附加域转换为停车域
删除 cPanel 中的附加域并用停车域替换它们也会删除与这些域关联的任何域名转发器和电子邮件转发器。请注意这一点,以便在切换后恢复这些转发器。
导入用户的局限性
虽然您可以使用上述方法导入内容,但导入多个用户会产生问题:会生成用户账户,但用户角色和额外元数据会丢失。
丢失设置
如果旧站点不再可用,并且您发现忘记复制某些设置或想确保已正确配置所有内容,请在 Google 上搜索您的站点,然后单击查看缓存版本。此选项仅在您的新站点被网络爬虫抓取之前可用,所以您最好尽快操作。
另一种选择可能是 互联网档案馆 Wayback Machine。他们可能拥有站点的副本(或部分)存档。