网页想要速度再快,除了平时做好网页优化之外,如果网页输出时可以经过压缩,那可以让网页加速开启,减少等待时间,这项功能就叫做 Gzip 网页压缩。在 WordPress 中虽然有插件可以启动 Gzip 网页压缩,不过能通过几句语法来达到网页压缩,这样不是更好吗?其实在 PHP 中,有一句语法是可以开启 Gzip 的,只要加在网页输出的前端即可。
除此之外,也可以通过.htaccess 来调整系统,启动 Gzip 所需的设定,让网站达到加速的需求,若是可以启动 Gzip 除了输出时网页比较小,接收者可以很快开启网页之外,也可以省一些流量的耗损,算是不错的功能,但若是主机不支援这些设定选项,那就比较可惜了。
在 WordPress 中,其实大部分的缓存插件都有内建启动 Gzip 压缩功能,不论是老牌的缓存插件 WP Super Cache 、轻巧的 1 Blog Cacher 或是 hyper Cache 都可以启动 Gzip 网页压缩功能。如果你没有装这些插件,或是这些插件虽然启动了 Gzip 功能但是检测出来却没有压缩,那你可能需要通过插件 GZippy 来启动,不过通过这个插件来启动时,记得缓存插件本身的 Gzip 要关掉,否则可能造成冲突。
但如果你是很老手的 WordPress 玩家,那你一定有印象以前在后台管理中有一个是启动网页压缩 Gzip 的设定选项,不过不知道从哪个版本开始偷偷被拿掉了,不过从资料库内的 wp_options 资料表内看,一定还会看到一个栏位是 gzipcompression,这就是储存 Gzip 启动的设定值,现在是空的,1 表示启动,0 表示关闭,但现在就进入资料库修改,似乎是无效了。
不过在 WordPress 官方的 Codex 上面记录了两种启动 Gzip 压缩的方式,一种是通过 PHP 函式来启动,另一种则是通过.htaccess 文件来启动。如果你不想要使用插件启动也不想使用缓存插件内建的来启动,可以自己加入语法。
利用.htaccess 启动 Gzip 网页压缩
这方法是通过阿帕契 (Apache) 的 Enabling Compression 来达到。请通过 FTP 将您的.htaccess 文件下载回来,如果没有请用记事本建立一个,储存时类型请选择所有文档,然后档名输入.htaccess 即可。在.htaccess 文件中请加入以下语法,然后储存上传覆盖即可。
<IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch MSI[E]!no-gzip !gzip-only-text/html
# Make sure proxies don『t deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
图例:

通过 PHP 启动 Gzip 网页压缩
另外一个方法就是通过 PHP 函式的方式来启动网页压缩,但前提是您的系统必须支持 Zlib Compression Functions 才有办法启动,您可以丢个网页探针到服务器上查询看看就知道了。语法加入方式很简单,通过 FTP 连到 WordPress 根目录,然后下载其中的 index.php 并使用记事本开启,(网站根目录下的 index.php,并非主题中的哦!切记!) 在
ob_start('ob_gzhandler');

以上两种方法请选择一种使用,设定好后可以通过 Gzip 检测工具检查看看是否有成功启动啰!
下面是几个测试网站是否启用 gzip 压缩的网址:
http://tool.chinaz.com/Gzips/Default.aspx
http://gzip.zzbaike.com/
http://www.websiteoptimization.com/services/analyze/
本站的报告如下:(压缩比例竟然达到了 74.6%)
