WordPress 网站如果想更换域名,并不是简单的把新域名解析过去然后在后台改个网站地址这么简单的,我们需要把整个数据库里的旧域名数据都替换掉,包括文章里的链接、图片链接等各种域名相关的地方。当然,也没有想象中的那么难,我们可以使用 WordPress 提供的 wp-cli 工具或者直接操作数据库完成替换工作,本文介绍一下 WordPress 网站更换域名的三个方法。
下面的主要方法来自《WordPress 迁移站点更换域名为新域名的 N 种方法》,在此表示感谢,确实帮到了我很大的忙。
一、使用 wp-cli 工具搜索替换域名的方式更换 WordPress 域名
wp-cli 是一个命令行工具,可以让我们通过命令行安装、更新 WordPress,对 WordPress 执行一些批量操作,使用起来相当方便。
1、安装 wp-cli 工具
如果已经安装了 wp-cli 工具,直接进行下一步。
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
2、搜索替换 WordPress 数据库中的域名
wp-cli 工具为我们提供了一个搜索替换数据库中字符的命令,直接在 WordPress 的根目录执行以下命令即可完成更换 WordPress 域名的操作,该命令支持一些选项方便我们自定义操作,具体查看 wp search-replace 命令的官方说明。
wp search-replace 'old.com' 'new.com'
老唐本人使用的就是这个方法,一次成功。成功后会有一个统计信息,部分截图如下:
二、使用 SQL 语句直接在数据库中替换域名
在 phpMyAdmin 中直接运行下面的命令替换旧域名为新域名即可。复制代码后,替换代码中 old.com, new.com, 如果您的 WordPress 站点使用了自定义数据表前缀,同时修改下面命令中的 ‘wp_’ 数据表前缀。
UPDATE wp_options SET option_value = replace(option_value, 'http://old.com', 'http://new.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://old.com','http://www.newurl'); UPDATE wp_posts SET post_content = replace(post_content, 'http://old.com', 'http://new.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://old.com','http://new.com'); UPDATE wp_usermeta SET meta_value = replace(meta_value, 'http://old.com', 'http://new.com'); UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://old.com', 'http://new.com'); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://old.com','http://new.com');
大多数情况下,写入 WordPress 中的域名都存在于上面几个数据表中,但是也不排除主题或插件添加的自定义数据表也包含旧域名,如果执行了上面的命令后,还有一些旧域名没有被替换掉,可以参考下面直接编辑 .sql 文件的方法进行替换。
三、使用代码编辑器编辑 .sql 导出文件直接替换
导出 .sql 文件,然后使用你喜欢的代码编辑器打开导出的 .sql 文件,搜索替换旧域名为新域名。 然后直接删除站点数据库中的所有数据表,再导入到数据库即可。
四、建站主机 VPS 推荐
目前比较推荐腾讯云香港:《腾讯云香港 CN2 VPS 秒杀:428 元/3年,1核 1G 1M,三网直连,超低延迟》。
1、便宜 VPS 推荐:
- 搬瓦工:《搬瓦工 VPS(BandwagonHost)所有便宜方案整理和推荐》
- Vultr:《Vultr 便宜 VPS 方案整理以及速度测试,按小时计费,支付宝付款》
- 腾讯云:《腾讯云:2019年 10 月最新优惠,云服务器 99 元/年起,新老用户均可领取 1870 元代金券》
- 阿里云:《2019 年 9 月阿里云最新活动和优惠信息整理》
- 阿里云:《阿里云轻量应用服务器:24 元/月,香港 CN2,1G 内存,1TB 月流量》
- GigsGigsCloud:《GigsGigsCloud 香港 PCCW / 香港 HKBN / 洛杉矶 CN2 GIA 等便宜 VPS 方案整理》
- DMIT:《DMIT 香港补货:$14.9/月,1G 内存,1.2TB 月流量,200Mbps 大带宽,年付额外九折且流量 1.3 倍》
- DMIT:《DMIT CN2 GIA 优惠:终身九折 + 1.3 倍流量,或终身 1.5 倍流量》
- UCloud:《UCloud:北京、香港 CN2 云服务器 VPS 低至 100 元/年》
- HostDare:《HostDare CN2 GIA 方案重新补货上线,永久 85 折,$39/年起》
- VirMach:《VirMach:$4.9/年,1核 256MB 5GB,超低价便宜 VPS 重现江湖》
- Linode:《Linode 优惠码:2019 年 9 月最新 Linode 新用户 20 美元优惠码》
- SugarHosts:《糖果主机 SugarHosts:2019 年 10 月最新优惠码,VPS 全场七折》
- CubeCloud:《CubeCloud 魔方云:欢度国庆,洛杉矶 CN2 产品限时特惠,终身九折 58.5 元/月起》
- HostWinds:《HostWinds:1核 1G 30G,$5.17/月,西雅图,最便宜的全管理型 VPS 推荐》
- RFCHOST:《RFCHOST:$8.99/月,洛杉矶 CN2 GIA,512MB,10GB HDD,500GB 月流量 @500Mbps》
更多国内 VPS 商家推荐,参考《2019 年最好用的便宜国内云服务器 VPS 主机商家排行推荐》。
2、优质的域名注册商:
- Dynadot:《Dynadot:靠谱便宜国外域名注册商,域名注册低至 15 元/年》
- NameCheap:《NameCheap:.COM,.ME 等多种域名优惠低至 1.6 折,$2.98/年》
更多域名注册商推荐,可以参考 搬砖部落 出品的《2019 年最好的便宜域名注册商推荐》。