A-A+

WordPress博客开启gzip压缩方法介绍

本文于2017年04月08日最后更新 博客心得

出于用户体验考虑,本文于20150618进行了一些版面上的修改。

张自然最近一段时间一直在研究WordPress性能优化技巧,也没怎么更新。当然,这里的“性能优化”指的是“网页加载速度的提升”。张自然前几天发现同是基于WordPress的博客,同样是一个主机的博客,有的很慢有的则“秒开”。毫无疑问网页打开速度慢,会失去大量的读者。尝试了许多加速技巧,目前觉得最实用最强大的无疑是“开启Gzip压缩”

什么是Gzip压缩?

关于Gzip压缩,百度百科说的很详细,这里简要概述一下:

GZIP 最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。现今已经成为Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载.

简而言之,Gzip开启以后会将输出到用户浏览器的数据进行压缩的处理(压缩比率一般都在70%以上!),这样就会减小通过网络传输的数据量,提高浏览的速度。

关于Gzip压缩开启方法实在很多,也有不少人讨论过了,不过大多数是在服务器端进行功能模块配置,相当复杂。但由于网站的服务器Apache、IIS版本不尽相同,这些方法局限性很大,这里张自然仅介绍适合WordPress的简单的方法:

张自然分享给大家几种方法:

修改代码开启gzip压缩

首先说一下修改代码,毕竟插件用太多了影响速度,所以张自然并不推荐用插件,

修改代码第一个方法,这个方法很简单,只要在博客根目录下的index.php文件中加入一行代码就可以了。方法如下:

找到根目录下的index.php文件中的

define('wp_USE_THEMES', true);

注意,这里的index.php文件是根目录下的,不是主题目录下的呀!

将上面代码的后面添加一行

ob_start('ob_gzhandler');

就可以了,保存退出,上传文件。

修改代码第二个方法:不过张自然稍后想了下,wordpress现在更新那么频繁,每更新一次,张自然就要修改一次,还不把张自然和各位朋友累死了呀!于是又想到了修改主题:好处就是升级后不用重新修改代码,方法如下:

将以下代码复制到function.php文件中去:最下面就行

function gzippy() {
 ob_start('ob_gzhandler');
}

if(!stristr($_SERVER['REQUEST_URI'], 'tinymce') && !ini_get('zlib.output_compression')) {
 add_action('init', 'gzippy');
}
  修改代码第三个方法在主题 header.php中最前面加上下面代码:
<?php
function_exists('ob_gzhandler') ? ob_start('ob_gzhandler') : ob_start();
?>

使用插件开启gzip压缩

使用插件的好处不言而喻,方便简单,又不会出现错误,而且对于喜欢偷懒不喜欢折腾的人也方便得很,下载激活即可!

gzip插件张自然推荐使用使用Gzippy插件,

插件下载地址:http://wordpress.org/extend/plugins/gzippy/可以在后台直接安装

修改php.ini实现开启gzip压缩

如果服务器支持php.ini,新建一个文本文件,输入以下的内容,保存为php.ini文件上传到网站根目录即可。

output_buffering = Off
output_handler =
zlib.output_compression = On

修改.htaccess文件实现开启gzip压缩

如果服务器支持.htaccess文件,那么在wordpress根目录的.htaccess增加以下代码,如果没有.htaccess则新建后增加代码。增加完成后上传到wordpress根目录后即可

php_value output_handler ob_gzhandler

  如何检查是否开启Gzip?

以上工作都做好之后,如何验证Gzip开启呢?很简单,在

tool.chinaz.com/gzips里输入网址即可检测。

http://www.whatsmyip.org/http_compression/这个网站也可以检测

  1. Zou's
    可能服务器没开启模块
  2. 张自然
    @索阳网 这些方法如果都用了,那只能说明人品问题了
  3. 索阳网
    我的站照做了,怎么还是显示未启用GZIP压缩?

给张自然个人博客留言