WordPress 除了在插件、模板等方面有很大吸引力外,在博客推广方面也有很大的优势,尤其是对 SEO 的良好支持。URL 静态化、自定义 URL slug 缩略名、强大的 All in One SEO 等插件,可以将 WordPress 打造成一个强悍的 CMS 。出于对 SEO 的考虑,我之前用了 %category%/%postname%.html 的形式,一旦日志太多,每篇文章都要写 slug 是一件很繁琐的事。当然,在 %postname% 中包括关键词的确有利于文章排名。
为了使博客的 URL 统一化方便管理和记忆,昨天改变了 WordPress 博客的永久链接(Permalink)形式,将所有文章都采用了/archives/%post_id% 的永久链接形式。为了防止来自其它网站(尤其是搜索引擎,占有60%甚至更多的流量)的访客看到空虚的 404 错误页面,还必须使用插件来实现 WordPress 博客 URL 的301重定向(301 redirect)。
什么是301重定向
301重定向(301 redirect)是指网址的永久性转移(Permanently Moved),当网站在搜索引擎索引库中的网址发生改变时,搜索引擎并不能及时改变索引库中的网址。网站管理员通过对网址的301重定向转移,可以避免损失来自搜索引擎的用户。更重要的是,通过301重定向转换,URL 的权重、Google PR值都能够不受影响地传递。因此301重定向也是网页更改地址后对搜索引擎非常友好的一种方法。
WordPress 如何实现301重定向
要实现网站的301重定向,网站管理员通常有很多种选择方式。比如改变.htaccess文件、修改服务器设置等方法。当然,这些都有一定的技术门槛。
要对 WordPress 实行301重定向,只需合理应用插件即可。我使用的这款名为 Dean’s Permalinks Migration 的插件就很好的帮我解决了301重定向的问题,使用方法非常简单。
下载→上传至wp-content\plugins目录→到 WordPress 后台激活;
设置→PermalinksMigration→输入原来的永久链接形式(我的就是/%category%/%postname%.html),保存;
设置→永久链接→选择永久链接形式(我的就是/archives/%post_id%);
为了保证分类、标签(tag)的网址不变,在分类基础中填写/category,在标签基础中填写/tag。【此项可选】
通过以上设置,Googlebot 将可以很快辨别出301重定向,并重新索引更新网址。当然,Googlebot 重新索引也需要时间,Blogger 可以通过 SiteMap.xml 通知 Googlebot。
在使用/archives/%post_id%后,发现 WordPress 的文章序列(%post_id%)是不连续的。一个猜测是如果一篇文章中如果有附件,则会占用一个post_id,但我发现即使没有附件,post_id仍然是跳跃的
P.S:如果通过 WordPress 后台的导出—导入功能实现博客主机搬家,由于原博客的post_id是不连续的,而新博客导入后的文章ID则会重新排列。以/archives/%post_id%结构为例,搬家造成的问题就是URL前后不统一,不知可有大侠知道解决方案否,请留言
P.S.2:百度至今未重新索引,有说法称百度不支持301重定向,这也就意味着我必须使用 Dean’s Permalinks Migration 插件相当长一段时间,以防止百度过来的访客看到可怕的404页面。到底支持与否,目前还没有统一的看法,过一段时间若有异常则会在博客上写出来分享。
