MO StudioStart a Project

MO STORIES

WordPress on Zeabur 為什麼不要亂開頁面快取?Breeze 跳版案例解析

2026年5月5日3 分鐘閱讀

WordPress 部署到 Zeabur 後,如果啟用 Breeze 頁面快取,可能遇到 Elementor CSS 舊版快取、部署後跳版、advanced-cache.php 殘留等問題。這篇用實戰案例拆解原因、架構分工與安全設定方式。

WordPress on Zeabur 為什麼不要亂開頁面快取?Breeze 跳版案例解析
封面視覺

先說結論

WordPress 放在 Zeabur 這類 Docker 化環境時,Breeze 的頁面快取不要亂開。

原因不是 Breeze 很爛,而是它的頁面快取機制會在 WordPress boot 很早期就回傳舊 HTML。當你同時使用 Elementor、Cloudflare、部署流程、R2 圖床或檔案版本控制時,舊 HTML 很可能還指向舊 CSS。結果就是:GitHub push 後,前台突然跳版,停用再啟用快取才恢復。

比較穩的做法是:Breeze 保留檔案優化,頁面快取交給 Cloudflare,PHP 交給 OPcache,資料庫查詢交給 Redis Object Cache。

如果你還在判斷「主機、CDN、快取外掛誰該先做」,先看這篇支柱文:[[2026-04-27 主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選?別再亂花錢 (2026)|主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選]]。
如果你正在比較快取外掛,也可以搭配:[[2026-04-27 WordPress 快取外掛推薦:WP Rocket vs LiteSpeed vs Super Cache 誰最快?(2026)|WordPress 快取外掛推薦與比較]]。

為什麼 Zeabur 上的 Breeze 頁面快取容易出問題

Zeabur 的優勢是部署快、容器化、平台抽象高。這對開發很舒服,但也代表你不能用傳統共享主機的心智處理 WordPress 快取。

Breeze 的頁面快取會產生靜態 HTML,並透過 advanced-cache.php 在很早的階段回應請求。這在 Cloudways + Varnish 的情境可能很合理,但在 Zeabur / Docker 化部署裡,會多出幾個風險:

風險會發生什麼使用者看到什麼
舊 HTML 殘留頁面快取還指向舊 CSS / JS前台樣式跑掉
Elementor CSS 重生時機錯開新部署後 CSS 檔案已刪,但 HTML 還在抓舊檔首頁像沒套樣式
.htaccess 寫入受限外掛切換狀態不完整後台看似關閉,檔案還殘留
Cloudflare 又包一層CDN 可能暫存舊 HTML清了 WordPress,前台還是舊版

這種問題最麻煩的地方是:它不一定每次都發生。你可能本機看正常,手機看壞;後台登入看正常,訪客看壞;清瀏覽器快取後正常,隔天又壞。

正確分工:不要每一層都做頁面快取

快取架構最怕「大家都很努力」。每一層都想幫你快取,出事時就很難知道到底是哪一層在吐舊資料。

比較乾淨的分工如下:

層級建議責任Zeabur WordPress 建議
Browser長快取 CSS / JS / 圖片filemtime ?ver= 破快取
CloudflareCDN、Brotli、HTTP/3、公開頁 HTML 短快取開,但購物流程要 bypass
BreezeCSS/JS minify、檔案優化不開頁面快取
OPcachePHP 檔案編譯快取開,並調高檔案數上限
Redis Object Cache資料庫查詢結果WooCommerce / Elementor 站建議開
部署流程清舊快取、清 Elementor CSS每次 deploy 自動做

這樣做的好處是:出問題時你知道要查哪一層。CSS 沒更新,查檔案版本和 Elementor CSS;HTML 舊了,查 Cloudflare;後台慢,查 OPcache / Redis / DB。

建議設定:Breeze 只做檔案優化,不做頁面快取

在 Zeabur 上,我會這樣看 Breeze:

功能建議
Page Cache關閉
Minification可測試後保留
Group CSS / JS小心測,Elementor 站容易破互動
Browser Cache可由 Cloudflare / headers 處理
Database Optimization不建議當主要 DB 維護工具

如果你要更保守,Breeze 甚至可以只作為 Cloudways 遷移過程中的暫時外掛,不一定要長期留在 Zeabur。快取外掛不是裝越多越安心;WordPress 加速真正重要的是可驗收、可回滾、可排錯。

部署後跳版怎麼排查

遇到 Zeabur WordPress 部署後跳版,可以照這個順序查:

步驟查什麼判斷方式
HTML 是否舊版DevTools 看 CSS/JS URL 的 ?ver= 是否仍是舊時間
Elementor CSS 是否存在檢查 /wp-content/uploads/elementor/css/ 對應檔案
advanced-cache.php 是否殘留檢查 wp-content/advanced-cache.php
Cloudflare 是否吐舊 HTML暫時 bypass 或 purge 單頁
瀏覽器是否拿舊靜態檔無痕視窗、換裝置、看 response headers

你不要一開始就把所有外掛停掉。那會讓問題消失,但也會讓你失去線索。先抓到舊資料從哪一層出來,再決定要清哪一層。

比較穩的修法

實務上我會做三件事。

① 強制關閉 Breeze 頁面快取

不要只靠後台按鈕。後台設定可能被外掛、部署、檔案權限影響。

比較穩的方式是在 theme 或 mu-plugin 裡攔截 Breeze 設定,把頁面快取狀態固定關閉。這樣就算後台有人誤開,也會被 runtime 拉回安全狀態。

② 部署啟動時清掉舊快取

