W3 Total Cache 外掛:優化設定方法

WordPress 網站每多裝一個外掛,速度就難免變慢。因此,快取外掛已成為 WordPress 必備的外掛之一。 免費版有超過 100 萬次有效安裝、評分 4.4顆星的 W3 Total Cache(W3TC)外掛,是最多人使用的外掛之一。
快取設定可能讓正在使用的其他外掛部分功能失效,如果剛開始使用 WordPress,可以改用設定簡單的 Cache Enabler 或 WP Super cache。
如果需要細緻的快取設定與控制,可以使用免費版就提供強大功能的 W3 Total Cache 外掛。
Ⅰ. W3 Total Cache 安裝與 Setup Guide
搜尋 W3 Total Cache 後安裝並啟用外掛。
- Welcome
- Page Cache
- Database Cache
- Object Cache
- Image Converter
- Lazy Load
- More Caching Options
AcceptDecline
首次安裝後進入 [Dashboard] 頁面時,會自動轉到 [Setup Guide],因為還沒有任何設定。
在 Setup Guide 中可以設定 ① 頁面快取、② 資料庫快取、③ 物件快取、④ 瀏覽器快取、⑤ 圖片優化、⑥ 延遲載入、⑦ 其他快取選項。

頁面快取設定方面,W3TC 預設推薦的是 Disk: [Enhanced]。從表格可以看到,Disk: Enhanced 比 Disk: Basic 快約 10.3ms,以 TTFB 來看效能約提升 17.8%。

資料庫快取選擇磁碟快取。





在引導中設定的內容已反映在控制台上。
點選右上角的 [Settings] 分頁,就能從 [General Settings] 開始設定頁面快取等項目。

ⓐ 左側管理選單的 [各頁面設定] 與 ⓑ 右上角的 [Settings] 分頁 都會前往頁面快取、 Minify 等 進階設定;從 General Settings 分頁上方中央進入各個頁面,就能看到頁面快取與 Minify 從一般設定到 進階設定的所有內容。
Ⅱ. W3 Total Cache 快取設定
這是 W3TC 設定中的 General Settings 分頁。
_branch_match_id
_bta_c
_bta_tid
_ga
_gl
_ke
adgroupid
adid
age-verified
ao_noptimize
campaignid
campid
click_id
cn-reloaded
customid
dicbo
dm_i
ef_id
epik
fb_action_ids
fb_action_types
fb_source
fbclid
gclid
gclsrc
gdffi
gdfms
gdftrk
hsa_acc
hsa_ad
hsa_cam
hsa_grp
hsa_kw
hsa_mt
hsa_net
hsa_src
hsa_tgt
hsa_ver
igshid
li_fat_id
matomo_campaign
matomo_cid
matomo_content
matomo_group
matomo_keyword
matomo_medium
matomo_placement
matomo_source
mc_cid
mc_eid
mkcid
mkevt
mkrid
mkwid
msclkid
mtm_campaign
mtm_cid
mtm_content
mtm_group
mtm_keyword
mtm_medium
mtm_placement
mtm_source
pcrid
piwik_campaign
piwik_keyword
piwik_kwd
pk_campaign
pk_cid
pk_content
pk_keyword
pk_kwd
pk_medium
pk_source
pp
redirect_log_mongo_id
redirect_mongo_id
ref
s_kwcid
sb_referer_host
si
sscid
tblci
toolid
trk_contact
trk_module
trk_msg
trk_sid
ttclid
twclid
usqp
utm_campaign
utm_content
utm_expid
utm_id
utm_medium
utm_source
utm_term
wbraid
index\.php
wp-links-opml.php
wp-locations.php
([a-z0-9_\-]+)?sitemap\.xsl
[a-z0-9_\-]+-sitemap([0-9]+)?\.xml(\.gz)?
Content-Type
X-Pingback
P3P
Link
- Enable HTTP compression in the “HTML” section on Browser Cache Settings tab.
RSPEAK_
mfunc
- Enable HTTP compression in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
- The TTL of page cache files is set via the “Expires header lifetime” field in the “Cascading Style Sheets & JavaScript” section on Browser Cache Settings tab.
wp_rg_
_wp_session_
_wc_session_
^\s*delete\b
^\s*update\b
^\s*replace\b
^\s*create\b
^\s*alter\b
^\s*show\b
^\s*set\b
\bautoload\s+=\s+’yes’
\bsql_calc_found_rows\b
\bfound_rows\(\)
DOING_CRON
DONOTCACHEDB
SHORTINIT
XMLRPC_REQUEST
plugins
[a-z0-9_\-]*sitemap[a-z0-9_\.\-]*\.(xml|xsl|html)(\.gz)?
1️⃣ 預覽模式
在實際部署快取變更之前,可以開啟預覽模式,預先測試是否有錯誤。

