当初想开个博客的时候,想法很单纯,就是想和大家分享一下我的SEO优化经验和技术,与大家共同进步。所以,刚开始的时候,博客用的是免费空 间,加一个非常便宜的域名,我当时买的时候才50元/年。后来,随着博客读者数量的不断增加,我下决心更换了个花钱的空间,每年500元。就这样, 我的SEO分享博客走过了一年时间。昨天早晨突然发现,博客打不开了。我开始以为是空间的问题,因为用的是国外的空间,所以网络出点问题是很正常的 事。可是到了晚上了还不好。我赶紧找下原因。先ping了一下域名,发现域名怎么被解析到了172.0.0.1了。我赶紧打开域名管理看看,原来是域名过期 了。当时光图便宜,弄了个不太好的域名提供商。过期了都不提示一下,而且域名直接解析到本地了,真是晕。什么也别说了,抓紧给域名续费吧。续 费了发现还是不行,问了下客服,说过期域名要等2天才能重新解析,我无语了。突然想到了很多以前看过的,域名被域名注册商霸占的例子,心里一阵 凉。要是自己好不容易经营起来的博客被域名注册上给弄了就不好了,所以决定给我的博客换上新域名算了。新的域名早就注册好了,是我名字全拼 jiadingqiang.com(贾定强),在goddady注册的,很放心,绝对不会出问题。早就想换了,就是懒得换,觉得都差不多,没什么必要。这次终于决定麻烦一下吧,换了算了。
下面跟大家分享一下我是如何给我的SEO分享博客换域名的。
首先,我的博客上wordpress做的,而且wordpress自带的导出功能导出的文件已经超过了2M,不能在新的wordpress下实现导入了。也就是说,如果在新 域名下建立一个wordpress博客,然后将原来的wordpress导出,然后再导入到新的博客下的方式已经行不通了。看来的另想办法了。但是不管什么办法 ,数据的导入都是一个问题。因为phpmyadmin的数据导入也有2M的限制。我的博客的数据用phpmyadmin导出的有6M左右,根本无法导入。所以,我的先 把wordpress的数据库进行分解。我先把wp_posts表除外的其他表进行了导出,结果没有超过2M。wp_posts这个表的大小为4M多,导出是可以,导入则有 问题。所以,打开表看一下有没有可以删除或分解的数据。仔细一看就会发现,wp_posts里存着很多在写文章过程中的缓存,对于博客本身没什么影响 。所以先在本地把下载下来的wp_posts数据表导入到一个临时数据库,然后用sql语句删除了post_status不等于publish的数据。然后再导出,导出的数据终于小于2M了。 这下,最难的问题就解决了。当然,如果publish的数据也大于2M的话,只能将数据再分解,直至所有的数据导出结果都小于2M。数据导入的问题解决了 ,在新的主机下建一个数据库,进行数据导入就可以了。
第二,下载原来空间下所有的文件,修改wp.config中的数据库连接代码,然后上传到新的空间。有些中文命名的文件在转移了之后可能会无法使用,所 以,最好在上传图片或文件的时候不要使用中文名称是一个好的习惯。
第三,修改wp_options中所有的包含原来域名信息的字段内容。这里面数据不是很多,手动找一下,一个一个改就可以了。
第四,修改wp_posts中的所有含有原域名信息的内容。这里面内容非常多,我是用sql语句完成的:UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, ‘www.seoshare.net’, ‘www.jiadingqiang.com’)。这样一句sql语句就将post_content下所有的www.seoshare.net换成了 www.jiadingqiang.com。另一个含有域名信息的字段就是guid了,sql语句如下:UPDATE wp_posts SET `guid` = REPLACE(`guid`, ‘www.seoshare.net’, ‘www.jiadingqiang.com’)。
第五,浏览新的域名,这时候网站已经可以正常运行了。但是有些地方还是有原来域名的痕迹,比如评论里(修改的sql语句:UPDATE wp_comments SET `comment_author_url` = REPLACE(`comment_author_url`, ‘www.seoshare.net’, ‘www.jiadingqiang.com’))。当然,这些痕迹已经不影响新的网站 的运行了。
第六,老站301重定向到新站。Google是这样表述的“使用 301 重定向将您旧网站上的所有网页永久重定向至新网站。这可以告诉搜索引擎和用户您的 网站已永久迁移。请勿进行单一的重定向,即将所有来自旧网站的访问量都定向到新的主页。这可以避免 404 错误,但不会给用户带来良好的体验。虽 然更为繁琐,但网页对网页的重定向有助于保持您的网站在 Google 中的排名,同时还能提供一种一致且直观的用户体验。如果您新旧网站的网页无法 像推荐的那样实现一一对应,请尽量确保您旧网站上的每一个网页至少会重定向至一个具有相似内容的新网页。 ”我的wordpress下已经有了.htaccess 文件,我修改了一下,粗体为新增部分。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^seoshare.net [OR]
RewriteCond %{HTTP_HOST} ^www.seoshare.net [NC]
RewriteRule ^(.*)$ http://www.jiadingqiang.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
如果你的空间不支持.htaccess的话,可以在修改wordpress的head.php,在最上面加上如下语句
<?php
$the_host = $_SERVER[‘HTTP_HOST’];
$request_uri = isset($_SERVER[‘REQUEST_URI’]) ? $_SERVER[‘REQUEST_URI’] : ”;
if($the_host == ‘www.seoshare.net’)
{
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://www.jiadingqiang.com’.$request_uri);
}
if($the_host == ‘seoshare.net’)
{
header(‘HTTP/1.1 301 Moved Permanently’);
header(‘Location: http://www.jiadingqiang.com’.$request_uri);
}
?>
第七,为新域名注册Google管理员工具,并在网站配置->地址更改栏目下通知Google域名已经更改。
第八,提交站点地图,等待Google收录新站。顺便观察一下301重定向之后Google的反应速度如何。比如多长时间会将原来域名下的网页转到新域名下,原来的排名会受多大影响,对网站流量影响多大,等等。我会在后面的博文里跟大家分享我自己观察的结果。
好了,终于完成了。以后我的博客域名为jiadingqiang.com了,博客名称也改为“贾定强博客”,感谢大家一直以来的关注。