前陣子啟用gzip後,部落格載入速度確實快上不少,但它主要是針對快取出來的html頁面進行壓縮,外部引入檔案如css和javascript仍維持原來大小,而這些加起來還挺多的,今天就再接再勵繼續幫wordpress減肥加速吧…
先用WebSiteOptimization分析網站,javascript加css有136KB

瘦身後,變成80KB(網頁載入速度可以再快一些了)

(2) 修改根目錄的.htaccess,增加gz的識別支援及網址改寫
#識辨gz檔案的支援
<Files *.js.gz>
AddEncoding gzip .js
ForceType application/x-javascript
</Files>
<Files *.css.gz>
AddEncoding gzip .css
ForceType text/css
</Files>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
#wordpress靜態網址,如果沒有使用,就略過
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#讀到css和js檔,就重導至gzip.php
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]
#讀到.css,判斷如果瀏覽器支援gzip且.css.gz檔存在,就進行重導
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*).css $1.css.gz [L,QSA]
#讀到.js,判斷如果瀏覽器支援gzip且.js.gz檔存在,就進行重導
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*).js $1.js.gz [L,QSA]
</IfModule>
(3) 開始瀏覽並四處逛逛自己的網站,用以產生js和css的gz檔

(4) 閒逛完後,再次改寫.htaccess,把RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]給註解或刪除
(2) .htaccess的增修是參考Add GZip compression和How to GZip Drupal 6.x’s aggregated CSS and JS files
(3) 有讀到js和css才會交給gzip.php處理,所以要到處逛逛,讓網站可以產生這些gz壓縮檔(注意:如果有使用快取,瀏覽時要按Ctrl+F5來強制更新頁面)
(4) 效能考量,若每次都要透過gzip.php去判斷這些檔案有沒有產生,對主機反而是一種負擔。我想都已經生出來了,就不要再重覆檢查,直接使用就好,所以刪除或註解掉這段敘述
RewriteRule (.*.css$|.*.js$) gzip.php?$1 [L]加回.htaccess中,再重覆步驟3及步驟4,生成新的gz檔
註2:這篇寫完後都覺得有點麻煩,看來又是初學者止步的文章,留給瘦身熱血者品嚐
註3:下次再玩圖片減肥,從網站分析來看,檔案也很多很大;這些優化加速方法,所有網站都通用,不限wordpress
類似方法參考:Gzipping CSS and Javascript files
其它資料記錄:
.WordPress Optimization Bible
.加速blog:序
.JavaScript Minifier
.Online YUI Compressor
.优化Wordpress-wp终极优化手册
在Google及Yahoo找資料,已成為許多人每天必行的公事。「網路」的無遠弗屆,造就了一個世界級的知識寶庫,著實讓我受益良多。
設立此部落格除用做網路行銷、學習記事與知識管理外,希望也能做些回饋和經驗分享,如果有人能從這裡的文章得到一點幫助就好了...
網站生日:2008/09/16 年紀:41個多月
shooter
七月 19th, 2009 at 10:40 上午
我看了這篇文章
這會和快取外掛相衝嗎
關於到網站到處逛逛以便產生煙縮檔
這可以關掉快取外掛再執行這的動作嗎??
ANDY
七月 22nd, 2009 at 11:02 下午
它和wp無關,是獨立運作的程式,所以不會和外掛相衝,也適用其它非wp的網站
铵铵
十月 14th, 2009 at 4:50 上午
您好,
請問博主可以把這規則轉換到nginx上使用的規則嗎?
謝謝!!
ANDY
十月 14th, 2009 at 4:37 下午
不好意思,對nginx還沒有去研究^^”
铵铵
十月 14th, 2009 at 6:57 下午
嗯,没事,
谢谢您提供了这么好的资源信息.
我也正打算搬主机了,呵呵.
聪壹艮
一月 3rd, 2010 at 12:07 上午
博主你好,上面第2步 直接复制粘贴到.htaccess 就可以了吗?
我按1、2步改了以后, 第3步没有產生js和css的gz檔。
希望博主指点…
ANDY
一月 25th, 2010 at 1:17 下午
如果有使用快取,瀏覽時要按Ctrl+F5來強制更新頁面