MO StudioStart a Project

MO STORIES

WooCommerce 快取怎麼設?購物車、結帳頁、登入狀態哪些不能快取

2026年4月27日3 分鐘閱讀

WooCommerce 快取不能只追速度。這篇整理購物車、結帳頁、會員頁、add-to-cart、wc-ajax、登入 cookie 的快取排除規則,並說明 Cloudflare、頁面快取、Redis Object Cache 該怎麼分工。

WooCommerce 快取怎麼設?購物車、結帳頁、登入狀態哪些不能快取
封面視覺

先說結論

WooCommerce 快取的重點不是「開到最滿」,而是公開頁可以快,購物流程不能錯

商品分類頁、部落格文章、品牌頁可以快取;購物車、結帳、會員中心、登入狀態、加購物車參數、wc-ajax 相關請求都要排除。
你可以讓訪客逛商品很快,但不能讓 A 客人的購物車出現在 B 客人畫面上。

如果你還在判斷主機、CDN、快取外掛的優先順序,先看:[[2026-04-27 主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選?別再亂花錢 (2026)|主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選]]。
如果你是 Zeabur / Docker 化 WordPress,建議搭配:[[2026-05-05 WordPress on Zeabur 為什麼不要亂開頁面快取?Breeze 跳版案例解析|WordPress on Zeabur 為什麼不要亂開頁面快取]]。

WooCommerce 哪些頁面可以快取

可以快取的前提是:內容對每個訪客都一樣,而且不會牽涉個人狀態。

頁面 / 請求能不能快取說明
首頁可以,視內容而定沒有會員個人化區塊時可快取
商品分類頁通常可以庫存、價格若高度動態要縮短時間
單一商品頁通常可以加購物車按鈕本身不要把狀態寫進 HTML
文章頁可以很適合 CDN / page cache
品牌故事 / 關於我們可以靜態內容為主

這些頁面適合交給 Cloudflare、主機層快取或 WordPress 頁面快取處理。它們的任務是讓「逛」的速度變快。

WooCommerce 哪些頁面不能快取

不能快取的頁面,多半跟「這個訪客是誰」有關。

頁面 / 條件建議為什麼
/cart/bypass購物車內容每個人不同
/checkout/bypass結帳金額、運送、付款狀態不能錯
/my-account/bypass會員資料、訂單紀錄是個人資訊
/wp-admin/bypass後台不該被公開頁快取影響
/wp-login.phpbypass登入流程不能快取
?add-to-cart=*bypass加購物車是動作,不是靜態頁
?wc-ajax=*bypassWooCommerce AJAX 需要即時回應
wordpress_logged_in_* cookiebypass登入者看到的內容可能不同
woocommerce_cart_hash cookiebypass 或縮短代表購物車狀態
woocommerce_items_in_cart cookiebypass 或縮短代表購物車內有商品

這張表可以直接拿去當 Cloudflare Page Rules / Cache Rules、主機快取、快取外掛排除規則的基礎。

Cloudflare 快取 WooCommerce 的安全分工

Cloudflare 可以幫 WooCommerce 變快,但它應該加速公開頁,不應該碰購物流程。

Cloudflare 功能建議
Brotli
HTTP/3
靜態資源快取
圖片 CDN
公開頁 HTML 短快取可開,但要排除購物流程
Rocket Loader不建議,容易干擾 WooCommerce / Elementor JS
Cache Everything不要整站無腦開

WooCommerce 最怕的是「看起來變快,訂單卻出錯」。所以 Cloudflare 規則要先寫排除,再談加速。

頁面快取、Object Cache、OPcache 差在哪

很多人會把三種快取混在一起。

快取類型快的是什麼WooCommerce 建議
Page Cache整頁 HTML公開頁可用,購物流程排除
Object Cache / Redis資料庫查詢結果建議開,對商品列表、庫存查詢、後台有幫助
OPcachePHP 檔案編譯結果建議開,降低 PHP runtime 負擔
Browser CacheCSS / JS / 圖片建議開,但檔案要有版本控制

頁面快取救的是「不用重算整頁」。Redis 救的是「不用一直問資料庫」。OPcache 救的是「PHP 不用一直重新編譯」。
三者不是替代品,是不同層級。

建議快取規則範本

如果你用 Cloudflare,可以先用這個方向規劃。

優先順序條件動作
1URI path contains /cartBypass cache
2URI path contains /checkoutBypass cache
3URI path contains /my-accountBypass cache
4URI path contains /wp-adminBypass cache
5URI path contains /wp-loginBypass cache
6Query string contains add-to-cartBypass cache
7Query string contains wc-ajaxBypass cache
8Cookie contains wordpress_logged_in_Bypass cache
9Public product / category / article pagesCache with short TTL

如果你不確定規則順序,記住一個原則:排除規則放前面,加速規則放後面。

Elementor / 建構器網站要多注意什麼

WooCommerce 常常會搭配 Elementor、JetEngine、Filter 外掛、Wishlist、Mini Cart。這些工具會讓頁面更像「應用程式」,不是單純靜態頁。

功能快取風險建議
Mini Cart顯示錯誤數量用 AJAX 更新,不把狀態寫死在 HTML
商品篩選URL / AJAX 狀態複雜確認 wc-ajax 與篩選參數不被長快取
Wishlist會員或 cookie 狀態登入者 bypass
Elementor CSS部署後版本錯位部署後清 CSS,靜態資源用 filemtime
動態庫存商品頁資訊變動快縮短 TTL 或讓庫存走動態更新

