網頁想要速度再快,除了平時做好網頁最佳化之外,如果網頁輸出時可以經過壓縮,那可以讓網頁加速開啟,減少等待時間,這項功能就叫做 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%)