[Preview]:點選後可一邊預覽變更一邊測試,沒有問題再點選 [Deploy] 套用到網站。
2️⃣ 頁面快取
引導已將基本設定設為 [Disk: Enhanced]。之後若因搬遷伺服器等原因,伺服器使用的快取不同,可以再更改。
若是單一網站(非多站點)另外使用子網域,也可以為別名網域設定快取。
|
伺服器規格等級 |
更新間隔(秒) |
每次間隔頁數 |
說明 |
|---|---|---|---|
|
低規格伺服器(1vCPU/1GB 以下) |
1800 秒(30 分鐘) |
5 |
需避免產生快取時 CPU 使用率飆升。間隔放寬,頁數也盡量減少 |
|
中等規格伺服器(2vCPU/2~4GB) |
900 秒(15 分鐘) |
10 |
建議維持預設值。可承受一定程度的同時處理 |
|
高效能伺服器(4vCPU/8GB 以上) |
300 秒(5 分鐘) |
20~30 |
可快速準備快取。適合流量高的網站 |
REST API 是 WordPress 為了與外部交換資料而提供的介面,可透過網址以 JSON 格式請求或操作內容。藉此,行動應用程式、外部網頁應用程式、區塊編輯器等都能即時同步或修改 WordPress 內容。
REST API 不只用於管理員,也用於一般使用者的請求,能讓資料傳輸更有效率,提高網站的彈性與擴充性。
|
選項 |
說明 |
推薦 |
|---|---|---|
|
延後初始化 |
允許呼叫 WordPress 函式以進行片段快取。 |
⚠️ 只在需要進階快取時使用 |
|
延後快取 |
將快取鍵的產生延後到使用者篩選器之後,可更細緻地設定快取 |
⚠️ 只在覆寫快取鍵時使用 |
|
相容模式 |
為了與主機相容而放棄部分優化(效能約降低 20%) |
✅ 發生主機錯誤時建議使用 |
|
字元集 |
解決 UTF-8 相關的編碼問題 |
✅ 出現亂碼時建議使用 |
|
拒絕 HEAD 請求 |
防止 HEAD 請求產生空白快取 |
✅ 防止意外出現空白頁面 |
|
快取物件最長存留時間 |
已快取項目的保留時間(秒) |
⏱ 流量少就設高,流量多就設低 |
|
垃圾回收間隔 |
移除過期快取資料的週期(秒) |
⏱ 流量越多設得越短 |
|
留言 Cookie 存留時間 |
調整留言時的 Cookie TTL(預設 1800 秒) |
✅ 想減少已登入使用者流量時很有用 |
3️⃣ Minify
Minify 會在 HTML、CSS、JS 檔案中 移除不必要的空白、註解與換行, 是一種縮小檔案大小、提升載入速度的技術。這個過程 不會改變功能 只讓程式碼更精簡, 使瀏覽器能更快解析。
|
選項 |
說明 |
推薦 |
|---|---|---|
|
自動 |
W3TC 會自動偵測並壓縮 HTML、CSS、JS 檔案。 |
✅ 適合大多數使用者 |
|
手動 |
必須由使用者自行輸入要壓縮的檔案路徑才會套用。 |
⚠️ 只適合需要精細控制的進階使用者 |
|
選項 |
說明 |
使用環境 |
|---|---|---|
|
磁碟(Disk) |
將壓縮後的檔案存放在伺服器磁碟 |
✅ 一般共享主機,預設值 |
|
APC / APCu |
利用 PHP 的 opcode 快取存放在記憶體 |
✅ 在專用/虛擬伺服器上效能佳 |
|
eAccelerator |
舊式 PHP opcode 快取方式 |
⚠️ 只適用於舊型伺服器 |
|
XCache |
PHP 的快取機制之一(幾乎沒人使用) |
❌ 不建議(過時) |
|
WinCache |
Windows 伺服器用的 PHP 快取 |
✅ 僅限 IIS/Windows 伺服器 |
|
Memcached |
存放在分散式快取伺服器 |
✅ 多伺服器、叢集環境 |
|
Redis |
將壓縮檔案快取在快速的鍵值儲存 |
✅ 高效能 VPS/多伺服器環境 |
|
選項 |
說明 |
特色 |
|---|---|---|
|
Minify(預設) |
W3TC 內建的 HTML 壓縮器 |
穩定性高,與大多數網站相容 |
|
HTML Tidy |
整理 HTML 結構的同時進行壓縮 |
含結構修正功能 → 有版面跑掉的風險 |
| 選項 | 說明 | 特色 | 選擇 JS 壓縮器 |
|---|---|---|---|
| JSMin(預設) | 簡單快速的 JS 壓縮器:移除基本的空白與註解 | 穩定性高,衝突風險低 | ✅ 重視速度/穩定性的一般 WordPress 網站 |
| Google Closure Compiler(網路服務) | Google 的進階 JS 優化工具:透過 Google API 壓縮 | 準確度高,但需要 呼叫外部伺服器 → 可能較慢 | ⚠️ 可使用外部 API、以精細優化為優先 |
| Google Closure Compiler(本機 Java) | 將相同的壓縮引擎 放在伺服器內的 Java 環境中執行 | 可進行進階優化, 需要安裝 Java | ✅ 可安裝 Java、想要進階優化時 |
| Narcissus | 解析 JS 後重新產生的傳統壓縮器 | 舊方式, 幾乎已停止支援 | — |
| YUI Compressor | Yahoo 開發的 JS/CSS 壓縮工具;可保留受保護的註解 | 雖然老舊但仍穩定 | — |
| Closure(需測試) | — | — | ⚠️ 大量使用新式 JS(ES6+) |
| 選項 | 說明 |
|---|---|
| ✅ Minify(預設) | 快速穩定,適合大多數 WordPress 網站 |
| ⚠️ CSS Tidy | 具備結構整理與語法修正功能,樣式可能跑掉 → 需測試 |
| ⚠️ YUI Compressor (PHP) | 舊版壓縮邏輯,已停止更新 → 僅限舊網站 |
| ⚠️ YUI Compressor (Java) | 需要 Java,可精細壓縮,但不支援新版 CSS 語法 |
引導已將基本設定設為 [Disk: Enhanced]。之後若因搬遷伺服器等原因,伺服器使用的快取不同,可以再更改。
|
項目 |
說明 |
|---|---|
|
重寫 URL 結構 |
CSS/JS 連結使用簡潔的 URL 結構。停用時會輸出成像 [?ver=xxx] 這樣 以 GET 參數為基礎 的 URL。 |
|
對已登入的使用者, |
已登入的使用者會看到 原始檔案,而不是壓縮後的檔案。適合除錯或開發時使用。 |
|
減少錯誤通知 |
建立 Minify 快取(Minify Cache)時若出錯會通知。停用後不顯示警告。 |
|
項目 |
說明 |
|---|---|
|
HTML 壓縮設定 |
壓縮 HTML 文件以縮小容量,會移除空白、縮排等。 |
|
壓縮行內 CSS |
壓縮 [<style>] 標籤內的 CSS 程式碼。 |
|
壓縮行內 JS |
壓縮 [<script>] 標籤內的 JS 程式碼。 |
|
不壓縮 Feed |
RSS/Atom Feed(XML)不壓縮,維持原樣。 |
|
移除換行 |
移除 HTML 中的換行字元 → 檔案變小 |
|
範例 |
用途 |
|---|---|
|
google_ad_ |
保護 Google AdSense 廣告指令碼的註解 |
|
RSPEAK_ |
保護螢幕閱讀器/無障礙用的程式碼註解 |
|
mfunc |
保護 W3TC 片段快取用的 [<!– mfunc –>] 註解 |
|
壓縮方式 |
說明 |
建議情境 |
|---|---|---|
|
合併 & 壓縮(Combine & Minify) |
將多個 JS 檔案合併為一個並同時壓縮 |
✅ 一般情況下最有效 |
|
僅合併(Combine Only) |
將多個檔案合併為一個,但不壓縮 |
⚠️ 擔心 JS 衝突時:避免壓縮造成的錯誤 |
|
僅壓縮(Minify Only) |
保留檔案數量,分別壓縮每個檔案 |
⚠️ HTTP/2 環境 + 發生 JS 錯誤時 |
|
壓縮引擎設定 |
說明 |
|---|---|
|
插入位置:[</head>] 之前 |
將 JS 插入 [<head>] 內(在頁面載入前執行) |
|
插入位置:[<body>] 之後 |
將 JS 插入頁面最下方(渲染後執行) |
|
插入類型(Blocking / Non-blocking) |
執行 JS 時是否暫停頁面渲染 |
|
項目 |
說明 |
建議設定 |
|---|---|---|
|
啟用 HTTP/2 Push |
在瀏覽器請求之前,伺服器先主動推送 JS 檔案 |
✅ 若是 HTTP/2 環境可提升效能 |
|
注意事項 |
W3TC 的 Page Cache 若使用 [Disk: Enhanced] + NGINX,HTTP/2 Push ❌ 無法運作 |
✅ 在 Apache + HTTP/2 環境中運作最好 |
|
壓縮方式 |
說明 |
建議情境 |
|---|---|---|
|
合併 & 壓縮 |
合併 CSS 檔案後再壓縮 |
✅ 一般使用 |
|
僅合併 |
合併檔案但不壓縮 |
⚠️ 擔心 CSS 衝突時 |
|
僅壓縮 |
只壓縮、不合併 |
✅ 適合 HTTP/2 伺服器 |
|
壓縮引擎設定 |
說明 |
適用條件 |
|---|---|---|
|
移除受保護的註解(Preserved comment removal) |
移除 CSS 檔案中的授權資訊或保留註解,以縮小容量。 |
⚠️ 只在 [合併 & 壓縮] 或 [僅壓縮] 時適用(※ [僅合併] 時不適用) |
|
移除換行(Line break removal) |
刪除 CSS 中的換行字元,產生更緊湊的檔案(檔案略微變小) |
⚠️ 只在 [合併 & 壓縮] 或 [僅壓縮] 時運作(※ [僅合併] 時會被忽略) |
|
@import 處理 |
說明 |
建議設定 |
|---|---|---|
|
None |
保留 [@import] CSS 呼叫不變 |
❌ 不建議(會阻擋渲染) |
|
Bubble |
將 [@import] 移到 CSS 檔案最上方 |
⚠️ 效果有限 |
|
Process |
將 [@import] 呼叫納入合併對象 |
✅ 建議(有提升效能的效果) |
|
進階項目 |
說明 |
建議設定 |
|---|---|---|
|
外部檔案更新間隔(Update interval for external files) |
W3TC 重新下載/壓縮 CDN 與外部網址 CSS/JS 檔案的間隔(秒) |
✅ 維持預設 [86400] 秒(24 小時)※ 若有常變動的外部檔案,也可考慮 [21600](6 小時) |
|
垃圾回收間隔(Garbage collection interval) |
刪除過期快取檔案的週期(適用於磁碟快取) |
✅ 建議 [43200~86400] 秒(流量大可再調低)※ 可在 [wp-config.php] 設定上限(2592000 秒) |
|
不要壓縮下列頁面(Never minify the following pages) |
輸入在壓縮中 一律排除的網址 (相對路徑,不含查詢字串) |
✅ 視需要加入管理頁、登入頁、AJAX 網址等。例:[wp-login.php]、[wp-admin/]、[my-custom-endpoint/] |
|
絕不壓縮的 JS 檔案 |
指定壓縮後會出錯的特定 JS 檔案 |
⚠️ 發現有問題的 JS 檔案時加入。例:[plugins/some-script.js] |
|
絕不壓縮的 CSS 檔案 |
發生 CSS 衝突時可設為例外 |
⚠️ 若有會讓版面跑掉的 CSS,就設為例外。例:[themes/mytheme/style.css] |
|
拒絕的使用者代理 |
不對特定 User-Agent(爬蟲、機器人等)提供壓縮後的檔案 |
✅ 只指定需要略過快取的機器人。例:[Lighthouse]、[GTmetrix]、[Chrome-Lighthouse] 等 |
|
包含外部檔案/函式庫(Include external files/libraries) |
手動將外部 CDN 指令碼加入合併對象 |
⚠️ 只在想壓縮/合併外部 JS/CDN 時使用。例:[ajax.googleapis.com/…/jquery.min.js] |
|
允許使用正規表示式 |
檔名模式不固定時,可用正規表示式比對 |
✅ 外部指令碼常因版本號而變動時很有用。例:[cdn.example.com/js/lib-\d+\.js] |
# EX:
#絕不壓縮的 JS 檔案:
plugins/some-plugin/assets/js/legacy-script.js
wp-includes/js/jquery/jquery.js
#絕不壓縮的 CSS:
themes/mytheme/style.css# EX:
#拒絕的使用者代理:
Lighthouse
Chrome-Lighthouse
GTmetrix|
項目 |
說明 |
建議設定 |
|---|---|---|
|
使用 WP-Cron 事件(Enable WP-Cron event) |
為了定期自動清除/更新頁面快取, 排程 WP-Cron 工作 |
✅ 建議啟用 (維持預設值) |
|
開始時間(Start time) |
WP-Cron 首次執行的時間(如 12:00 am) |
✅ 伺服器負載低的時段(例:凌晨 12 點~3 點之間) |
|
間隔(Interval) |
WP-Cron 多久清除一次快取的 設定 |
✅ 每天兩次或每小時(流量大的網站) |
|
替代方案:系統 Cron |
可改用真正的作業系統層級 Cron 執行 [wp w3tc flush_posts] 指令,取代 WP-Cron |
建議用於高效能伺服器(比 WP-Cron 更準確、更有效率) |
4️⃣ opcode 快取
opcode 快取會自動套用伺服器上已安裝的 opcode。若未安裝,則設為停用。
5️⃣ 資料庫快取與物件快取:Memcached·Redis
|
選項 |
說明 |
建議環境 |
|---|---|---|
|
磁碟 |
將快取資料存放在伺服器磁碟 |
✅ 共享主機/基本環境 |
|
Memcached |
以網路為基礎的分散式快取,速度快 |
✅ 多伺服器/叢集 |
一般的 WordPress 網站多半只用 Memcached 或 Redis 其中一個當資料庫快取,但在 W3 Total Cache 中可以分開運用:ⓐ 一個用於資料庫快取,ⓑ 另一個用於物件快取。
📌 一般的 WordPress 網站
├─ 資料庫 快取
│ └─ Memcached 或 Redis · 只選一個 使用
└─ 物件 快取
└─ 相同 快取 引擎 共用 的情況 很常見
📌 W3 Total Cache (W3TC)
├─ 資料庫 快取
│ └─ Memcached 使用 (範例)
└─ 物件 快取
└─ Redis 使用 (範例)
🛠️ 應用 策略
└─ 快取 引擎 依 角色 分離 套用 可以
├─ 伺服器 資源 分散
├─ 快取 瓶頸 減少
└─ 效能 優化 彈性 提升在 W3 Total Cache 的設定中,預設是資料庫快取使用 Memcached、物件快取使用 Redis。
|
項目 |
說明 |
建議或參考 |
|---|---|---|
|
快取物件的最長存留時間 |
未變更快取項目的自然到期時間(秒) |
[180 秒](預設值),太大會浪費記憶體 |
|
垃圾回收間隔 |
刪除過期快取資料的週期(秒) |
[3600 秒](1 小時),使用量大就調低 |
|
不要快取 |
排除快取的路徑(可用正規表示式) |
建議排除登入、購物車、搜尋等動態頁面 |
|
忽略的查詢詞幹 |
前綴相符的查詢不快取 |
[gdsr_]、[wp_rg_] 等工作階段/暫存資料類 |
|
拒絕查詢(Query Rejects) |
排除含特定關鍵字/模式的查詢(正規表示式) |
[insert]、[update]、[autoload]、[found_rows()] 等 |
|
Reject Constants |
定義了指定的 WP 常數時停用 DB 快取 |
[DOING_CRON]、[XMLRPC_REQUEST] 等 |
|
對 WP-CLI 啟用 |
WP-CLI 執行時是否也使用快取 |
✅ 啟用後效能較佳(測試環境要注意) |
|
選項 |
說明 |
建議環境 |
|---|---|---|
|
磁碟 |
將快取資料存放在伺服器磁碟 |
✅ 共享主機/基本環境 |
|
Redis |
以鍵值儲存為基礎的高速快取,與 PHP-FPM 環境搭配良好 |
✅ 高效能伺服器/VPS |

