如何将 WordPress 单站点移动到多站点,反之亦然?

已发表: 2021-09-10

通常,大多数博主使用一个 WordPress 安装来托管一个网站。 他们使用子目录、子域或新域来创建其他安装。 然而,情况并非总是如此,因为 WordPress 还提供了一项功能,可以通过一次安装来托管多个站点。 这称为 WordPress 多站点设置,对于由单个管理员管理网站网络非常有用。 有时,由于您的要求发生变化,您可能需要将 WordPress 单站点更改为多站点,反之亦然。 我们将在本分步指南中解释如何更改设置。

WordPress 多站点设置

Multisite 是一种 WordPress 安装类型,可让您从一个地方轻松更改或更新所有单个网站。 它提供了一个额外的超级管理员用户角色来管理安装在单个网络中的所有站点。 Multisite 中的站点网络可以合并您的网站和其他用户的网站(访问更强大的 WordPress 功能有限制)。 然而,Multisite 的独特之处在于,网络中的所有网站用户共享相同的插件和主题,并具有不同的媒体上传目录,即您无法从另一个站点访问一个站点的图像和文件上传文件夹。

从托管面板安装 WordPress 时,您可以创建多站点。 甚至像 Local 这样的 localhost 应用程序也允许您在计算机中创建多站点设置。 您可以使用它来玩转并了解是否要为您的网站使用多站点。

使用本地应用程序创建多站点
使用本地应用程序创建多站点

重要提示:WordPress 中的多站点和单站点使用不同的数据库设置。 多站点为每个站点添加一组单独的表并管理内容。 如果您没有正确设置多站点,您将看到如下所示的数据库错误,表明您的数据库中缺少表。 我们强烈建议避免将单站点转换为多站点,反之亦然,除非您确实需要它。

多站点数据库错误
多站点数据库错误

如何将 WordPress 单站点迁移到多站点?

与将新网站添加到网站网络(多站点)相比,导入现有的单个站点需要更多的要求。 单站点迁移到多站点需要创建网站备份(使用 ManageWP 等工具或服务)并启用多站点功能。 以下是执行此过程的方法。

导出单个站点内容

使用 ManageWP、Duplicator 插件或任何其他插件来备份您要导出的站点,以防出现问题。 一旦启用了多站点功能,现在就可以合并您的单个网站。 登录到您的单站点仪表板,将鼠标悬停在“工具”菜单上,然后单击“导出”选项卡。 从导出选项列表中选择“所有内容”选项,然后单击“下载导出文件”按钮将您的站点内容转换为可下载的 .xml 文件。

导出单个站点内容
导出单个站点内容

创建多站点 WordPress

登录到您的主机帐户并创建一个新的 WordPress 安装。 为此,您可以使用新域或临时域,并根据需要更改站点 URL 或设置重定向。 以下是您在 SiteGround 托管中创建新网站时的外观。 选择“临时域名”选项后,您将获得一个免费的临时域名来安装您的网站。

在 SiteGround 中设置临时域
在 SiteGround 中设置临时域

您可以选择“安装 WordPress 多站点”选项并在主文件夹或子文件夹(子目录)中安装 WordPress。

在 WordPress 中安装 Multisite
在 WordPress 中安装 Multisite

将单个站点添加到多站点网络

安装 WordPress 多站点设置后,登录到您的多站点网络。 从仪表板中,将鼠标移至“站点”侧边菜单,然后单击“添加新”。 填写要进入多站点的站点的站点地址 (URL)、站点标题和管理员电子邮件,如果所有信息都正确,则单击“添加站点”按钮。 您可以单击“所有站点”选项卡以确认您的单个站点已成功添加到网络中。

将单站点添加到多站点网络
将单站点添加到多站点网络

设置站点主题和插件

现在,重新安装并激活您在以前的站点中使用的所有插件或主题,在将单个网站移动到多站点网络时必须停用这些插件或主题。 这一次,安装和激活将发生在多站点的网络级别,因此它们可用于传入站点。 转到您的多站点仪表板,将鼠标悬停在“主题”或“插件”菜单侧栏上,然后单击“添加新”选项卡。 请记住为主题安装选择“网络启用”,为插件安装选择“网络激活”——如果您愿意,可以使它们可用于网络中的所有站点。

安装网络主题和插件
安装网络主题和插件

导入单个站点内容

