如何将内容从一个 WordPress 站点移动到另一个站点

将您的 WordPress 网站移动到另一个位置可能会带来压力和繁琐的体验,因为您不能简单地移动文件和数据库.不,这不是 WordPress 的工作方式.

幸运的是,WordPress 内置了方便的"导入"和"导出"工具.但不幸的是,它只能满足一些基本要求,您需要即兴发挥一点才能达到其他效果.

在本文中,我将逐步向您展示如何将 WordPress 安装的内容迁移到新位置.

让我们开始吧!

开始之前:备份您的网站

某些 WordPress 安装或服务器设置可能会给您带来迁移内容的独特挑战.虽然本文将处理一个额外的独特可能性(即您只想传输 WordPress 安装内容的部分),但不能保证此处详述的步骤会始终适用于每种设置.

不用说,您对自己的网站负全部责任,即使您严格遵守本指南也是如此;取决于您想要做什么,涉及一些数据库工作,如果您不小心删除了网站的一大块,这取决于您.基本上,小心这个!

出于本文的目的,我创建了两个单独的 WordPress 的 localhost 安装,为您提供每个步骤的图片.您可能想尝试将您的内容移至测试站点以检查其是否有效.

为此,我建议此时备份您的整个网站.当然,你经常这样做,不是吗? (如果没有,你绝对应该这样做.开始吧.)

如果您想手动执行此操作,请记住同时包含您的数据库网站文件(主要是因为这包括您网站的 Uploads 文件夹).

备份文件

您可以通过 FTP 创建和下载站点文件的 ZIP.如何做到这一点因 FTP 客户端而异,但通常相当明显.确保下载并安全存储备份压缩文件-就像任何备份一样.

备份您的数据库

登录到您的 phpMyAdmin 帐户并选择安装 WordPress 的数据库.

从顶部菜单中选择导出.对于大多数人来说,"快速"选项就足够了.但是,如果您要在同一数据库中备份 WordPress 安装以外的表,请单击 自定义 选择要备份的表;所有其他选项都应保持不变.最后,点击Go,下载您的数据库备份文件(.sql 格式).

phpMyAdmin Database Export Options
默认情况下,您的 WordPress 表格前缀为"wp_"——因为我在同一个数据库,我的实际上是前缀 wpmudev_export 和 wpmudev_import.在这里,我正在备份 wpmudev_export 文件.

希望不需要这些备份,但在开始此类工作之前始终建议这样做.如果您要将内容迁移到的网站已经有内容,请确保您也备份了该内容.

做好预防措施,让我们开始工作吧!

更改 WordPress 安装的 URL?转移整个网站

如果您只是想将您的网站更改为新的 URL,或者希望将所有内容从一个安装转移到另一个安装,好消息是您选择了简单的选项.WordPress 自己的导入和导出工具将非常适合您,因此无需在后台执行任何过于复杂的操作.

以下是将您的所有 WordPress 内容(页面、图像和文件、帖子和其他所有内容)转移到新安装的方法.

顺便说一句,在您的新服务器(甚至是服务器中的新位置)上创建新安装并导入/导出可能比更改文件的配置更容易.但是,如果您更愿意这样做,WordPress Codex 可以提供建议.您的安装应该是最新的 WordPress 版本,因此不会有问题,但如果不是,请先升级您的旧安装.如果你真的因为某种原因不能更新——比如保留一个不适用于新版本的插件——你的新安装可以是 旧版本.这远不推荐,因为许多旧版本的 WordPress 存在严重的安全漏洞.

如何将内容从一个 WordPress 站点移动到另一个站点

  1. 从旧安装中导出
  2. 安装导入器
  3. 上传您的内容
  4. 分配内容

1.从旧安装中导出

WordPress Export Page.
WordPress 自己的导出工具.

转到您的 WordPress 仪表板并从工具部分选择导出项.

因为您要导出所有内容,所以很容易:保持所有内容选项处于选中状态,然后点击下载导出文件.

将创建一个 XML 文件.将其保存在安全的地方,然后转到您要迁移到的安装.

2.安装导入器

WordPress importer options.
WordPress 导入器屏幕.

Importer Install screen

