wordpress 博客优化历程(速度)

我的优化步骤是:
1.紧缩CSS和JS文件,并修正一局部插件,优化页面的载入过程

普通需求另外加载JS或许CSS的插件都会存在add_action(”wp_head”,”xxxx”)或许add_action(”wp_footer”,”xxxx”)这两句代码,目的是把本人的脚本或许款式拔出到主题的wp_head()wp_footer()处,使插件能够失常工作(那些反映说插件激活了但看不到成果的人留意了,我察看到相当一局部人所应用的主题不能失常加载插件的脚本,缺的就是这两个函数了)。
上面转回正题。咱们需求优化载入过程,也就是流量整形,把CSS文件移到head里(这点100%的插件都能做到,不必担忧),把JS文件放在页面最初。咱们能够把add_action(xxxx)这句删掉,而后手工把所需的文件拔出到主题模板里。

2.紧缩CSS和JS,缩短文件的加载工夫

常常用jQuery写脚本的人应该比拟分明,未紧缩版的jQuery库(1.3.2)大小为120K左右,但min版的只有56K。由于jQuery库min版通过YUI Compressor紧缩,去除了代码里的正文、无用的空格和换行符。咱们也能够用YUI来紧缩一下本人的脚本,紧缩率能达到30%~70%。因为软件版的YUI装置进程比拟复杂,这里有个在线版
而CSS的紧缩就比拟简略,就是去除换行符、空格和正文,大家能够用在线工具紧缩一下。但主题的style.css头部被正文掉的主题信息不能删掉,否则可能招致主题不失常。
关于CSS的紧缩,很多人用的PHP紧缩。编写名为style.css.php的文件,内容如下:

 
if ( extension_loaded('zlib') and !ini_get('zlib.output_compression') and ini_get('output_handler') != 'ob_gzhandler' and ((version_compare(phpversion(), '5.0', '>=') and ob_get_length() == false) or ob_get_length() === false) ) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
//反省能否含有Gzip相干模块,有的话就采纳Gzip传输,假如主机有Apache mod_deflate.c或其它等效模块的话,能够不写这段
@header("Cache-Control: public");
@header("Pragma: cache");
//缓存文件
$expiresOffset = 3600*24*365;
@header( "Vary: Accept-Encoding" );
@header( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $expiresOffset ) . " GMT" );
//设置缓存工夫
@header('Content-Type: text/css');//申明文件类型
$cssdata = file_get_contents('style.css');//读取style.css的内容
$cssdata = preg_replace(array('/\s*([,;:\{\}])\s*/', '/[\t\n\r]/', '/\/\*.+?\*\//'), array('\\1', '',''), $cssdata);//肃清正文和换行符等
echo $cssdata;//输入代码

把这个文件放在主题文件夹里,并把主题CSS的加载代码改为
 
<link rel="stylesheet" href="<?php bloginfo('stylesheet_directory'); ?>/style.css.php" type="text/css" media="all" />
</link>

当然JS文件也能够用PHP进行优化,但因为通常状况下加载的JS文件比拟多,我经过另一个文件来直接加载JS。建设一个名为js.php的文件,内容如下:
 
if ( extension_loaded('zlib') and !ini_get('zlib.output_compression') and ini_get('output_handler') != 'ob_gzhandler' and ((version_compare(phpversion(), '5.0', '>=') and ob_get_length() == false) or ob_get_length() === false) ) {
ob_start('ob_gzhandler');
}else{
ob_start();
}
//同样是Gzip紧缩的语句
$js_folder = "js/";//JS文件所在目录,**门路
$js_src = urldecode( htmlspecialchars( $_GET['src'] ) );//获取JS文件名
$js_file = $js_folder.$js_src;//JS文件地位
@header("Cache-Control: public");
@header("Pragma: cache");
//缓存文件
$expiresOffset = 3600*24*365;
@header( "Vary: Accept-Encoding" ); // Handle proxies
@header( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $expiresOffset ) . " GMT" );
//设置缓存工夫
@header('Content-Type: text/javascript; charset: UTF-8');//申明文件类型
$jsdata = file_get_contents($js_file);
echo $jsdata;
//输入内容

把这个文件放在主标题录下,在主题文件夹里建设一个JS文件夹,把所需的JS文件都放到这个文件夹里。改写一下主题,用以下形式加载JS文件:
 
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js.php?src=library.js"></script>

假如你的主机有Apache mod_deflate.c模块,根本上能够疏忽下面的办法,由于只要要在.htaccess文件里退出以下代码就能够完成全站Gzip传输了。而且紧缩率更高。
 
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-httpd-php application/x-javascript
</ifmodule>

3.整合CSS和JS文件

通过下面一番折腾当前,其实页面载入速度曾经快很多了,但速度是没有尽头的,咱们谋求更快。搞无可搞当前,只能从缩小HTTP申请数下手了,这一步的目的尽量整合一切的CSS和JS。
整合CSS比拟简略,用各种支流阅读器测试几个页面,没发现框架错位景象,把相干的CSS里的代码粘贴到style.css里,并把相干的CSS-image也复制到主标题录下,修正一下CSS里的图片门路就行了。
JS的整合办法则复杂点,要搞分明那些脚本需求在对象加载前加载,否则是有效的,并且要留意不同插件的JS抵触成绩。
整合完CSS和JS后,重返**步,把插件里加载脚本和款式的语句删掉。

后记

通过优化当前,经过我本人测试,博客速度有了很大晋升。Yslow的评分从70多回升到90多,用Google的PagespeedLoad Impact测试页面载入工夫,曾经从5s以上缩短到2~3s。
在Google发表今后将把网站关上速度归入PR评分基准当前,咱们应该愈加重视速度。另外从我的网站统计数据里能够看出(相对实在,但暂不地下),通过优化当前,我博客的跳出率降至优化前的一半。无论咱们做网站的目的是什么,要做一个好网站,从前那个驰名的5s实践还是不能漠视的。

以上就是安达网络工作室关于《wordpress 博客优化历程(速度)》的一些看法。更多内容请查看本栏目更多内容!

本文相关话题: wordpress 博客优化
版权声明:本文为 安达网络工作室 转载文章,如有侵权请联系我们及时删除。
相关文章
WordPress在SAE平台完成的动态化插件及用法示例

本文实例讲述了WordPress在SAE平台完成的动态化插件及用法。分享给大家供大家参考,详细如下: WordPress是...

wordpress 网站转移效劳器操作的两种办法

第一种办法:我的这个博客不断都在网上运转,明天想把它在本地架设一个,包括数据库都和网上的如出一辙。详...

WordPress自定义表情及其门路的办法

上面解说应用办法: 第一步:下载weisay_smiley.zip,解压,将表情文件夹smiley和smiley.php一同上传到你目...

保障WordPress平安的完成办法

小洞不补大洞享乐。关于bloggers来说这是永恒的真谛,仅仅花一点工夫在马上就晋级上省下了很多之后修复一些...

WordPress必备数据库SQL查问语句整顿

最近明月给博客和主站都部署了SSL证书,彻彻底底的退出了HTTPS站点行列。这个时期也用到了SQL查问语句来批量...

WordPress特定文章对搜寻引擎暗藏或只容许搜寻引擎查看

对搜寻引擎暗藏特定的文章 这个成绩的起源是这样的: 家喻户晓,随着搜寻引擎的改进,会越来越排挤采集和伪...

需求提交

客服服务