建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
去告诉搜索引擎吧(SEO)
发布日期:2010-12-29 阅读次数:1159 字体大小:

首先让我们看看 Google 对于我新域名收录的情况吧。已经出现 Site links 了。至于几时出现的,我也不知道,但这是今天发现的。

sitelink

对于换域名,即使本来用的那个(happinesz.cn)并不好记,也不舍得换。原因有很多,其中有一点很重要的,对于很多人来说都有点可笑,那就是我写给别人看,我希望能过这样的方法也能改变世界。如果没人看,我绝对不会写。而换域名,可能导致丢掉很多读者,这一点让我有点忐忑不安。不过,既然心血来潮想换,就换个容易记一点的,在博客上告诉读者,在 SEO 方面给力一点,做个了断。长痛不如短痛,我是这样告诉自己的。

在这篇文章,我将告诉你我是如何去 SEO,去告诉搜索引擎的,主要有 3 点:

1、利用 .htaccess 进行 301 重定向

2、更新(使用)Sitemap

3、提供 canonical 标识

至于告诉读者方面,这里就不多说的。但有一点比较重要的,就在前面提一下吧。那就是:在 Feed 托管商烧制你的博客 Feed,这样无论你以后怎么换,只要换一下烧制的源,地址还是不变的。另外就是烧制之后,绑定域名要慎重,比较之前订阅 feed.happinesz.cn 的同学就收不到了,让我直接损失了 1500+ RSS 读者(本来都已经快6K订阅了,现在变成 4000+)。

至于搜索引擎方面。如何去告诉他?优化博客,让他更容易读懂?看看上面的这张 Google 的 Site Links 图,域名已经是 sofish.de 了。这是如何在这么短的时间内达到的呢?

一、301 重定向

这里有两点比较重要的,一个是把原来的链接重定向到新的链接;另外一个是我使用短链接,所以在原来的链接上做点改变。

shortlinks

对比原来与目前需求的链接:

我是这样做的。利用 .htaccess 重定制,告诉搜索引擎,这些链接已经发生改变,而且,是永久性的。在 happinesz.cn 做如下重定向:

## 重定向原来文章的链接到短链接
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^archives/(0-9+)/$ http://sofish.de/$1 R=301,L

## 重定向其他链接
RewriteCond %{HTTP_HOST} ^happinesz.cn
RewriteRule (.*) http://sofish.de/$1 R=301,L
RewriteCond %{HTTP_HOST} ^www.happinesz.cn
RewriteRule (.*) http://www.sofish.de/$1 R=301,L

其实这样做就足够了,但原来我并没有提前去掉 /archives/ 这个PATH,导致搜索引擎已经完成了一部分收录,因此,还需要在 sofish.de 中做如下的重定向,并告诉搜索引擎是 301 永久性重定向:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^archives/(0-9+)(/?)$ /$1 R=301,L

至此,搞定。一旦有用户到了,他们就会转到短链接来。而搜索引擎也一样。 对于 .htaccess 规则的使用,可以参考《.htaccess tips and tricks》,有 part 1 和 part 2 两部分。

二、SiteMap | 站点地图

相信做过站的,写过博客的,多多少少了解到一点。它会生成一个类似于这样的站点地图,这有利于爬虫的收录(当然,如果有可能,或许可以添加一个 xml Sitemap):

sitemap

对于 WordPress 用户来说,非常幸运和幸福的是,总有那么多插件可以帮上手。在制作 SiteMap 上,有 Google (XML) Sitemaps Generator for WordPress

三、提供 canonical 标识

新域名使用的是旧域名的数据库,这一点非常有利于我的变更。因为我替换数据库中所有链接地址。当爬虫到来的时候,无论是新来的,还是旧的,都是新的链接。而且,我在每篇文章里都添加了 canonical 标识。也就是说,无论新老地址,canonical 标识都是相同的,这对搜索引擎的权重分配就非常重要了。

至于为什么要使用 canonical ,看 Google 的官方介绍吧:《Specify your canonical》。而在 WordPress 中,可以这样做:

<link rel="canonical" href=http://www.chinaz.com/Webbiz/Exp/"<?php echo get_permalink($post->ID);?>" />

结语

好吧,其实这些小知识可能平时我们也不常用到。刚好睡不着,就分享出来吧。不过,SEO 这情,说来话长,不是1、2个小时就能说到底的。留着以后,再分享一些其他的经验吧。

作者:sofish

文章来源:http://sofish.de/1556