在新的 WordPress 安装中,再次转到工具,但这次选择导入.

您将看到一个进口商列表,您应该从中选择 WordPress 选项.

点击立即安装,然后等待导入器插件下载并安装.

如果一切正常,您可以点击激活插件&在下一个屏幕上运行 Importer.

此时,您已准备好导入,并且您之前生成的 XML 文件开始发挥作用.

3.上传您的内容

Screen to upload WXR XML file
上传您之前创建的 WordPress eXtended RSS (WXR) XML 文件.

在随后的屏幕上单击选择文件,然后选择您在旧网站上创建的 XML 文件.

接下来,点击上传文件并导入.

4.分配内容

Importer Content Attribution Options.
您可以导入或添加新作者帐户,或将内容归属于现有作者.确保您导入和下载附件.

您可以选择将内容分配给新网站上的现有用户(如果您在这两个网站上都有帐户,则可以将旧帖子分配给新帐户),或者使用旧用户名创建新用户或选择一个新的.这可确保所有内容都归属于新网站上存在的作者帐户.

如果您有任何图像或文件要移动到新网站,请务必勾选下载并导入文件附件 ——默认情况下未选中.

点击提交按钮,您就完成了!该页面可能需要比平时更长的时间来加载,因为它正在数据库中创建所有新行,但它通过它.耐心等待它被处理,您的所有内容都应该被导入到新网站上,为它的生命做好准备.

部分内容移动

所以这很简单.但是,如果您只想导出部分内容,恐怕 WordPress 的工具本身可能无法满足您的需求.

选择所有内容是导出附件(显示在媒体部分下的文件)的唯一方法.因此,如果您想传输内容的特定部分您的图像,您要么需要移动所有内容然后将其删除(对于较大的网站来说很耗时),要么在您的文件和数据库中四处寻找——我现在就教你怎么做.

我即将向您展示的导出和更改 SQL 将用于移动附件,但您也可以使用类似的方法来传输整个数据库.如果您想传输所有内容,但您的 XML 文件太大而无法通过导入器上传,这将非常有用.

1.选择要导出的内容

再次尝试工具 >导出屏幕开始.

Export screen with posts selected.
这里我选择只导出某个作者在 2010 年年中之后的帖子.您还可以选择按状态(例如已发布、待定、草稿)或其类别导出.可以选择其他内容类型,如页面(或反馈、投资组合等,如果启用).

选择要导出的内容后,像以前一样点击下载导出文件.如果您要进行多项选择(例如,某个日期范围内的两位作者的帖子,或某人的帖子所有页面),完全可以返回并创建多个导出文件每个选择.

2.像以前一样导入

获得所需的所有 WXR XML 文件后,转到新站点并安装 WordPress Importer,如前所示.您可以像以前一样上传文件(一次一个),他们会将特定的帖子/页面/其他内容安装到网站上.

但是,这还没有结束,因为您会注意到您的安装中还没有任何附件(例如上传的图片).

3.重复的媒体文件

转到旧安装的 FTP 客户端并找到 /wp-content/uploads/ 文件夹.我使用 Windows 10 的文件资源管理器作为我的 FTP 客户端,但大多数应该能够压缩和下载文件.

Sending to compressed (zip) file.
根据您的 FTP 客户端,将上传目录中的所有文件夹压缩为.zip文件将通过不同的方法完成.

下载您生成的.ZIP 文件并将其上传到新站点的 FTP(如果您可以通过 FTP 客户端访问这两个站点,则将其剪切并粘贴).

Moving uploads.zip.
我正在剪切和粘贴我的压缩上传,但您可以下载和上传如果您需要在 FTP 客户端之间进行切换.

然后您可以将压缩文件夹中的所有文件解压缩到 Uploads 目录中.

不幸的是,这还没有结束;虽然您的文件在正确的位置,但您的 WordPress 安装不会知道它们,因为附件详细信息尚未从数据库中复制.

No media attachments found.
您的新 WordPress 数据库不知道您上传到新的服务器呢.

4.导出附件帖子

转到旧站点的 phpMyAdmin 数据库并找到 wp_posts 表(根据需要将 wp_ 替换为您的前缀).