每次 Zeabur deploy / container restart,都應該清:

  • wp-content/cache/breeze
  • wp-content/cache/breeze-minification
  • wp-content/uploads/elementor/css
  • wp-content/advanced-cache.php

這不是潔癖,是避免第一個訪客拿到舊 HTML 或舊 CSS。

③ 靜態資源用檔案時間做版本

CSS / JS 檔案可以長快取,但 URL 要能隨檔案變動。

常見做法是用 filemtime() 當版本參數:

wp_enqueue_style(
  'theme-style',
  get_stylesheet_uri(),
  [],
  filemtime(get_stylesheet_directory() . '/style.css')
);

檔案沒改,瀏覽器沿用快取;檔案有改,?ver= 變,瀏覽器重抓。這比「叫使用者清快取」成熟很多。

Cloudflare 要怎麼配合

Cloudflare 可以做 HTML 快取,但要短、要排除、要能手動清。

規則建議
公開首頁 / 文章頁可短時間快取,例如 30 分鐘
/cart/*bypass
/checkout/*bypass
/wp-admin/*bypass
/wp-login*bypass
?add-to-cart=*bypass
?wc-ajax=*bypass
wordpress_logged_in_* cookiebypass

如果是純內容站,Cloudflare HTML cache 風險較低。
如果是 WooCommerce,規則要更保守。完整排除清單可以看:[[2026-04-27 WooCommerce 快取怎麼設?購物車、結帳頁、登入狀態哪些不能快取|WooCommerce 快取怎麼設]]。

什麼時候可以開頁面快取

不是所有 Zeabur WordPress 都不能用頁面快取,而是你要先確認幾個條件:

條件可以比較放心嗎
沒有 WooCommerce / 會員 / 個人化內容較可控
沒有 Elementor 動態 CSS 或已改成穩定產生流程較可控
有部署後自動清快取較可控
有 Cloudflare purge 流程較可控
團隊知道怎麼驗收 HIT / MISS較可控

少了這些條件,頁面快取就像在早餐店所有餐點上都貼同一張標籤。看起來出餐很快,但客人拿到什麼不一定對。

FAQ

Q1:Breeze 在 Zeabur 上一定不能用嗎?

不是。Breeze 可以用,但不建議在 Zeabur / Docker 化 WordPress 上亂開頁面快取。檔案優化可以測,頁面快取要非常保守。

Q2:為什麼 Cloudways 可以用 Breeze,Zeabur 卻要小心?

Cloudways 的 Breeze 是為 Cloudways 主機與 Varnish 整合設計。Zeabur 是容器化部署心智,檔案權限、重啟、部署後快取清理都不同,所以不能直接套同一組設定。

Q3:Elementor 部署後跳版,最常見原因是什麼?

常見原因是舊 HTML 指向舊的 Elementor CSS 檔案。新部署後 CSS 已重生或被清掉,但頁面快取仍吐出舊 HTML,前台就會像沒套樣式。

Q4:Zeabur WordPress 比較建議用哪種快取架構?

建議用 Cloudflare 做公開頁短快取,Breeze 只保留檔案優化,OPcache 處理 PHP runtime,Redis Object Cache 降低資料庫查詢壓力,購物流程與登入狀態一律 bypass。

下一步

想先建立整體決策順序,回到:[[2026-04-27 主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選?別再亂花錢 (2026)|主機升級 vs CDN vs 快取外掛:WordPress 加速怎麼選]]。
想把 Zeabur 架站流程補完整,接著看:[[2026-05-05 如何在 Zeabur 設定 WordPress 網站?從部署到綁定網域的完整教學|如何在 Zeabur 設定 WordPress 網站]]。 如果你想把媒體儲存分層處理,接著看:[[2026-05-05 WordPress 媒體檔該放哪?Zeabur Volume、uploads 與 Cloudflare R2 分工|WordPress 媒體檔該放哪]]。 如果你正在搬 WooCommerce,接著看:[[2026-05-05 WooCommerce 搬到 Zeabur 前要注意什麼?資料庫、金流、Email 與回滾清單|WooCommerce 搬到 Zeabur 前要注意什麼]]。

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Breeze 在 Zeabur 上一定不能用嗎?", "acceptedAnswer": { "@type": "Answer", "text": "不是。Breeze 可以用,但不建議在 Zeabur 或 Docker 化 WordPress 上亂開頁面快取。檔案優化可以測,頁面快取要非常保守。" } }, { "@type": "Question", "name": "為什麼 Cloudways 可以用 Breeze,Zeabur 卻要小心?", "acceptedAnswer": { "@type": "Answer", "text": "Cloudways 的 Breeze 是為 Cloudways 主機與 Varnish 整合設計。Zeabur 是容器化部署心智,檔案權限、重啟、部署後快取清理都不同,所以不能直接套同一組設定。" } }, { "@type": "Question", "name": "Elementor 部署後跳版,最常見原因是什麼?", "acceptedAnswer": { "@type": "Answer", "text": "常見原因是舊 HTML 指向舊的 Elementor CSS 檔案。新部署後 CSS 已重生或被清掉,但頁面快取仍吐出舊 HTML,前台就會像沒套樣式。" } }, { "@type": "Question", "name": "Zeabur WordPress 比較建議用哪種快取架構?", "acceptedAnswer": { "@type": "Answer", "text": "建議用 Cloudflare 做公開頁短快取,Breeze 只保留檔案優化,OPcache 處理 PHP runtime,Redis Object Cache 降低資料庫查詢壓力,購物流程與登入狀態一律 bypass。" } } ] } </script>

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

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

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

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

延伸閱讀

Newsletter

訂閱 MO Stories

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

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

MO DESIGN STUDIO

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

← 返回部落格