|
項目 |
說明 |
|---|---|
|
Redis 主機/IP |
格式為 [127.0.0.1:6379]。TLS 請使用 [tls://] 前綴 |
|
驗證 TLS 憑證 |
使用 TLS 時檢查憑證有效性(選用) |
|
使用持久連線 |
重複使用 Redis 連線以提升效能 |
|
連線逾時 |
連線到 Redis 允許的最長時間(秒) |
|
連線重試間隔 |
失敗後到重試前的等待時間(ms) |
|
連線讀取逾時 |
等待回應的最長時間(秒) |
|
Redis DB ID |
指定 Redis 內的 DB 編號(預設 [0]) |
|
Redis 密碼 |
輸入密碼或 SASL 驗證資訊 |
|
預設快取存留時間 |
快取項目的預設保留時間(秒)。預設 180 秒 |
|
垃圾回收間隔 |
刪除過期快取的週期。預設 600 秒 |
|
全域群組 |
網路模式下共用的群組(多站點用) |
|
非持久群組 |
排除快取的群組。例:[counts]、[plugins] |
|
快取 wp-admin 請求 |
管理區也套用快取(⚠️ 需測試) |
|
將 transient 存入 DB |
即使使用外部快取,也在 DB 保留暫存值 |
|
啟用 WP-CLI |
WP-CLI 指令也允許啟用快取 |
6️⃣ 瀏覽器快取
瀏覽器快取會把圖片、CSS、JS 等靜態檔案存放在 訪客的裝置上,大幅縮短再次造訪時的載入時間,進而提升頁面回應速度與使用者體驗。
大部分是著重於 快取控制與降低伺服器負載的設定。網站流量大,或重視靜態資源優化的環境,多數開啟也無妨。
| 項目 | 一般 | CSS 與 JS | HTML 與 XML | 媒體與其他檔案 |
|---|---|---|---|---|
| 設定 [Last-Modified] 標頭 | 加入檔案的最後修改日期,以允許 304 回應 | ✅ 大多啟用 | ✅ 適合大多數伺服器 | ✅ 對大多數 CDN/瀏覽器快取有效 |
| 設定 [Expires] 標頭 | 讓瀏覽器在一定期間內快取檔案 | ✅ 預設 31536000 秒(1 年),建議 | ✅ 預設 [3600 秒(1 小時)] | ✅ 預設 [31536000 秒](1 年)→ 適合靜態檔案 |
| ⏱️ 設定 Expires 到期時間 | — | ⏱️ 例:[31536000 秒 = 1 年] · 與 CDN 併用時可調短 | — | — |
| 設定 [Cache-Control] 標頭 | 透過加入 pragma、cache-control 標頭控制快取策略 | ✅ 建議 [“public, max-age=31536000”] | ✅ 設為 [“public, max-age=3600”] 等 | ✅ 建議 [“public, max-age=31536000”] |
| ✅ 快取控制策略 | — | ✅ 使用包含 [max-age] 的方式 · 預設使用 [“public, max-age=EXPIRES_SECONDS”] | — | — |
| 設定 [ETag] | 提供識別檔案用的實體標籤 – 用於偵測變更 | ✅ 在同一伺服器內使用時有效 | ✅ 伺服器之間沒有共用快取時, 建議使用 | ✅ 單一伺服器運作時有用 |
| 設定 W3TC 標頭 | 插入用來辨識是否為 W3TC 優化檔案的標頭 | 🔖 非必要,供分析用 | 🔖 非必要(除錯用) | 🔖 可自行選擇是否使用 |
| gzip 壓縮 | 用來縮小文字檔容量的壓縮方式(大多相容) | ✅ 大部分伺服器都支援 | ✅ 大多數伺服器都有支援 | ✅ 對圖片沒有影響 |
| brotli 壓縮 | 壓縮率比 gzip 更高的方式(僅限支援的瀏覽器) | ✅ 需要設定 Apache/Nginx | ✅ 啟用 Apache/nginx 模組 | ✅ 僅適用於支援的瀏覽器 |
| 變更設定時防止快取物件 | 加上查詢字串讓舊快取失效 | ✅ 設定經常變更時建議使用 | — | ✅ 檔案變更會立即反映 |
| 移除查詢字串 | 移除靜態資源中的 [?],提高快取率 | ⚠️ 只有部分 CDN/代理需要 | — | ✅ 可套用於有版本管理的檔案 |
| 移除 Cookie | 移除靜態資源回應中的 [Set-Cookie] 標頭 | ✅ 大多數情況下勾選 | — | ✅ 圖片等不需要 Cookie |
| 不由 WordPress 處理 404 回應 | 靜態檔案的 404 交給網頁伺服器處理 → 減輕 WP 負載 | — | — | — |
| 404 例外 URI 清單 | 指定由 WP 直接處理的特定 URI 模式(例:sitemap、robots.txt 等) | — | — | — |
| 重寫物件 URL 結構 | 產生唯一 URI 以略過快取(如 [ver=xxxx] 形式) | — | — | — |
Ⅲ. W3 Total Cache 附加功能
使用 WP Cron 清除快取屬於 全域設定。
{wp_content_dir}/gallery/*
{wp_content_dir}/uploads/avatars/*
{plugins_dir}/wordpress-seo/css/xml-sitemap.xsl
{plugins_dir}/wp-minify/min*
{plugins_dir}/*.js
{plugins_dir}/*.css
{plugins_dir}/*.gif
{plugins_dir}/*.jpg
{plugins_dir}/*.png
{uploads_dir}/imagerotator.swf
{plugins_dir}/wp-fb-autoconnect/facebook-platform/channel.html
- You can use placeholders {wp_content_dir}, {plugins_dir}, {uploads_dir} instead of writing folder paths (wp-content, wp-content/plugins, wp-content/uploads).
- If using Amazon Web Services or Self-Hosted CDN types, enable HTTP compression in the “Media & Other Files” section on Browser Cache Settings tab.
data-bgposition=
data-envira-src=
data-large_image=
data-lazy-original=
data-lazy-src=
data-lazyload=
data-lazysrc=
data-no-lazy=
data-src=
data-srcset=
fullurl=
lazy-slider-img=
loading=”eager”
no-lazy
rev-slidebg
skip-lazy
soliloquy-image
swatch-img
w3-total-cache
woocommerce/assets/images/placeholder.png
wpcf7_captcha
1️⃣ CDN
註冊 CDN 服務商後即可設定此功能。
|
選項 |
說明 |
|---|---|
|
✅ 託管附件 |
將 [wp-content/uploads] 內的圖片等附件上傳到 CDN |
|
✅ 託管 wp-includes 檔案 |
將 WordPress 核心靜態檔案(js/css 等)納入 CDN |
|
✅ 託管佈景主題檔案 |
將使用中佈景主題的靜態檔案(css/js/images 等)納入 CDN |
|
✅ 託管壓縮後的 CSS/JS 檔案 |
從 CDN 提供 W3TC 壓縮過的 CSS/JS 檔案 |
|
✅ 託管自訂檔案 |
將使用者自行指定的路徑或檔名推送到 CDN |
|
⚠️ 強制覆寫既有檔案 |
修改未被自動偵測到時,用來強制重新上傳 |
|
項目 |
說明 |
|---|---|
|
僅手動清除 CDN |
只有點選手動清除按鈕時才從 CDN 移除檔案 |
|
在 SSL 頁面停用 CDN |
HTTPS 頁面不使用 CDN 網址 |
|
在管理後台使用 CDN 連結 |
在管理畫面中也為媒體顯示 CDN 網址 |
|
Add CORS header |
加入允許 CORS 的回應標頭 |
|
依角色停用 CDN |
對選定的使用者角色不套用 CDN(例:只有管理員使用原始檔) |
|
頁面排除清單 |
將指定路徑排除於 CDN(可用正規表示式) |
|
自動上傳壓縮檔案 |
自動將 Minify 後的檔案上傳到 CDN(Push 方式) |
|
自動匯出變更的檔案 |
偵測到檔案修改時自動上傳 |
|
自動上傳間隔 |
偵測到檔案變更後的上傳間隔(預設 3600 秒) |
|
重新傳送間隔/限制 |
失敗時的重試間隔與處理檔案數限制 |
|
要上傳的 wp-includes 檔案 |
指定要納入 CDN 的核心檔案格式 |
|
要上傳的佈景主題檔案格式 |
指定 CSS/JS/字型等佈景主題相關的檔案格式 |
|
要匯入的檔案格式 |
指定外部連結檔案的自動下載條件 |
|
自訂檔案清單 |
指定要傳送到 CDN 的個別檔案路徑(範本、外部外掛等) |
|
拒絕的使用者代理 |
指定禁止存取 CDN 檔案的機器人/使用者代理 |
|
拒絕的檔案路徑 |
指定 CAPTCHA、特殊路徑等不套用 CDN 的檔案路徑 |
|
設定 Cookie 網域 |
使用子網域 CDN 時,指定網域以避免傳送 Cookie |
2️⃣ 反向代理
說明中以 Varnish 和 Nginx 為例,但 Nginx 是在伺服器上設定,因此只有使用 Varnish 時才在 W3 Total Cache 外掛中套用。
3️⃣ 使用者體驗:延遲載入
進階設定中超過 50% 的功能要在付費版才能使用。
|
項目 |
說明 |
建議使用時機 |
|---|---|---|
|
✅ 處理 HTML 圖片標籤 |
[<img>] 標籤會加上 lazy 屬性 |
一般內容圖片延遲載入時 |
|
✅ 處理背景圖片 |
對 CSS 的 [background-image] 套用 lazy |
背景圖片多的設計類網站 |
| 排除字詞 | 範例 |
|---|---|
| Lazy 排除屬性 | [data-src]、[data-lazy-src]、[data-no-lazy]、[loading=”eager”] 等 |
| Lazy 排除類別 | [no-lazy]、[skip-lazy]、[lazy-slider-img]、[rev-slidebg] 等 |
| 外掛/輪播相關 | [soliloquy-image]、[envira]、[w3-total-cache]、[wpcf7_captcha] 等 |
| WooCommerce 相關 | [swatch-img]、[woocommerce/…/placeholder.png] 等 |
延遲載入的「門檻」是設定瀏覽器視窗(畫面)下方的圖片或背景元素,要在多遠的距離就預先載入的值。例如設為 100px 時,使用者捲動到距離該元素 100 像素以內就會載入;設得太短會讓圖片載入變慢,使用者可能看到一片空白,因此通常 100~300px 之間較適當。
以下是指令碼的嵌入方式。
|
嵌入方式 |
說明 |
位置或屬性 |
|---|---|---|
|
非同步(Async) |
與頁面載入平行執行,不會阻擋渲染 |
[<script async>] |
|
同步(放在 head) |
在 [<head>] 區域先執行,可能暫時阻擋渲染(in the head) |
[<head>] 或 [<script>] |
|
行內(Inline) |
直接在 HTML 文件中插入指令碼,不需另外請求即可執行 |
插入 [<script>程式碼</script>] 內 |


4️⃣ WebP 轉換器


Ⅳ. W3 Total Cache 綜合評價
W3 Total Cache 的介面(UI)不算差,但確實不方便。許多開發者與專業使用者也指出同樣的問題。與 WP Rocket、FlyingPress 等新式外掛相比, 網站效能完全跟得上,但在使用者體驗(UX)方面仍有不足。
功能多是優點,但 對新手來說,結構可能過於複雜。特別是需要頻繁切換選單、細部選項又多,即使是熟練的開發者和網站管理員 也可能設定出錯。設定過的內容當然無法全部記住,但正因如此,在使用上它是 可以細緻調整的進階快取外掛。
免費版安裝數超過 100 萬,很難只把它當成老舊外掛;事實上,幾乎找不到功能多樣、豐富程度能與之匹敵的快取外掛。
| 項目 | 評分(⭐) | 評價內容 |
|---|---|---|
| 🎛️ 介面 | ⭐⭐⭐ | 選單多、結構複雜,新使用者門檻高。UI 感覺老舊 |
| ⚙️ 功能多樣性 | ⭐⭐⭐⭐⭐ | 快取、CDN、Redis 等幾乎所有功能,很難找到沒有的功能 |
| 🛠️ 細部設定彈性 | ⭐⭐⭐⭐ | 幾乎所有功能都能細部調整,需注意設定之間的衝突 |
| 🚀 效能提升效果 | ⭐⭐⭐⭐⭐ | 設定優化後效能非常好,物件快取/瀏覽器快取效果大 |
| 🧩 相容性 | ⭐⭐⭐ | 可能與部分主機、佈景主題、外掛衝突。 |
| 📄 文件·指南 | ⭐⭐⭐⭐⭐ | 官方文件豐富 |
| 💡 使用者推薦度 | ⭐⭐⭐⭐(4.5) | 推薦給進階使用者。新手推薦 WP Rocket、Cache Enabler 等 |
| 📊 綜合評分 | ⭐⭐⭐⭐(4.5) | 以功能為主的高效能外掛。有學習曲線,需考量使用者程度 |
Ⅴ. 效能測試
外掛設定完成後的最終速度測試顯示,速度提升比一般快取外掛更明顯。
ℹ️ 聯盟行銷說明
本站內容包含聯盟行銷連結。訪客透過這些連結購買商品或服務時,本站會從賣家獲得佣金。在這個過程中,購買者支付的金額(遇到活動折扣時金額會降低↓)並不會因此提高。刊登的價格、折扣與庫存資訊以撰寫當時為準,可能與實際情況不同,購買前請向賣家做最後確認。商品的挑選與評價依本站自訂的標準撰寫,是否支付佣金不會影響介紹順序或評價內容。