今天中午老左遇到一个网友他的网站不清楚是什么问题导致域名有故障,有的地区是无法打开的,这个问题已经持续过一段时间,鉴于损失降低到最低,他选择更换域名。且可以在域名在彻底无法打开之前可以通过权重传递的方式大概率的过度到新的域名。于是基于这个处理问题,老左将这个更换域名的过程记录,之前也有遇到一些网友在用到WordPress更换域名技法的时候可以以后参考一下。
第一、准备新域名
我们需要先准备一个新域名。且如果服务器的主机在国内的,我们需要检查确认域名是否有备案过,有的云服务商需要接入白名单的。这个需要先确认好,如果这个没有确认,后面迁移过来也无法打开。
准备好域名之后,我们先将新域名解析到当前网站所在的服务器。同时,我们在网站所在服务器添加新的域名解析。
我们添加域名之后,解析成功之后才可以等待下一步。我们老的域名不要删除。
第二、更换网站域名
解析生效之后,我们需要去更换网站的域名。有两个办法更换,如果我们原来网站能打开的话,直接在WordPress后台设置中修改。
这里有一个技巧注意的。如果我们的网站是有HTTPS,安装过SSL证书的。我们不可以采用上面的直接添加域名,而需要将数据拷贝一份。原来的网站保持正常可以打开,新的一份拷贝后换上新的域名。
同时,我们需要将当前网站的菜单、网站模板固定的位置修改成新的域名。当然前提我们新的域名绑定到站点后,如果没有HTTPS,那就不管,如果有的话还需要配置新的域名的SSL。
第三、批量替换域名
在网站模板上我们可以通过手动部分的修改。但是如果网站内容比较多的话,有些图片、静态连接我们不能一个个替换太累。所以可以直接批量替换。推荐可以选择WPReplace插件。
如果我们熟悉MYSQL命令的话,也可以在PHPMYADMIN中SQL命令替换。替换完毕之后,检查是否能正常访问新的域名,数据包括后台登录没有问题,那就确定没有问题。
第四、301重定向设置
由于老域名的权重价值还在,我们需要进行301跳转设置。
1、Nginx
server_name www.新域名.com www.老域名.com;
if ($host != 'www.新域名.com') {
rewrite ^/(.*)$ http://www.新域名.com/$1 permanent;
}
2、Apache
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.新域名.com$ [NC] RewriteRule ^(.*)$ http://www.新域名.com/$1 [L,R=301]
这个.htaccess放到老域名根目录中,这样会强制跳转到新域名。
总结,WordPress更换域名还算简单,但是权重的传递可能需要三个月到半年时间。尽量的不要更换域名,如今搜索引擎的响应不如以前快速。