主機商提供的伺服器層快取,處理的是靜態請求、全站命中率高的場景。一旦網站開始處理會員登入、購物車、動態表單,主機快取的規則常常需要開例外,管理起來並不輕鬆。這時候,在 WordPress 層自行控制快取邏輯,反而比依賴主機商更有彈性。
選型時真正影響決策的,是三項組合的取向——設定門檻、規則靈活度,以及面對動態內容時能否安全排除快取。不同的 wordpress 頁面快取外掛在這三項的取向差異明顯,值得逐一拆開來看。
三款外掛的基本定位
目前在 WordPress 社群裡使用量最高的快取外掛,以 WP Rocket、W3 Total Cache(W3TC)和 LiteSpeed Cache(LSCache)為代表,各自鎖定不同的使用族群。
WP Rocket 是付費授權,走的是「裝好大致可用」的路線,預設設定已覆蓋多數網站需求,進階選項也不多。W3TC 免費、選項密集,適合想精細控制快取後端與物件快取層的使用者,代價是需要花時間理解每個設定的意義。LSCache 的名稱雖然帶有 LiteSpeed 字樣,但它提供獨立模式,不需要 LiteSpeed 伺服器就能運作,在 Apache 或 Nginx 環境下啟動後,同樣具備頁面快取與基礎規則設定的能力。
三者都支援頁面快取的核心功能,差別在細節的寬度與操作難度。
三款外掛的設定門檻比較
WP Rocket 的門檻最低。安裝後進入後台,頁面快取預設啟用,預設排除登入使用者,購物車與結帳頁也自動列入例外清單。對多數展示型網站或部落格來說,幾乎不需要調整設定就能看到快取效果。缺點是客製化空間有限,若網站有特殊 Cookie 或自訂結帳流程,規則需要手動補入「排除 URL」欄位,介面本身不提供進階條件組合的功能。
LSCache 獨立模式的門檻居中。安裝後需要進入「快取」頁面手動勾選啟用,並確認登入使用者、WooCommerce 頁面的排除選項是否正確套用。設定頁面的分類比 W3TC 清晰,但選項比 WP Rocket 多,初次使用有些項目需要對照文件才知道用途,大約花半小時可以建立起基本設定。
W3TC 的門檻最高,主要原因不是功能難,而是選項多、頁面密。它的快取後端可以選擇磁碟(Disk)、Memcached、Redis 等多種儲存方式,每種行為不同,搭錯主機環境反而會讓快取失效。初次使用建議先執行「Performance Wizard」走一遍引導,再針對需求手動調整,不要直接跳進設定頁面逐項開啟。
規則靈活度決定能否應付複雜場景
「規則靈活度」指的是能否根據 URL 路徑、Cookie 名稱、請求參數、使用者角色等條件,分別設定快取與否。靜態網站幾乎用不到這個維度,但只要網站有登入機制或多種使用者角色,規則靈活度就直接影響快取是否安全。
W3TC 在這方面的彈性最高。它支援根據 Cookie、使用者代理(User Agent)、引薦來源(Referrer)設定不同的快取策略,進階模式還能設定每個 URL 的快取存活時間(TTL)。代價是設定複雜,一個規則設錯,可能讓某類請求完全繞過快取,或反過來把不該快取的頁面快取下來。
WP Rocket 的規則設定集中在「排除」邏輯,也就是指定哪些 URL、Cookie 名稱、使用者角色不走快取。它的排除設定做得整齊,對多數場景已足夠。但它無法針對同一個 URL 設定「A 條件快取、B 條件不快取」這種分岔邏輯,遇到複雜場景只能把整個 URL 排除。
LSCache 的規則設定介於兩者之間。除了 URL 排除,它支援根據 Cookie 名稱字串排除,對接 WooCommerce 或會員外掛時,可以把登入 Cookie 加入排除清單,讓帶有 Cookie 的請求跳過快取。這個做法不是最精細,但對多數電商場景已經足夠。
動態內容的排除處理
動態內容排除是快取最容易出問題的環節。快取外掛若把加入購物車後的頁面快取起來,其他訪客看到的會是舊的購物車狀態;若把已登入使用者的儀表板快取起來,可能把個人資料回應給未登入者。這不只是功能問題,在某些情況下也涉及隱私。
WP Rocket 對 WooCommerce 的整合最直接,安裝後自動識別購物車 Cookie(woocommerce_items_in_cart)與帳號登入 Cookie,並預設排除 /cart/、/checkout/、/my-account/ 等路徑。不需要手動設定,誤快取動態內容的風險相對低。
LSCache 也有 WooCommerce 整合,但需要在「組合」頁面確認相關選項是否正確啟用。預設值不一定符合每個安裝情境,建議安裝後實際測試一次購物流程,確認快取行為是否如預期。
W3TC 沒有內建 WooCommerce 識別邏輯,需要手動把相關 Cookie 與路徑加入排除清單。這不是特別困難的操作,但需要事先了解 WooCommerce 使用了哪些 Cookie 名稱,以及每個流程節點的 URL 格式。若網站同時執行多個電商外掛或自訂購物流程,排除清單需要自行維護,遺漏一個就可能出現快取污染。
選型的判斷邏輯
不同規模與技術背景的網站,對這三款外掛的適合度差異明顯,用一張表橫向比對比較直觀。
| 比較項目 | WP Rocket | W3 Total Cache | LSCache 獨立模式 |
|---|---|---|---|
| 費用 | 付費(約 $59 美元/年,單站授權) | 免費(有付費進階版) | 免費 |
| 設定門檻 | 低,裝好大致可用 | 高,需要了解後端選項 | 中,需確認關鍵選項 |
| 規則靈活度 | 中,以排除邏輯為主 | 高,支援多維度條件 | 中,Cookie 排除為主 |
| WooCommerce 整合 | 自動識別,排除預設完整 | 需手動設定排除清單 | 有整合,需手動確認 |
| 適合對象 | 展示型網站、部落格、不想花時間調設定的站長 | 熟悉伺服器設定、需要精細控制快取後端的技術型站長 | 預算有限但需要基本動態排除功能的電商或會員站 |
「適合對象」這列最能說明取捨的本質。WP Rocket 的授權費換來的是「不誤觸的預設值」,對沒有技術背景的站長,這個交換成本效益高。W3TC 的高靈活度要靠對伺服器環境有一定掌握才能發揮,若設定填錯,效果可能比不裝更差。LSCache 獨立模式則適合想省授權費又需要基本動態排除的場景,前提是願意花時間確認每個設定項目的作用。
三者之外,主機商本身提供的快取方案,像是 Cloudflare 的頁面規則、SiteGround 的 SG Optimizer,也是可考慮的選項,但那屬於主機層快取的範疇,邏輯與這三款不同,不在本文討論範圍內。選型時建議先確認主機商的快取方案是否已覆蓋需求,確認不夠用或需要更細緻的控制,再評估這三款,才不會讓兩套快取機制互相干擾。