首页 > 经验技巧 > 正文

WordPress优化之速度篇——Gzip压缩CSS、JS 缩短载入时间 提高网站性能(下)

2010年5月12日 发表评论 阅读评论

上一篇向各位介绍了CSS的压缩,根据同样的原理,对JS进行Gzip压缩

1、对style.css进行压缩

请看文章《WordPress优化之速度篇——Gzip压缩CSS、JS 缩短载入时间 提高网站性能(上)

2、对JS进行压缩

开启FireFox浏览器安装的附加组件Firebug,进入网络>JS,Ctrl+F5刷新页面,查看载入了哪些JS文件,是不是有很大的需要压缩,知道要压缩哪些JS后,记下JS的地址,有些JS是主题下的,有些是WP自带的。

用压缩CSS同样的方法,将下载下来的***.js重命名为***.js.php,在需要压缩的JS的顶部加入以下代码:

<?php if ( extension_loaded('zlib') ) {ob_start('ob_gzhandler');}

header("Content-Type: text/javascript"); ?>

同时在最底部添加如下代码:

<?php if(extension_loaded('zlib')) {ob_end_flush();} ?>

加入代码后,上传到JS下载前的目录,同样下载header.php,编辑JS对应的载入地址,将其修改为***.js.php的地址就可以了。

下面实际操作以下,方便大家学习:

a、使用FireFox浏览器安装的附加组件Firebug查看,我的站点中,加载最大的JS是jquery.js,有55.9K,它存储的地址是http://dboy365.com/wordpress/wp-includes/js/jquery(鼠标放到JS名称上就能看到了)

如下图所示:

http://upts5a.blu.livefilestore.com/y1pVAoik4K0vDrJ6sLi7OCV3rqZEGQjOMgzp8GrugYxvEHLZIn_6fbdeibaWiEqdazPCCYV_9aMyhzoLkJYab57885nd8y4eJB7/JS%E5%8E%8B%E7%BC%A9%E5%89%8D.png

b、将这个JS用FTP下载下来,重命名为jquery.js.php(如果隐藏了后缀则不能直接重命名,需要用记事本打开,然后另存为,总之要命名为jquery.js.php而不是jquery.js.php.js或者jquery.php.js)

c、编辑该文件,在顶部和底部加上上述代码,保存并上传至原目录

d、经过分析,这个JS不是header.php中自带的,而是我使用了wp-postratings插件而启动的,所以,意外发生了,不用修改了,直接禁用此插件(根据统计显示,评分用户极少,反而影响大部分用户使用,禁用之)

OK,再Ctrl+F5看看JS加载数据(Ctrl+F5是为了让网页中的数据全部重新加载,如果直接刷新,JS之前加载过就不重新加载了,看不出效果)

http://upts5a.blu.livefilestore.com/y1p8RPSUrjgIuNmezDm81x_BFn4MuNG43C0w5gxo0yq9b4JWXFjQJdsIpuoOmhosWIllxr9yT0pA20g-lxnJjrif-_EHgQqyZMU/%E5%87%8F%E5%B0%91JS%E5%8A%A0%E8%BD%BD.png

jquery.js不加载了,虽然我提供的例子不是最终修改的,而是有意外,这就提示大家特殊情况特殊分析。

不过,为了能让各位能体验一个完整的压缩JS操作过程,我再用主题下的menu.js举例,继续说完吧:

a、b、c、三步同上操作,完成对menu.js的修改并上传

d、下载主题文件夹下的header.php,将/js/menu.js修改为/js/menu.js.php。

这次真OK了,原来4.88K的JS被压缩成1.7K,这只是一个演示,大家可以对加载的大型JS进行压缩,例如上百K的,那样压缩起来,效果就非常明显了,小D的站点Yslow评分果然从B升到了A,从最初的D级升到A级,就是这么简单。


无觅相关文章插件,快速提升流量