通过将鼠标悬停在“我的站点”顶部菜单上,导航到网络仪表板中的该单个站点,选择该网站并单击“仪表板”。 现在,转到“工具”侧边栏菜单,然后单击“导入”选项卡。 滚动以查看 WordPress 标题并单击“主站点”,然后单击“立即安装”链接。 安装后,单击出现的“运行导入程序”链接以继续。 此外,单击“选择文件”按钮选择计算机上已有的 .xml 文件,然后单击“上传文件并导入”按钮。

导入单个站点 XML 文件
导入单个站点 XML 文件

在导入过程中,您可以使用以前站点中已有的作者,或者为网站页面或帖子内容指定新的作者。 如果您仍然需要来自单个站点的媒体文件,请选中“下载并导入文件附件”选项。 最后,单击“提交”按钮,可以看到所有文件、页面和帖子的日志都可以在您的多站点网络的新网站上找到。 最后确保您的网站看起来如您所愿。 最后,删除旧的/以前的单个站点或对网络中的新站点使用“301 重定向”(以避免损害您的搜索引擎排名)。

如何将 WordPress 多站点恢复为单个站点?

大多数托管公司在安装 WordPress 时都会提供一个复选框来选择多站点设置。 不幸的是,许多用户会选中复选框来安装多站点设置,然后意识到这不是他们想要的。 此外,当网络中的网站与其他网站相比变得如此庞大时,您可能希望将其移至独立安装。 您可以按照以下说明将网络中的站点或整个多站点迁移到单个站点。

从多站点导出特定网站

转到要从多站点中删除的站点的仪表板。 将鼠标悬停在“工具”菜单侧栏上,然后单击“导出”选项卡。 选择导出选项并单击“下载导出文件”按钮,包含所有网站数据的 XML 文件现在驻留在您的计算机中或可供以后使用。

从多站点导出站点
从多站点导出站点

将多站点的内容导入到其他域

如上所述,您可以使用新域或临时域来创建单站点 WordPress 安装。 完成设置后,登录新站点的仪表板,然后将鼠标悬停在“工具”侧栏菜单上,然后单击“导入”选项卡。 向下滚动以单击 WordPress 标题下方的“立即安装”链接。 这将在您的站点上安装 WordPress 导入器插件,安装后,单击“运行导入器”链接。

从多站点导入单个站点
从多站点导入单个站点

单击“选择文件”按钮,从您的计算机中选择该站点导出文件,然后单击“上传文件并导入”按钮。 您可以更改或离开作者分配。 选中“下载和导入文件附件”框以上传站点媒体文件,然后单击“提交”按钮。 导入成功后,你会看到一句“玩得开心”。 现在,您可以检查并开始使用新的单一站点。

重定向设置

无论在哪种情况下,第一件事都应该是运行备份,以防过程中出现任何问题。 其次,在成功迁移后执行重定向以将其打包。 您可以使用重定向插件创建必要的 301 重定向,以保留旧页面的搜索引擎排名。 您还可以使用 .htaccess 指令来设置必要的重定向。

使用重定向插件

为您从多站点网络迁移的特定站点安装并激活插件。 您可以按照以下说明设置从子域到新域的重定向。

  • 通过“工具”菜单转到“重定向”选项卡。
  • 切换到“站点”选项卡,在“重定向到域”框中输入域名,然后单击“更新”按钮保存设置。
  • 这将重定向整个站点,除了 WordPress 登录和管理页面。
  • 如果需要,您可以设置“站点别名”以重定向包括登录和管理页面在内的所有内容。
设置站点重定向
设置站点重定向

按照以下说明设置从目录到新域的重定向。

转到“重定向”部分,单击“添加新”按钮并填写如下所示的表格:

  • 来源网址:^childsite/(.*)$
  • 目标网址:https://example.com/$1
  • URL 选项:正则表达式
  • 最后,单击“添加重定向”按钮。

它看起来像下图:

添加子目录重定向
添加子目录重定向

通过 .htaccess 添加重定向

在您的 .htaccess 文件中添加以下代码,以便在多站点网络中从子域重定向到新域。

 Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301] Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^subdomain.example.com$ [NC] RewriteRule ^(.*)$ https://www.example.net/$1 [L,R=301]

添加以下代码以从目录重定向到新域。

 Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L] Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L] Options +FollowSymLinks RewriteEngine On RewriteRule ^childsite/(.*)$ https://example.net/$1 [R=301,L]

请注意,请记住将 childsite、subdomain.example.com 和 https://www.example.net 等站点实例更改为您自己的站点名称/URL。