WordPress的确是一款非常棒的博客程序,这一点可以从静态化permalink上就可以看出,更不用说可扩展的插件了.所谓静态化,就是将动态网页(址)转换成静态网页(址)。其中,只将动态网址转换成静态网址叫伪静态化;将动态网页也转换成静态网页叫完全静态化;那么为什么要静态化呢?静态化有哪些好处呢?

WordPress的文章地址默认格式是这种?p=123形式的,它的好处是节省服务器空间、便于互动性强的动态站点的管理,因为每篇文章及其相关数据都保存在数据库里,服务器本身并不需要存放多少内容。另外由于博客是个交互性很强的东西,作者对文章的修改和读者的评论都很频繁,换句话说,一篇文章的页面是经常变化的,WP默认地址格式很好地照顾到了这种动态性。

但是这种地址格式也有弊端。首先是文章每被打开一次,博客程序都要查询一次数据库,从中调出该文章的最新数据并和模板结合,然后输出到用户终端,这在网站访问量很大的时候非常消耗服务器资源,造成网站访问速度下降;其次,传统观点认为这种地址格式对SEO不利,而(2012/06/05/sample-post/)这样的静态地址格式则较易被搜索引擎收录并获得较高的排名;最后,习惯了传统网页地址格式的人会觉得这种格式很不直观,很难看。于是,就有了静态化的说法。前面我们已经讲了只将动态网址转换成静态网址叫伪静态化;将动态网页也转换成静态网页叫完全静态化;那么他们具体是怎么去设置的呢?

首先,你的服务器(空间)支持rewrite模块功能才行。有的虚拟主机提供商不支持rewrite,如E动网,就无法使用这个功能。若是想本地测试静态化功能,下载安装一个WAMPSERVER(即Windows Apache Mysql PHP集成安装环境),在Apache模块中勾选rewrite_module即可成功.

WordPress本身有两种静态化方案,都是伪静态化。在后台,Settings->Permalink中,可以选择你喜欢的模式。常用到的几个参数:

1
2
3
4
5
6
7
%year% ’年参数
%monthnum% ’月
%day% ‘日
%postname% ‘发的文章标题名称
%post_id% ‘文章ID
如系统默认的这个
/%year%/%monthnum%/%day%/%postname%/

就显示这样子:2012/06/05/sample-post/

你可以选择在Custom项中设置的形式为:/%postname%.html,你也可以在这些参数间加你的定义,如:

1
2
3
/articles/%postname%.html
/posts/%postname%.html
/%post_id%-%postname%.html

等等。

而对于分类categories、tags,则可以在:
Category base:中加上适当的词语(默认是categories),这里你可以改为:/tag
显示的就如同这样的形式:/tag/

最后,把WordPress帮你生成的rewrite代码存到名为".htaccess"的文件,上传到你WordPress的根目录下(如/下),这样动态网址就转换成了静态网址,也就是伪静态化了。

通过某些插件可以实现WordPress的完全静态化,它会将所有文章都保存成html静态网页,存放在服务器上,一旦文章相关数据有更新,该插件将自动更新对应的html文件。可见,完全静态化的好处是:首先,不必文章每打开一次都去查询数据库;只有在文章相关数据有更新时才做一次静态化,这在访问量大的情况下能加快网页访问速度;其次,在传统观点看来,静态网址有利于SEO,第三,网址静态化后比先前美观。对于伪静态化,上面第一条是不成立的,因为网页本身还是动态的。

目前有一款WordPress静态化插件cos-html-cache是不错的,适用于大多数WP用户,http://tech.163.com/07/0824/18/3MMA0VDL00092CHG.html上面有详细的介绍,直接在插件安装页搜索也能找到。

最后,我想说的是是否实现静态化就根据需要了。如果你的存储空间有限而服务器支持rewrite就使用伪静态化;如果存储空间很大就完全静态化;如果存储空间有限而服务器又不支持rewrite,那只好放弃静态化了。