Varnish 是 Cloudways 伺服器層的頁面快取。它可把公開頁面的回應暫存,減少 PHP 和資料庫工作量;但它不理解每一個 WordPress 外掛的業務規則。因此,購物車、結帳、會員帳戶、預約流程和登入後內容必須先測試,不能只因首頁變快便認為設定成功。
這篇示範從服務狀態、排除規則、清除快取到訪客驗證的安全做法。開始前先建立備份,並記錄現有快取外掛、CDN 及自訂 cookie 規則。
步驟 1:確認 Varnish 服務狀態
登入 Cloudways 後開啟目標 Server,在 Manage Services 找到 Varnish。截圖中只保留服務名稱和狀態;伺服器名稱、IP、帳戶資料及私密網址需要遮蔽。若 Varnish 已運行,不要為了教學而隨意 Restart,應先確認網站沒有高峰流量或進行中的批次工作。

步驟 2:從應用程式開啟快取管理
回到 Applications,選取 WordPress 應用程式,在 Application Settings 或相關快取設定中查看 Varnish 的選項。Cloudways 介面會隨方案與版本改動;以畫面實際文字為準,不要依舊文章猜測按鈕位置。

步驟 3:列出必須排除的動態網址
一般內容網站可先從登入、預覽、搜尋結果與表單完成頁開始;WooCommerce 要額外檢查 `/cart/`、`/checkout/`、`/my-account/` 和付款服務回傳頁。使用會員或 LMS 外掛時,把登入後會顯示個人資料的網址一併列出。排除規則應有原因和測試日期,避免日後把仍需要快取的公開頁面全部關掉。

步驟 4:處理 cookie 與外掛快取相容性
有些外掛透過 cookie 判斷訪客是否登入、已加購物車或正在填寫表單。先以無痕模式和已登入模式分別測試;若訪客仍看到錯誤內容,先查該外掛的官方相容性說明,不要把真實 cookie 值放進公開截圖或文章。

步驟 5:只在需要時清除 Varnish
發佈新內容、修正主題或調整快取排除規則後,可在 Cloudways 或 Breeze 的對應位置執行 Purge。清除 Varnish 只會處理其中一層快取;若另有 CDN,仍要按自己的流程處理 CDN 快取。避免在每次前台瀏覽都清除整站快取,這會令伺服器失去快取的效益。

步驟 6:從真實訪客流程驗收
先以無痕視窗測試公開文章和首頁,再以測試帳戶處理登入、加購物車、結帳及登出。測試完成後才確認快取狀態。若更新後只有部分地區看到舊內容,也要把 CDN 和瀏覽器快取納入檢查,而不是重複啟停 Varnish。

常見問題:Varnish 與 Redis 是同一件事嗎?
不是。Varnish 主要快取完整頁面回應;Redis Object Cache 主要減少資料庫與物件查詢。兩者可配合,但應分別測試,並明確知道哪一層在提供內容。
常見問題:為何更新文章後仍看到舊版本?
先確認 WordPress/Breeze、Varnish、CDN 和瀏覽器四層快取。每次只清理一層並用無痕模式驗證,才能知道是哪一層仍保有舊內容。









