Ethan's Blog

记录和思考

启用新域名:ethanblog.com & WordPress 更换域名经验分享

自从上次更换域名到现在快一年了,最近觉得 .me 的域名还是有挺多不好的地方,于是决定启用新的域名:ethanblog.com。希望这个域名能够陪伴我和我的博客更长时间。

此次启用新的域名主要原因是前面的 .me 域名比较难记,而且域名的含义也只有我一个人知道,这次的话,启用新的 .com 域名,大家更容易接受,此外,和博客名字与主题更加切合,Ethan 的博客 = ethanblog.com,相信也更加容易让人记住。

其他可能需要部分读者关注的地方:

  1. Feed 地址:相应地改为 http://ethanblog.com/feed,如果使用 rss 订阅了我博客的读者可能需要修改一下订阅地址。
  2. 链接地址:已经做好了完整的 301 重定向,不管通过搜索过来还是直接访问博客相关地址都会定向到新的地址来。
  3. 原来的域名:之前使用的.me 域名还会在我手中持有约一年的时间,后面会不会再继续使用还要再考虑,如果你存了书签,也麻烦你更新一下,方便以后访问。

WordPress 更换域名经验分享

一、备份数据

更换域名后,需要把网站内容中的所有旧域名修改为新域名,会有比较多的数据库操作,为了保险起见,第一步的操作应该是备份 WordPress 数据,具体方法可以使用 phpmyadmin 的导出功能完整备份数据库。

二、替换网址

当网站域名更换后,网站所有内容的旧网址都应该要修改为新的网址,不管你的博客文章数量多不多,使用纯手工的方法一个一个改都是不科学也不现实的,方便高效的方法依然是使用 phpmyadmin,进入自己 WordPress 数据库,首先使用搜索功能,搜索自己的旧域名,看看主要有哪些表的哪些字段需要修改:

启用新域名:ethanblog.com & WordPress 更换域名经验分享

一般来说,需要修改的表主要有 wp_commentmeta、wp_comments、wp_posts 等表,点击如下图中的搜索结果浏览可以查看匹配到的详情。

启用新域名:ethanblog.com & WordPress 更换域名经验分享

以 wp_posts 为例,需要替换网址的字段主要集中在 post_content 和 guid 字段中,于是使用下面 sql 语句批量将旧网址替换:

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

这样重复搜索查找和替换,使用 sql 语句

UPDATE 表名 SET 字段名 = replace( 字段名, '旧域名', '新域名' ) ;

最终将数据库中所有的旧域名替换为新的域名。

三、设置重定向

启用新的域名后,自然需要将原来的域名重定向到新的域名,不同的 web 服务器的重定向方法也有所不同,常用的 web 服务器 Apache 的重定向方法为修改网站根目录下的.htaccess 文件内容为:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^旧域名.com
  RewriteRule (.*) http://新域名.com/$1 [R=301,L]
  RewriteCond %{HTTP_HOST} ^www.旧域名.com
  RewriteRule (.*) http://www.新域名.com/$1 [R=301,L]
</IfModule>

Nginx 服务器的重定向方法为修改网站配置文件如下:

server {
  server_name www.旧域名.com;
  rewrite ^(.*) http://www.新域名.com$1 permanent;
}
server {
  server_name 旧域名.com;
  rewrite ^(.*) http://新域名.com$1 permanent;
}

四、SEO 相关处理

更换域名后,对网站的 seo 或多或少都会有影响,为了尽可能减少这些影响,可以采取几个措施:

  1. 设置好 301 后,暂时不要停止原域名的解析,也不要删除原来的网站数据
  2. 使用谷歌站长工具的地址更改功能,设置网站迁移到新域名
  3. 使用百度站长工具的网站改版功能,设置网站域名改变

至此,一切搞定。如果大家在访问中发现有什么问题,欢迎给我反馈。

相关文章: