WQINF.COM

WQINF.COM

如何快速对WordPress网站进行迁移

2023-11-28

2024年5月7日更新:上次迁移我最开始用的是All-in-One WP Migration and Backup插件这款插件,不过遇到了进度条一直为0的问题,最后用的是WPvivid Backup这款插件一次就成功了,下载地址https://cn.wordpress.org/plugins/wpvivid-backuprestore/

网站搬家是WP建站的朋友基本都会遇到的问题,以前觉得这句话有点言过其实,不过当发现更便宜,性能更好的主机的时候,最后还是忍不住下了单,所以今天我们来讲一讲网站搬家的方法。 那么WordPress怎么搬家最简单省事呢?对于新手而言可能是一头雾水,不知道该做哪些,也不知道为什么要做,于是经常会造成各种错误,却不知该如何处理。 其实wordpress搬家是很简单的,直接使用All-in-One WP Migration插件,很是方便,插件链接:https://wordpress.org/plugins/all-in-one-wp-migration。

当然也可以手动搬迁,根据最近网站搬家的经验,将操作过程记录下来,希望可以帮到更多的朋友(PS:需要注意的是,搬家前后的主机PHP版本、数据库版本最好是一致的,可以避免很多意外的问题,最重要的一定要强调:最好提前做好备份(网站所有文件+数据库,别忘记数据库账号和密码也记好,有条件和可以做一下服务器的快照,数据无价安全第一)。

一、只更换空间,不更换域名

1.备份网站根目录下所有文件,下载到电脑上。

把旧服务器上所有的WordPress文件下载到电脑上来(有些主机提供压缩文件功能,或者是提供备份文件,这种压缩文件下载更快更省事)。一般在www文件夹下,vps根目录一般在默认文件或域名文件下,反正就是把所有关于网站文件全部下载到电脑并压缩打包(如果你需要上传到新网站可以直接解压到根目录,而不是某个目录,那么最好不要打包文件夹,而是打包文件夹里面的所有文件)。

2.备份网站数据库,下载到电脑上。

数据库在服务器后台可以找到,一般网站后台的数据库管理模块都会提供直接导出的选项,如果没有我们也可以登入phpmyadmin,找到网站数据库文件,全部勾选,导出数据库到电脑上(特别重要,千万别漏了)。 网站文件备份完成,然后在新服务器上建立网站。

3.域名绑定上新服务器。

操作域名换绑,旧服务器解绑,然后绑定到新服务器。

4.上传网站文件并导入数据库。

域名和新服务器绑定好,就可以开始建站了,把备份好的网站文件上传到服务器上,然后根目录下删除wp-config.php文件(这是连接数据库的文件),然后走正常建站流程,也就是直接访问域名,因为不存在网站基础配置文件,会重新进入网站起始配置页面。 然后重新绑定数据库,用户名,账号密码等等,这里等于新建站网站一样的流程。

我们都清楚数据库是网站最重要的东西。网上有很多更换服务器的教程,很多都是直接在新服务器创建数据库并导入备份好的数据。这样子做,必需要修改wp-config.php文件。这样子很容易出现数据库连接不上或者有编码不对的问题。所以这里建议是先删除wp-config.php文件。然后像新建网站一样,建立好后,删除数据库下面的文件,导入备份的数据库,这样子就不需要我们去修改wp-config.php文件,避免出错。

之后,登入后台测试一下网站是否正常。然后登入新服务器数据库,删除新数据库下面的文件(不是删除数据库,是删除数据库下面的所有文件,当然也可以),然后在这个数据库上选择导入备份好的数据库,就可以了(当然也可以先导入数据库,再导入网站文件,再进行配置)。然后登入网站后台,账号密码就是原网站的那个。 就这样,wordpress搬家基本完成。

二、既更换空间,也更换域名

但有时,我们也可能会碰到更换域名的情况,比如测试环境迁移到正式环境,或者要使用现有数据搭建一个新的站点的情况,这时,我们就需要进行新旧域名的替换操作,来实现新域名站点的正常访问,这种情况其实也不难,在执行好上面搬家的操作之后,再去执行2个简单的数据库语句就可以完成相应的新旧域名替换了。

1. 更改WordPress设置选项内的旧域名

首先用phpmyadmin打开你的数据库(或者在你的主机管理里找到对应的数据库管理,这里不推荐使用第三方数据库管理软件),然后找到并打开 wp_options 这个数据表(wp_为表前缀),切换到SQL状态,在输入栏中输入如下代码执行即可:

UPDATE wp_options SET option_value = replace( option_value, '老域名', '新域名');

通过以上SQL执行语句来完成自定义设置选项中涉及到的旧域名更改,只有这一步操作执行完毕后,才可以顺利进入后台,否则即使你输入密码,也会自动跳转到原来的老域名站点。

2. 更改文章(页面)中涉及的旧域名

在我们执行过第1步后,已经可以正常进入网站后台进行管理了,但在访问文章(页面)内容时,会发现文章(页面)中的图片还是没法显示,那么,我们就需要执行下面的操作了。进入 phpmyadmin 数据库管理(或者在你的主机管理里找到对应的数据库管理),找到 wp_posts 这个数据表(wp_为表前缀),切换到SQL状态,在输入栏中输入如下代码执行即可:

UPDATE wp_posts SET post_content = replace( post_content, '老域名','新域名') ;

执行该操作后,文章(页面)中的图片也就可以正常显示了。

3. 更改文章(页面)的自定义栏目中涉及的旧域名

修改文章(页面)中自定义栏目中涉及的旧域名,比如产品图片的自定义栏目,可能会涉及到域名地址,那么,我们就只需要执行下面的操作就可以。进入 phpmyadmin 数据库管理(或者在你的主机管理里找到对应的数据库管理),找到 wp_postmeta 这个数据表(wp_为表前缀),切换到SQL状态,在输入栏中输入如下代码执行即可:

UPDATE wp_postmeta SET meta_value = replace(meta_value, '老域名','新域名') ;

执行该操作后,文章(页面)中的图片也就可以正常显示了。

执行的SQL操作语句中,其中的 wp_ 是你的网站数据库的前缀(如果你在安装WordPress自定义过数据库前缀,请先修改为自己的)。 以上老域名格式为:http://www.olddomain.com;新域名格式为 http://www.newdomain.com 经过以上数据库操作,就可以把以前老网站的老域名全部更改替换为新站点的域名,等待解析生效后,更换域名后的网站就可以使用新域名正常访问了。