wp_posts table SQL.
再次,我使用了 wpmudev_exportposts,但将表名替换为适用的正确前缀到你的数据库.

此时,您需要找到附件帖子(那些是媒体帖子),因此粘贴以下 SQL(如有必要,将表名更改为具有正确的前缀)并点击 Go.

SELECT 
 * 
FROM 
 `wp_posts` 
WHERE 
 `post_type` = "attachment"
Executed SQL query.
SQL 查询将只返回附件帖子.

滚动到查询结果的底部并选中全部显示,以便显示所有附件帖子.显示所有行后,选择Check All,然后点击Export.

在这一点上,事情变得有点复杂,但请跟我来,仔细按照步骤操作,你应该会没事的.

Custom wp_posts Export with Format Specific Options
就图片而言,您需要更改的选项是向上移动页面.您可能需要向下滚动才能找到它们.
  1. 选择自定义以显示所有可能的设置.
  2. 向下滚动到格式特定选项部分.
  3. 选择数据.
  4. 保留其他所有内容,然后点击开始.

5.编辑您的 SQL

如果您的新安装的数据库前缀与您刚刚下载 SQL 导出文件的数据库前缀不同,则此步骤是必要的.

使用文本编辑器编辑.sql 文件,例如 Notepad++,查找并替换旧前缀使用新前缀.

Find and replace prefixes in SQL file.
在我的例子中,我的原始数据库的前缀是 wpmudev_export 和我将正在移动附件的前缀是 wpmudev_import!

如果你的前缀相同(例如,两个表都是wp_posts),那很好,你可以忽略这一步.

6.导入附件帖子

wp_posts Import Page.
一如既往,找到合适的前缀表!

转到您的新数据库并找到 wp_posts(或等效项);点击导入.

点击Choose File——确保点击,不要将其拖入,因为这意味着它不会上传到正确的位置——然后选择导出的 SQL 文件.

保留所有其他选项,然后按 Go 执行查询.完成后,您会看到一条成功消息,并且您的所有附件现在都将显示在"媒体"下-尽管您的图片要开始正常显示还需要进一步的步骤.

Media library showing just files, no images.
如您所见,没有任何图像实际上显示为图像......但是!

7.导出帖子元

wp_postmeta Custom Export Options
同样,您需要更改的选项在这张图片上.您可能需要滚动才能找到它们.

与之前的数据库工作类似,这次找到旧安装的 wp_postmeta 表并选择 Export 选项卡.

再次选择自定义设置,然后像以前一样选择数据而不是结构和数据.

这一次,还要找到 Data Creation Options 标题并选择 REPLACE 作为转储数据时使用的函数.

再次点击开始以创建并下载您的 SQL 文件.

8.编辑您的 SQL

wp_postmeta SQL file editing

同样,如果新的数据库前缀不同,您需要更改 SQL 文件中的前缀.您还应该找到对旧 URL 的所有引用并将其替换为新 URL.

9.导入帖子元

转到您的新 wp_postmeta(或其他适用的前缀)表,并像以前一样,将您编辑的 SQL 文件导入到新安装中.

您的媒体库现在再次完成,准备好重新放入您传输的内容中(最终).

Completed Media Library
最后,你所有的图片都显示出来了内容!

完成

如果您已经完成了所有这些,那就太好了-这有点绕道,只是将一些图像与特定帖子一起传输.

当然,这仍然存在一些问题:如果您只想迁移一些图像,则需要仔细检查并挑选文件夹(希望您希望它们按日期进行,否则会永远/em>) 上传时更加小心.如果您已经在新安装上发布过帖子,您也可能会遇到重复主键传输 wp_posts 的问题.

显然,为了使导入/导出过程更直观——而不是要求对 CMS 背后的数据库进行这种创造性思考——需要为未来的 WordPress 版本完成一些工作.但是,在我们等待期间,如果您确实需要移动某些内容,这应该对您有用-值得花时间!

如果您有更多的想法和方法可以在 WordPress 安装的部分中移动所有内容,我们希望您在评论.同样,如果您对这些方法有任何疑问,请告诉我们,我们可以帮助您.

标签:

18

发表回复