wordpress博客怎么优化

作者 : 小姬推荐 发布时间: 2019-11-15 文章热度:32 共3426个字,阅读需9分钟。 本文内容有更新 字体:
  • 文章介绍
  • wordpress博客怎么优化-高岸姬

    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)这句删掉,然后手工把所需的文件插入到主题模板里。

    推荐:《WordPress教程

    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后,重返第一步,把插件里加载脚本和样式的语句删掉。

    以上就是wordpress博客怎么优化的详细内容,更多请关注高岸姬其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,请不要用于商业用途!
    3. 如果你也有好源码或者教程,可以到审核区发布,分享有J币奖励和额外收入!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.gaoanj.cn",如遇到无法解压的请联系管理员!

    高岸姬 » wordpress博客怎么优化
    3
    +855天安全运行
    高岸姬专注高端网站建设
    7
    +7篇本周更新
    我更新我快乐

    VIP免费下载全站资源

    立即了解