如果你的網站部署在 Zeabur,Breeze 頁面快取要特別小心。原因可看:[[2026-05-05 WordPress on Zeabur 為什麼不要亂開頁面快取?Breeze 跳版案例解析|Breeze 跳版案例解析]]。

驗收方式:不要只看 PageSpeed 分數

WooCommerce 快取要驗收「速度」也要驗收「交易正確性」。

驗收項目怎麼測
公開頁速度PSI / Lighthouse / DevTools,看 TTFB 與 LCP
購物車狀態開兩個無痕視窗,各自加入不同商品
結帳金額測優惠券、運費、金流跳轉
登入狀態登入與未登入看到的內容要不同
快取命中看 response headers / Cloudflare cache status
清快取流程更新商品、改價格、改首頁後測是否正確更新

最實用的測法是:找兩台手機、兩個瀏覽器、兩個帳號,各自加不同商品。
如果畫面互相污染,代表你快取規則太激進。

常見錯誤

① 整站 Cache Everything

這是 WooCommerce 最危險的快取方式。純內容站可能沒事,電商站可能直接把交易流程弄壞。

② 只排除 /checkout,忘記 /cart

購物車也是個人狀態。只排除結帳頁不夠。

③ 忘記 wc-ajax

WooCommerce 很多互動靠 AJAX。你把它快取住,就可能看到舊狀態。

④ 登入者沒有 bypass

會員中心、訂單紀錄、個人化價格、批發價都可能跟登入狀態有關。登入者應該保守處理。

⑤ 用快取遮住資料庫問題

快取可以減壓,但不能讓壞查詢變好。後台慢、商品列表慢、篩選慢,常常還是要查 Redis、OPcache、資料庫索引與外掛查詢。

FAQ

Q1:WooCommerce 商品頁可以快取嗎?

多數情況可以,但要排除購物車、結帳、會員、加購物車、wc-ajax 與登入狀態。商品價格或庫存非常即時時,TTL 要縮短或改用動態更新。

Q2:WooCommerce 可以用 Cloudflare Cache Everything 嗎?

不建議整站使用。Cloudflare 可以快取公開頁與靜態資源,但購物流程、登入狀態與 WooCommerce AJAX 請求要 bypass。

Q3:Redis Object Cache 對 WooCommerce 有用嗎?

有。Redis Object Cache 可以降低資料庫查詢壓力,對商品列表、後台、篩選、庫存查詢有幫助。但它不是頁面快取,不能取代購物流程的 bypass 規則。

Q4:怎麼知道我的快取有沒有設錯?

用兩個瀏覽器或兩台裝置,各自加入不同商品、登入不同帳號、測優惠券和結帳。如果購物車內容、金額或會員資料互相污染,快取規則就太激進。

下一步

想先把 WordPress 整體加速順序排好,看:[[2026-04-27 主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選?別再亂花錢 (2026)|主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選]]。
想建 WooCommerce 系統主線,接著看:[[2026-03-27 WooCommerce 教學(2026):從安裝、金流到上架的完整開店指南|WooCommerce 教學 2026]]。

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "WooCommerce 商品頁可以快取嗎?", "acceptedAnswer": { "@type": "Answer", "text": "多數情況可以,但要排除購物車、結帳、會員、加購物車、wc-ajax 與登入狀態。商品價格或庫存非常即時時,TTL 要縮短或改用動態更新。" } }, { "@type": "Question", "name": "WooCommerce 可以用 Cloudflare Cache Everything 嗎?", "acceptedAnswer": { "@type": "Answer", "text": "不建議整站使用。Cloudflare 可以快取公開頁與靜態資源,但購物流程、登入狀態與 WooCommerce AJAX 請求要 bypass。" } }, { "@type": "Question", "name": "Redis Object Cache 對 WooCommerce 有用嗎?", "acceptedAnswer": { "@type": "Answer", "text": "有。Redis Object Cache 可以降低資料庫查詢壓力,對商品列表、後台、篩選、庫存查詢有幫助。但它不是頁面快取,不能取代購物流程的 bypass 規則。" } }, { "@type": "Question", "name": "怎麼知道我的快取有沒有設錯?", "acceptedAnswer": { "@type": "Answer", "text": "用兩個瀏覽器或兩台裝置,各自加入不同商品、登入不同帳號、測優惠券和結帳。如果購物車內容、金額或會員資料互相污染,快取規則就太激進。" } } ] } </script>

看完教學覺得 WordPress 還是太麻煩?

瘦桑與 茉設計 同步提供專業的網站升級服務:

速度升級
讓 LCP < 2.5s,降低跳出率
流量升級
精準診斷核心關鍵字佈局
獲取專家診斷

前 5 名諮詢客戶享免費效能報告

延伸閱讀

Newsletter

訂閱 MO Stories

獲得最新的網頁設計趨勢、Headless CMS 技術洞察與數位變現策略。

我們尊重隱私,絕不發送垃圾郵件。可隨時取消訂閱。

MO DESIGN STUDIO

我們專注品牌網站設計、行銷著陸頁與整合式 CMS 流程,協助團隊打造有感的線上體驗。

← 返回部落格