给WordPress搬家的步骤

有时候某WordPress用户不满意某一家网络空间商,想换去别家的网络空间商但用回一样的域名。但也有某WordPress用户单纯地想换域名,但所有数据依然在本来的服务器。不论哪一种情形,这相等于给WordPress搬家了。而给WordPress搬家这个技术活对一般用户来说难度太高了。

废话表过,言归正传,根据你的搬家情形,这里有两种暴力有效的方案。

方案一

换另一家空间商的话自然是把旧空间商的所有站点内容搬走。网上有许多五花八门的搬家方案,但在我这里采用的是中国式的暴力拆迁方式哦!

首先,直接去你的cPanel呼叫文件管理器(File Manager),然后选取所有文件(或只限WordPress相关文件)打包下载下来,或直接连接FTP把所有一切都下载到自己的电脑。然后上载到新的空间商的空间内。

接着去旧空间商的cPanel进入phpMyAdmin选择Export,把全部数据(或WordPress相关的数据库)都汇出并下载到你自己的电脑,一般上是.sql文件。

*汇出吧!汇出所有一切!

然后去新空间商的cPanel创建数据库与数据库用户。能的话最好用回与旧空间商那边一样的数据库名称与用户名。

*创建数据库
*创建数据库相关的用户

记得把所创建的数据库用户添加到所创建的数据库并给于权限。

接着去phpMyAdmin(新空间商的)选择你刚刚创建好的数据库,然后点取Import,选择你之前下载到电脑的.sql文件然后上载。

*汇入你之前下载的备份

最后,若你在新空间商创造数据库名称与用户名的时候因其他原因而与旧空间商有差别的话,你还要修改WordPress的wp-config.php文件以便配合新的设置。修改wp-config.php之际,寻找类似图下的内容,按照下面的内容修改并保存。

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', '新的数据库名称');

/** MySQL数据库用户名 */
define('DB_USER', '新的数据库用户名');

/** MySQL数据库密码 */
define('DB_PASSWORD', '新的数据库密码');

/** MySQL主机 */
/** 若wp-config.php里这行已经存在,就不用修改 **/
define('DB_HOST', 'localhost');

/** 创建数据表时默认的文字编码 */
/** utf8是默认,但有的用户当初安装选择了gb2312,若wp-config.php里这行已经存在,就不用修改 **/
define('DB_CHARSET', 'utf8');

/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');

好了,到了这个时候WordPress站点应该可以正常运作了。你去测试吧!

方案二
换域名之后,之前WordPress里面成千上万的帖子尤其是图片附件的URL也不得不改变,一个个帖子修改的话不知道要改到何年何月?最暴力有效的办法莫过于直接批量修改数据库里面的数据。

注意的是若你同时进行换去别家空间商并换了域名,进行方案二之前你必须先完成方案一。方案二是针对只换域名而不换空间商的情形。

接着等新域名生效并加入到你的cPanel帐号之后,在cPanel里面进入phpMyAdmin,然后选择WordPress的数据库,点取“SQL”运行框。

最后在运行框里面输入以下的命令并运行。自然,以下的命令中的“http://www.旧网址”以及“https://www.新网址”换成你自己的。根据需要还有可能需要添加“.com”或“.net”,取决于你之前的帖子图片附件的路径形态。

UPDATE wp_options SET option_value=REPLACE(option_value,'http://www.旧网址','https://www.新网址') WHERE option_name='home' OR option_name='siteurl';

UPDATE wp_posts SET guid=REPLACE(guid,'http://www.旧网址','https://www.新网址');

UPDATE wp_posts SET post_excerpt=REPLACE(post_excerpt,'http://www.旧网址','https://www.新网址');

UPDATE wp_posts SET post_content=REPLACE(post_content,'http://www.旧网址','https://www.新网址');

UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,'http://www.旧网址','https://www.新网址');

要注意的是不总是全部用户安装WordPress的时候按照预设值来安装,一些人的前缀会放其他的名称,也有一些人安装多用户WordPress而不得不用假设有用户安装WordPress的时候不用默认的前缀“wp_”而是放“banana_”,那么运行此MySQL指令的时候把指令中的“wp_”换成“banana_”。

运行完之后你的所有帖子的图片附件URL也会跟着更新。

最后,既然还是本来的空间商,一般情形不需要修改wp-config.php文件。但若你的WordPress站点竟然是多用户站点的话,请按照以下的内容搜寻并修改wp-config.php。

/* Multisite */
/* 若有存在的话 */
define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', '你的新域名,没有http://www.');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', '已经存在的数据库名称');

好了,到了这个时候WordPress站点应该可以正常运作了。你去测试吧!