Wordpress的功能非常强大,诸多的插件、花哨的界面,使得它的读取速度也大大降低。因此,如何优化以加快访问者的浏览速度便成了wper们思考的问题。我将诸多高手的方法整理总结了一下,汇成此文,希望能对大家有所帮助。 (建议将WP系统更新至2.1.2 以上)
图片其实是影响网页读取速度的关键,稍大一些的图片就可能达到100K;因此,在上传自己的图片之前,务必用Photoshop的"保存至网页"(save for web)功能,对图片进行优化。(例如,保存成GIF, PNG格式等等)
在安装插件之前,首先问一下自己,你是否必须要此插件。不要安装UTW之类的超大插件,尽可能的降低插件数量。
让WP-Cache也用上Gzip:如果你安装了WP-Cache,一定知道WP-Cache要求必须关闭WP的内置GZip功能,但是我们可以在wp-cache-phase1.php中添加代码来实现Gzip压缩功能。
打开wp-cache-phase1.php,大概在35行左右找到如下代码:
foreach ($meta->headers as $header) {
header($header);
在此代码前添加下面的代码:
if ( extension_loaded('zlib') ) ob_start('ob_gzhandler');
合并JS和CSS文件:不少插件都有自己的JS文件,系统在读取这些文件时候会产生大量的http requests,产生的延迟约为0.2秒/个。因此将所有的JS和CSS文件合并,会大大加快页面的读取速度。这里我采用的是阅微堂的手动合并的方法。
手动合并是一个方法,但是容易弄错,而且不太好修改。另一个方法是建立一个新的all.js.php文件,内容是:
<?php
require_once('目录/wp-blog-header.php' ) ;
include ("/blog/a.js" ) ;
include ("/b.js" ) ;
?>
就是将header.php里面的那些js文件都include到all.js.php,然后在header里面包含all.js.php文件即可:
<script xsrc="all.js.php" type="text/javascript" />
另外还要做的一件事情是需要把原来那些js文件从head里面去掉。通常这些js文件都是通过
add_action('wp_head','fun' );
这样的钩子添加到head里面的。在fun函数的定义处去掉对应的代码,或者直接把这条语句删除即可。
对CSS文件也可以用同样的处理方式。CSS文件一般都不多,这时候可以直接手动把它们都贴到一起。
另外js文件的载入位置也很重要,放在越后面越好,让浏览器先下载html代码。像Google Analytics的js代码最好放在文件最后。