Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124

現在幾乎所有的 Web 瀏覽器都支持 GZIP 壓縮的請求,因此如果你想要透過啟用 GZIP 壓縮來提升 WordPress 網站的速度與性能的表現,那麼接下來就讓我帶你來看看「如何在 WordPress 當中啟用 GZIP 壓縮」吧!
用 AI 摘要這篇文章:
啟用 GZIP 壓縮能將 WordPress 網站的 HTML、CSS、JavaScript 傳輸量縮減 60% 到 80%,是見效最快、成本最低的頁面載入速度優化手段。大多數主機商預設就已開啟,但如果你從未確認過,這篇文章會帶你從檢測、啟用到驗證,一次搞定。
目錄
GZIP 是一種廣泛使用的檔案壓縮格式,由 Jean-loup Gailly 和 Mark Adler 在 1992 年開發。在 Web 傳輸場景中,伺服器在傳送 HTML、CSS、JavaScript 等純文字資源之前先壓縮,瀏覽器收到後自動解壓縮還原。整個過程對使用者完全透明,唯一能感受到的差別就是頁面變快了。
運作流程很直覺:瀏覽器發送請求時,會在標頭帶上 Accept-Encoding: gzip,告訴伺服器「我支援 GZIP」。如果伺服器端已啟用壓縮,回應標頭會加上 Content-Encoding: gzip,瀏覽器收到後自動解壓縮再渲染。如果伺服器沒有啟用,瀏覽器就收到原始未壓縮的完整檔案。
一個典型的 WordPress 首頁 HTML 大約 80 到 150 KB,啟用 GZIP 後通常只剩 15 到 30 KB,壓縮率達 70% 到 80%。CSS 和 JavaScript 的壓縮效果也類似,通常都能獲得 65% 以上的壓縮率。
有一個重要觀念:GZIP 只對文字型檔案有效。HTML、CSS、JavaScript、XML、JSON、SVG 和各種字型檔(WOFF、TTF、OTF)都能獲得顯著的壓縮效果。但 JPEG、PNG、GIF、WebP 這類圖片格式本身就已經過壓縮,GZIP 再壓一次幾乎不會變小,有時反而因為加入壓縮標頭而變得更大。要壓縮圖片,建議改用 Recompressor、Squoosh 或 Imagify 這類專門的工具。
在動手啟用之前,先確認你的網站目前有沒有開啟壓縮。很多主機商預設就啟用了,重複設定反而可能造成衝突。
最快速的方式是使用 Chrome 開發者工具。打開你的網站,按 F12 或 Cmd+Option+I(Mac)開啟 DevTools,切換到 Network 標籤頁,重新整理頁面。點選任何一個 HTML 或 CSS 請求,在 Response Headers 區塊尋找 content-encoding 欄位。如果值顯示為 gzip,就代表壓縮已啟用。找不到這個欄位或值不是 gzip,表示尚未啟用。
如果你不想開開發者工具,以下免費線上工具可以一鍵查看壓縮狀態:
另一個進階做法是透過 cURL 指令。在終端機輸入 curl -H "Accept-Encoding: gzip" -I https://your-site.com,如果回傳標頭中有 Content-Encoding: gzip,就確認壓縮已啟用。這個方法的好處是可以快速批次檢查多個頁面。
如果你想更全面地了解網站速度表現,也建議使用 Cloudflare Speed Test 來測量整體的網路頻寬與延遲數據。
對大多數 WordPress 使用者來說,用外掛啟用 GZIP 是最省事的做法。不需要碰程式碼、不需要登入 FTP,幾次點擊就能完成。
WP Rocket 是目前公認最強大的 WordPress 快取與效能優化外掛之一。安裝並啟用後,它會自動在 .htaccess 中加入 mod_deflate 壓縮規則。你只要在設定頁面確認「啟用 GZIP 壓縮」選項是開啟狀態即可。WP Rocket 的核心優勢在於它同時處理了頁面快取、瀏覽器快取、檔案合併與壓縮、延遲載入等一整套優化流程,不需要額外安裝多個外掛來拼湊功能。
如果你偏好免費方案,W3 Total Cache 是功能齊全的好選擇。進入後台 Performance > Browser Cache 頁面,找到「Enable HTTP (gzip) compression」並勾選啟用。這個外掛的設定選項比較多,學習曲線稍陡,但功能非常完整,對不想花錢購買 WP Rocket 的站長來說是相當好的替代品。
如果你的網站託管在 SiteGround 上,SG Optimizer 是最直接有效的選擇。進入後台 SG Optimizer > Environment 頁面,找到「GZIP Compression」並開啟即可。SiteGround 的伺服器環境經過特別調校,搭配自家專屬外掛的優化效果通常比通用型外掛更好。
大多數 WordPress 虛擬主機使用 Apache 伺服器,例如 Bluehost、Hostinger、DreamHost 以及 HostPapa 等。如果你確定主機環境是 Apache,可以直接編輯 .htaccess 來啟用 GZIP 壓縮,不需要安裝任何外掛,而且能精細控制要壓縮哪些檔案類型。
透過 FTP 軟體或主機提供的檔案管理工具,找到網站根目錄下的 .htaccess 檔案。將以下程式碼加在 # BEGIN WordPress 這行之前:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
</IfModule>
這段程式碼使用 Apache 內建的 mod_deflate 模組,涵蓋了所有需要壓縮的文字型 MIME 類型。如果你在 .htaccess 編輯方面有更多需求,例如設定轉址規則,可以參考.htaccess 轉址規則教學。
最簡單的方式是檢查網站根目錄下是否有 .htaccess 檔案。因為 NGINX 不使用 .htaccess 這種分散式設定檔案,所以只要 .htaccess 存在而且網站正常運作,幾乎就可以確定是 Apache 環境。如果不確定,可以聯繫主機商客服詢問,或在主機控制面板(如 cPanel)中查看伺服器資訊。
加入壓縮規則後,如果網站出現 500 Internal Server Error,最可能的原因是主機的 mod_deflate 模組沒有啟用。請聯繫主機商技術支援請求開啟 mod_deflate,或改用其他啟用方式。另一個常見困擾是 WordPress 自動更新時可能覆蓋 .htaccess 的自訂規則,建議把 GZIP 壓縮規則放在 # BEGIN WordPress 之前,降低被覆寫的風險。
如果你的主機使用 NGINX 伺服器(例如 Kinsta 的託管主機或 A2 Hosting 的部分方案),設定方式完全不同。NGINX 不使用 .htaccess,所有壓縮規則都要直接寫在 nginx.conf 或對應的 site configuration 設定檔中。
以下是建議的 NGINX GZIP 設定參數:
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
gzip_types
text/plain
text/css
text/javascript
application/javascript
application/x-javascript
application/json
application/xml
application/rss+xml
image/svg+xml
image/x-icon
font/opentype
font/ttf
font/woff;
gzip_buffers 16 8k;
幾個關鍵參數的說明:gzip_comp_level 控制壓縮等級,數值從 1 到 9,1 最快但壓縮率最低,9 最慢但壓縮率最高。實務上設定 5 或 6 是最佳平衡點,因為壓縮等級再往上提升,壓縮率增加幅度非常有限,但 CPU 消耗卻會顯著增加。gzip_min_length 256 的意思是小於 256 bytes 的檔案不做壓縮,因為壓縮這麼小的檔案反而可能讓傳輸量增加(加上 GZIP 標頭的額外開銷後,壓縮後的檔案說不定比原始檔案還大)。
修改完成後,先執行 nginx -t 檢查設定語法是否正確,確認沒有錯誤後再用 systemctl reload nginx 讓新設定生效。如果你使用 EasyEngine 架設 WordPress,EE 預設就有基本的 GZIP 設定,你可以直接在 /etc/nginx/nginx.conf 中調整參數來達到更好的壓縮效果。
有些共享主機的入門方案不允許修改 .htaccess 或 nginx.conf(例如部分 iPage 的基礎方案)。遇到這種情況,可以改用 PHP 層級的壓縮設定。
第一種做法是在 php.ini 中加入:zlib.output_compression = On 以及 zlib.output_compression_level = 6。這會讓所有經由 PHP 處理的頁面輸出自動加上 GZIP 壓縮。
如果主機商不允許修改 php.ini,還有另一個替代方案:在 WordPress 根目錄的 wp-config.php 最上方,也就是在 /* That's all, stop editing! */ 這行註解之前,加入以下兩行:
ini_set('zlib.output_compression', 'On');
ini_set('zlib.output_compression_level', '6');
這裡有一個非常重要的注意事項:不要同時使用多種壓縮方式。如果你已經透過 .htaccess 或外掛啟用了 GZIP,就不要再額外開啟 PHP zlib 壓縮,否則會造成雙重壓縮,導致頁面顯示亂碼,甚至可能引發連線錯誤。同樣的原則也適用於其他 WordPress 設定調整,例如修改自動儲存功能時,都要確保新設定不會與現有的外掛或伺服器設定衝突。
如果你的 WordPress 網站使用了 Cloudflare CDN,壓縮可以直接在 CDN 層級處理,不需要在原始伺服器上做任何設定。Cloudflare 的免費方案就已經包含自動 GZIP 和 Brotli 壓縮功能,對預算有限的站長來說非常划算。
設定方式很簡單。登入 Cloudflare 管理控制台,進入 Speed > Optimization 頁面,你會看到「Auto Minify」和「Brotli」兩個開關。Auto Minify 會自動移除 JavaScript、CSS 和 HTML 中的空白字元、換行和註解,進一步減少檔案體積。Brotli 則是比 GZIP 更先進的壓縮演算法,壓縮率更高。兩個選項都開啟即可獲得最佳效果。
CDN 層級壓縮的最大好處是減輕原始伺服器的 CPU 處理負擔。GZIP 壓縮在伺服器端執行時大約會消耗 1% 到 5% 的 CPU 資源。如果壓縮工作交給 Cloudflare 的邊緣節點處理,你的主機就能把 CPU 資源留給 WordPress 的 PHP 運算和資料庫查詢。
Cloudflare 還提供了 1.1.1.1 公共 DNS 服務,可以搭配使用來進一步提升 DNS 解析的速度和安全性。關於 DNS 設定對網站的影響,可以參考DNS Flag Day 重大更新說明。
Brotli 是 Google 在 2015 年推出的壓縮演算法,專門為 Web 傳輸場景設計。跟 GZIP 相比,Brotli 在壓縮相同內容時可以額外節省 15% 到 25% 的傳輸量。不過 Brotli 有一個限制:它只支援透過 HTTPS 加密連線傳輸的內容。如果你的網站還在使用 HTTP,Brotli 就派不上用場。
| 比較項目 | GZIP | Brotli |
|---|---|---|
| 壓縮率 | 基準 | 比 GZIP 額外節省 15-25% |
| 壓縮速度 | 較快 | 稍慢(壓縮等級高時差異明顯) |
| 瀏覽器支援 | 所有瀏覽器 | 所有現代瀏覽器(需 HTTPS) |
| HTTPS 要求 | 不需要 | 必要條件 |
| 伺服器 CPU 負載 | 低 | 中等(高壓縮等級時) |
| 適用場景 | 伺服器端通用壓縮 | CDN 層級或靜態資源預壓縮 |
實務上最好的做法是兩者並行使用:在原始伺服器上啟用 GZIP(相容性最好、設定最簡單),然後在 CDN 層級啟用 Brotli。現代瀏覽器發送請求時,Accept-Encoding 標頭會同時包含 gzip, deflate, br,伺服器或 CDN 會根據瀏覽器支援能力自動選擇最適合的壓縮方式。這樣一來,舊版瀏覽器仍然能收到 GZIP 壓縮的內容,新版瀏覽器則能享受 Brotli 更高的壓縮率。
網站的安全性標頭設定也會影響整體的效能和安全性表現。你可以透過Security Header Scanner 工具來快速掃描網站的安全標頭是否設定正確,這些安全細節與壓縮優化搭配起來,能為使用者提供更安全也更快速的瀏覽體驗。
啟用 GZIP 壓縮的過程不一定每次都一帆風順。以下是幾個最常遇到的問題和解決方式。
問題一:啟用後出現 500 Internal Server Error
這通常表示主機環境不支援 mod_deflate 模組,或者 .htaccess 語法有誤。請先檢查程式碼是否完整複製、沒有漏掉或多餘的字元。如果語法確認無誤,聯繫主機商技術支援確認 mod_deflate 是否已安裝並啟用。更多排解方法,可以參考500 Internal Server Error 完整解決方法。
問題二:頁面內容顯示亂碼
幾乎都是雙重壓縮造成的。你可能同時透過 .htaccess 的 mod_deflate 規則和 PHP zlib 啟用了壓縮,導致內容被壓縮兩次。瀏覽器只會解壓縮一次,自然看到亂碼。解決方法:只保留一種壓縮方式,把另一種停用。
問題三:某些資源仍然沒有被壓縮
這通常是因為該檔案的 MIME type 沒有被包含在壓縮規則清單中。請檢查 .htaccess 中的 AddOutputFilterByType 或 nginx.conf 中的 gzip_types 設定,確保所有需要壓縮的文字型 MIME 類型都已涵蓋。
問題四:圖片沒有被壓縮
這是完全正常的行為。JPEG、PNG、GIF 等圖片格式本身已經過壓縮處理,GZIP 對它們幾乎無法產生進一步的效果。要優化圖片大小,應該使用 Compressor.io、Recompressor 等專門的圖片壓縮工具,或者考慮將圖片轉換為更有效率的 WebP 格式(可以透過 AnyWebP 來進行格式轉換)。
問題五:壓縮與快取外掛衝突
有些快取外掛會自行處理壓縮設定。如果你同時在 .htaccess 中手動加入了壓縮規則,就可能產生衝突。建議選定一種方式就好:要嘛全部交給外掛處理,要嘛手動設定伺服器端的壓縮規則並關閉外掛的壓縮選項。如果衝突已導致伺服器閘道錯誤,可以參考502 Bad Gateway Error 解決方法或504 Gateway Timeout Error 修復教學。
先說結論:GZIP 本身不是 Google 搜尋引擎的直接排名因素,但它透過提升頁面載入速度,間接影響了多項與排名相關的核心指標。
Google 從 2018 年起正式將頁面速度納入行動搜尋結果的排名因素(Speed Update)。2021 年進一步推出 Core Web Vitals 計畫,將 LCP(最大內容繪製時間)、FID(首次輸入延遲)和 CLS(累積佈局偏移)納入 Page Experience 信號體系。GZIP 壓縮主要影響的是 LCP 和 FCP(首次內容繪製)這兩個指標,因為它實質性地減少了瀏覽器需要下載的資料量,讓頁面能更快完成首次渲染。
從實際案例來看,啟用 GZIP 壓縮後,一個典型的 WordPress 網站在 Google PageSpeed Insights 的評估分數通常可以提升 5 到 15 分。如果你原本的分數落在 70 到 80 分之間,這個提升幅度可能剛好讓你從橘色警告跨越到綠色通過的門檻。
除了 GZIP 壓縮之外,如果能搭配 WordPress SEO 外掛進行全面的頁面優化、使用 instant.page 預先載入技術來加快頁面切換速度、以及正確設定結構化資料標記,就能讓整體 SEO 表現更上一層樓。想要深入分析競爭對手的 SEO 策略,也可以安裝 Detailed SEO Extension 瀏覽器擴充功能來查看其他網站的 SEO 配置。
GZIP 壓縮處理了 HTML、CSS、JavaScript 等「文字」資源的傳輸大小問題,但在一個典型的 WordPress 網頁中,圖片往往佔去最多的頻寬。根據 HTTP Archive 的統計資料,圖片平均佔了一個網頁總傳輸量的 50% 以上。光啟用 GZIP 還不夠,圖片優化同樣重要。
以下是推薦的圖片優化工具組合:
在圖片格式的選擇上,建議將網站中的圖片轉換為 WebP 格式。WebP 在相同視覺畫質的條件下,比傳統 JPEG 格式的檔案小 25% 到 35%,比 PNG 格式則可以減少約 26% 的檔案大小。你可以透過 AnyWebP 線上工具快速將現有圖片轉換為 WebP,或使用 Compressor.io 來壓縮 SVG 等其他格式。對於需要放大圖片的使用場景,AI Image Enlarger 能夠在放大的同時維持良好的清晰度。
啟用 GZIP 壓縮後,務必回頭驗證壓縮效果是否確實生效。你可以用以下步驟來判斷:
步驟一:使用 GTmetrix 或 Pingdom Tools 跑一次完整的速度測試,確認報告中「Enable GZIP Compression」評估項目是否滿分通過。
步驟二:用 Chrome DevTools 的 Network 標籤頁逐一檢查各個 CSS 和 JS 檔案的回應標頭,確認每個文字型資源都有 content-encoding: gzip 的標記。
步驟三:比較啟用前後的 PageSpeed Insights 評估分數變化,量化壓縮帶來的實際效果。
如果檢查過程中發現某些第三方資源(例如 Google Analytics 追蹤碼、Facebook Pixel 的 JavaScript)沒有被壓縮,那是正常現象。這些資源託管在第三方伺服器上,你無法控制它們的壓縮設定。你只需要專注在自己伺服器上託管的資源。
想確認你的網站目前託管在哪個主機商嗎?可以使用 Hosting Checker 線上工具來快速查詢。如果你正在評估更換主機服務商,建議參考我們整理的WordPress 虛擬主機推薦懶人包,裡面涵蓋多家熱門主機商的費用方案、速度測試和功能特色比較。
1. 立即檢查壓縮狀態:用 GiftOfSpeed 或 Chrome DevTools 確認你的網站目前是否已啟用 GZIP。如果已啟用,恭喜你,這一步可以跳過。預期結果:在 Response Headers 中看到 content-encoding: gzip。
2. 選擇適合的啟用方式:如果你用的是 Bluehost、Kinsta 等主流主機,大多數情況下安裝 WP Rocket 或確認主機預設設定即可。如果主機商不支援 .htaccess 修改,改用 PHP zlib 方式。判斷標準:能用外掛就用外掛,不能用外掛才手動改設定檔。
3. 跑一次完整速度測試:用 GTmetrix 跑一次完整測試,確認「Enable GZIP Compression」項目通過。同時檢查整體分數有沒有比啟用前提升。預期結果:GZIP 壓縮項目獲得滿分,PageSpeed 分數提升 5 到 15 分。
會,但影響非常小。GZIP 壓縮大約增加 1% 到 5% 的 CPU 負載,以現代伺服器的硬體效能來說幾乎可以忽略。而且壓縮節省下來的頻寬和傳輸時間,帶來的效益遠大於那一點點額外的 CPU 開銷。如果主機資源真的非常有限(例如使用免費的 000Webhost 或 5GBFree),可以考慮降低壓縮等級,或把壓縮工作交給 CDN 處理。
很多主流 WordPress 主機商預設就有啟用 GZIP 壓縮,或至少提供一鍵開啟的選項。例如 Bluehost、SiteGround、A2 Hosting、FastComet 等大多都有預設啟用。但也不是每一家都會預設開啟,建議自行檢測確認。
不一定需要。使用 WP Rocket 等快取外掛可以在完全不接觸程式碼的情況下一鍵啟用。只有在你選擇手動修改 .htaccess 或 nginx.conf 時,才需要接觸程式碼。新手建議先用外掛方式啟用。
兩者的作用層面完全不同。GZIP 是減少每次檔案傳輸時的資料量大小,快取機制是讓瀏覽器避免重複下載已經取得過的資源。兩者是互補關係:GZIP 讓每次下載變得更快,快取則讓很多請求根本不需要再次下載。理想的做法是同時啟用,這也是為什麼像 WP Rocket 這樣的綜合型優化外掛會把兩個功能打包在一起。
短期之內不會。雖然 Brotli 的壓縮率確實比 GZIP 更好,但它有 HTTPS 連線的必要條件限制,而且在壓縮等級較高的設定下,壓縮速度也比 GZIP 慢。截至 2026 年 5 月,最務實的做法仍然是兩者並行:伺服器端保持 GZIP 作為通用壓縮方案,CDN 端啟用 Brotli 來處理支援該協定的現代瀏覽器請求。
大多數共享主機都允許使用者透過 .htaccess 或外掛來啟用 GZIP 壓縮。只有極少數嚴格限制的主機方案可能不支援 .htaccess 修改,這時可以改用 PHP zlib 方式。如果以上方法都不行,建議考慮換一家對 WordPress 更友善的主機商。
請問我已加入以上程式碼,可是測出來Enable gzip compression仍是F(0)
請問要如何修正?
這種情況發生的原因有很多種,或許是您的網站or主機擁有快取您尚未清除,也或者是您所使用的虛擬主機不支援or它自身擁有另外GZIP啟用的功能。
除此之外,您的主機or網站所使用的壓縮方法可能是「br」(或許你有安裝一些優化外掛),因此用 GZIP 測出來的結果會是(0),但實際上您的網站已經有壓縮了(壓縮方法為 br)。