有时我们需要从多站点网络中提取 WordPress 博客,以便为其提供干净、独立的安装。特别是当相关博客需要太多自定义、不再适合您的多站点网络、或者仅仅是因为您想将其传递或出售给某人时,就会发生这种情况。
如果可以使用 WordPress 导出/导入工具迁移博客,则此解决方案将不允许您恢复数据库、主题自定义、图像等。因此,通过简单的导入/导出,您将必须设置所有内容再次。
因此,我为您提供了一个简短的指南,帮助您正确地手动完成此操作,以便真正将您的网站从 A 迁移到 Z,而不会丢失任何内容。
备份您的多站点网络
有很多 WordPress 备份插件。选择最适合您的一种来备份整个网络。
此外,通过 FTP 上传服务器上的所有内容并将数据库备份上传到 phpMyAdmin,手动备份网络。
导出您的 WordPress 网站
找到您要提取的博客的ID
在提取数据库之前,您需要知道子站点的 ID,因为要迁移的站点是站点集的一部分。进入“我的站点 > 网络管理 > 仪表板”,每个站点的 ID 显示在“ID”列中,或者在地址栏显示的 URL 中单击它。
仅导出链接到您要迁移的 WordPress 网站的表
为此,请转到 PhpMyAdmin(您的主机必须能够为您提供链接和访问它的凭据)。
- 点击“导出”
- 导出方式:自定义
- 仅选择包含您的 ID 的表。
- 如果您有大量用户专门链接到您要提取的 WordPress 网站,请同时选择这些表 wp_用户 和 wp_用户元。否则,我建议您在新创建的安装上手动重新创建几个用户。
- 最后,单击“运行”。
SQL 文件通常已下载到您的计算机上。小心地将其复制到一个新文件夹,并通过在名称中添加“复制”来重命名它,以将其隔离。
导出主题和插件的设置
如果您的主题允许您保存设置以及某些插件,请记住这样做,以便在新安装中需要时重新导入它们。
编辑 SQL 文件以适应将来的安装
使用您喜欢的编辑器(例如 Notepad++)打开复制的备份文件。搜索您网络的域名,并将所有出现的域名替换为您未来的域名。
- 如果您的子网站位于子目录中,请将所有 http://monsite.monreseau.com 替换为 http://monsite.com
- 如果您的子网站的 URL 采用以下形式:http://network.com/mysite,请将所有这些 URL 替换为“http://mysite.com”
接下来,将数据库前缀替换为单独的博客前缀:
- 全部替换 wp_XX_ (其中 XX 是您的站点 ID) WP_ 因为您的新数据库将是单独的,并且表格将采用 wp_ 及以上形式并带有您的 ID。
最后,在各种插件或主题设置期间,您可能输入了引用 /wp-content/uploads/sites/XX 文件夹的绝对 URL,其中 XX 是您网站的 ID,对应于子网站的媒体文件夹包含在多站点网络中的站点。您需要纠正这个问题:
- 全部替换 /站点/12/ 经过 /
保存文件。
将您的站点迁移到新的单独安装
如果您还没有这样做,请创建一个新的“单一”WordPress 安装,您想要将从网络中提取的站点传输到其中。您的主机将为您提供 FTP 凭据以连接到新安装。
从 FTP 上传下载的文件
请记住,在步骤 1 中,您从 FTP 下载了整个站点网络。因此,您的所有文件都是安全的。因此,我们将从该备份中选择您需要在新安装中重新上传的文件,即:
a) 在您提取的网站上使用的 WordPress 插件
- 转到 WordPress 管理员的插件页面,列出您在网站上使用的已激活插件。
- 另请转到网络的扩展页面,列出整个网络中默认激活的插件!
- 从上面的两个列表中上传您需要的扩展。这些是您的子网站当前使用的插件,您通常需要在新网站上复制这些插件。另一方面,不要考虑专门为多站点创建的插件(例如域映射插件),这对您个人安装没有用处。
b) 链接到您导出的网站的主题
将子站点上可能使用的所有主题重新上传到新安装,特别是站点的活动主题。主题位于 /wp-content/themes 文件夹中。
c) 链接到要迁移的站点的媒体
您已转移插件和主题,但照片仍然存在。转到 /wp-content/uploads/sites/XX,其中 XX 是您的站点 ID。将其中的所有文件和文件夹上传到新安装中的 /wp-content/uploads 文件夹。确保新安装的 /uploads/ 文件夹为空。
如果新安装中尚不存在 /uploads/ 文件夹,请创建它并为其指定 CHMOD 755。
您的博客现在既包含媒体,也包含源站点的主题和插件文件。现在仍然需要传输数据库,其中包含您想要提取的网站的所有设置和内容。
导入数据库
转到新安装的 WordPress(单独安装)的 phpMyAdmin,以便删除您要导入的某些表。这是为了避免创建不必要的重复项。
以下是需要删除的表:
- wp_commentmeta
- wp_评论
- wp_链接
- wp_选项
- wp_postmeta
- wp_帖子
- wp_术语
- wp_term_关系
- wp_term_taxonomy
如果您选择导出表 wp_用户元 和 wp_用户,在导入之前也将其删除。
要删除这些表,请单击左侧的数据库,选择它们,然后从底部的下拉菜单中选择“删除”。
然后点击“导入”,然后导入之前编辑的SQL文件。之后,就完成了,您的站点已从多站点转移到单独安装!
结束设置
检查一切是否正常。通常,域名会继续指向您的旧服务器,即多站点网络的服务器,但您可以通过主机提供的 URL 查阅新创建的博客,例如“myblog.wpengine.com”,如果您的博客托管在WP 引擎。
如果某些图像无法加载,请检查它们的路径;如果他们的 URL 指向这样的 URL:monsite.com/wp-content/uploads/2015/01/mon-image.jpg,这是一个好兆头。通过 FTP 检查相关目录中的图像是否存在,因此它已上传到正确的位置。如果是这样,当您更新博客 URL 和域名 DNS 时,它就会出现。
如果您的主题有默认设置,请通过主题导入工具(通常为高级主题提供)从旧博客导入选项。对于某些插件也是如此。
如果之后,新创建的网站上一切正常,您通常应该:
- 更新域名的DNS,使其指向新服务器。您的房东必须向您提供执行此操作的信息。
- 在主机(托管新安装的主机)的管理员中,您通常需要输入用于此新安装的域名。
- 在常规 WordPress 设置中,更新新站点的 URL,替换 WordPress 网址 URL 和站点网址。
之后,您的域名应指向新安装。请考虑删除或停用位于多站点网络中的子站点,但只能在几天或几周后进行,以便将其保留为备份以防万一。
一个回复
非常好的文章,这就是我想要的!
另一方面,我在超级管理页面上没有显示子站点,如图所示?
我想如果我们将一个子站点从一个多站点迁移到另一个站点,情况也是类似的,只是我们必须将前缀“oldprefix_wp_XX”替换为“newprefix_wp_YY”,因为我只有一个主机具有一个数据库,但有多个域指向不同的目录。
cdlt,