wordpress的功能非常强大,诸多的插件、花哨的界面,使得它的读取速度也大大降低。因此,如何优化以加快访问者的浏览速度便成了wper们思考的问题。我将诸多高手的方法整理总结了一下,汇成此文,希望能对大家有所帮助。 (建议将WP系统更新至2.1.2 以上)
- 优化所有的图片(images):
图片其实是影响网页读取速度的关键,稍大一些的图片就可能达到100K;因此,在上传自己的图片之前,务必用Photoshop的"保存至网页"(save for web)功能,对图片进行优化。(例如,保存成GIF,PNG格式等等)
- 关闭一切不必要的插件(plugins):
- 开启WP自带的缓存(Cache)功能:
- 打开WP根目录下的wp-config.php文件,在最后一行之前添加 define('ENABLE_CACHE',true);
- 将WP-content目录下的cache目录属性改为777,以保证系统能够写入cache。
- 如果您的blog日访问量在200以上,建议安装WP-Cache插件,否则不推荐使用。
-
让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代码最好放在文件最后。
- 压缩代码: