MO STORIES

WordPress 媒體檔該放哪?Zeabur Volume、uploads 與 Cloudflare R2 分工

2026年5月5日7 MIN READ

WordPress 放到 Zeabur 後,很多人第一個問題是: 我要不要把整個 WordPress 目錄都掛成 Volume? 我的答案通常是:不要。 更精準地說,真正要持久化的通常不是整站,而是 wp-content/uploads。 如果你還不熟 Zeabur 架 WordPress 的基本流程,可以先看:如何在...

WordPress 媒體檔該放哪?Zeabur Volume、uploads 與 Cloudflare R2 分工
Cover Visual

WordPress 媒體檔該放哪?Zeabur Volume、uploads 與 Cloudflare R2 分工

WordPress 放到 Zeabur 後,很多人第一個問題是:

我要不要把整個 WordPress 目錄都掛成 Volume?

我的答案通常是:不要。

更精準地說,真正要持久化的通常不是整站,而是 wp-content/uploads

如果你還不熟 Zeabur 架 WordPress 的基本流程,可以先看:如何在 Zeabur 設定 WordPress 網站

解答先行

WordPress 的檔案要分三類看:

類型 建議放哪裡 原因
WordPress 核心 Docker image / 部署流程 可重建,不該靠手動保存
主題與外掛 Git / Docker image 屬於程式碼,應該版本控制
uploads 媒體檔 Zeabur Volume 或 Cloudflare R2 屬於使用者資料,重啟後不能消失

一句話:

WordPress 媒體策略的第一步,不是上 R2,而是先把 uploads 和程式碼切開。

為什麼不要整站掛 Volume

Zeabur 官方 Volumes 文件說明,Volume 是用來讓服務裡某個目錄持久保存。一般 Zeabur service 重啟後會回到預設狀態;如果某個目錄需要保存資料,就把那個目錄掛到 Volume。

這聽起來像是「那我整個 WordPress 都掛起來最安全」。

但 WordPress on Zeabur 的情境剛好相反。

如果你把整個 /var/www/html 或整個 wp-content 掛成 Volume,可能會發生:

  • Docker image 裡的新主題被舊 volume 蓋掉
  • 外掛更新和部署版本不同步
  • GitHub push 後看起來沒更新
  • 正式站變成一半靠部署、一半靠線上檔案
  • 回滾時不知道該相信 image 還是 volume

所以 Volume 不是拿來保存所有東西,而是保存「不能由部署重建的資料」。

uploads 是資料,不是程式碼

wp-content/uploads 裡通常有:

  • 文章圖片
  • 商品圖
  • 會員上傳檔
  • PDF
  • 下載商品
  • 編輯器產生的媒體檔

這些東西不應該跟著 Git 或 Docker image 走。

原因很簡單:

  • 它們會一直增加
  • 它們不是開發者寫的程式碼
  • 它們不能因為容器重啟就消失
  • 它們通常需要備份與遷移策略

所以在 Zeabur 上,比較合理的第一步是:

只把 /var/www/html/wp-content/uploads 掛到 Volume

而不是:

把整個 /var/www/html 掛到 Volume

Zeabur Volume 適合扮演什麼角色

Zeabur Volume 適合做兩件事:

1. 小型網站的穩定保存層

如果你是小型內容站、品牌站、作品集,圖片量不大,Volume 先承接 uploads 很合理。

它的價值是:

  • 容器重啟後媒體不會消失
  • 部署和使用者上傳資料分開
  • 不需要一開始就導入 R2

但要注意,官方文件也提到:啟用 Volume 後,服務重啟時就不能維持 zero-downtime restart,會有短暫停機。

這不是不能用,而是你要知道它的代價。

2. R2 前的過渡層

如果未來圖片量變大,可以逐步把媒體搬到 Cloudflare R2。

這時 Zeabur Volume 可以變成:

  • 暫存區
  • 過渡期保險
  • 舊檔案備援

而不是永遠承接全部媒體流量。

Cloudflare R2 適合扮演什麼角色

R2 真正的價值,不只是便宜,而是把媒體從主機抽離。

如果圖片、商品圖、下載檔都在應用主機裡,主機會同時負責:

  • 跑 PHP
  • 查資料庫
  • 處理 WooCommerce
  • 回應圖片請求
  • 儲存媒體檔

這對小站還可以,對圖片多的站會越來越重。

R2 的方向是:

WordPress 負責內容和後台
R2 負責媒體儲存
Cloudflare 負責邊緣快取與傳輸

如果你想先看 R2 入門,可以接:Cloudflare R2 怎麼用

建議遷移順序

我不建議一開始就把所有東西做滿。

比較穩的順序是:

第一階段:WordPress 正常跑起來
↓
第二階段:uploads 掛 Zeabur Volume
↓
第三階段:建立備份流程
↓
第四階段:圖片量變大後導入 R2
↓
第五階段:R2 穩定後,縮小 Volume 角色

這樣的好處是每一步都可驗證,不會在第一次部署就同時處理太多變因。

不同網站類型怎麼選

網站類型 建議
測試站 可先不用 R2,確認流程即可
小型內容站 uploads 掛 Zeabur Volume
圖片多的部落格 Volume + 後續規劃 R2
WooCommerce 商品圖多 建議規劃 R2
下載型商品 / 課程站 要特別規劃權限、下載保護與備份

如果是 WooCommerce,請不要只看圖片。

你還要確認:

  • 商品圖
  • 下載檔
  • 發票 PDF
  • 會員上傳資料
  • 私有檔案權限

這些不一定都適合直接公開丟到 R2,要看你的外掛與權限設計。

常見錯誤

1. 把整個 WordPress 目錄掛 Volume

這會讓部署和檔案狀態混在一起。短期好像安全,長期會讓更新和回滾變難。

2. 以為 R2 可以取代備份

R2 是儲存,不等於備份策略。

你仍然要想:

  • 資料庫備份
  • uploads 備份
  • R2 bucket 權限
  • 誤刪怎麼恢復
  • 版本保留多久

3. 忘記 Volume 啟用後的重啟行為

Zeabur 官方文件提醒,掛 Volume 後重啟會有短暫停機。正式商業站要把這件事納入維護時間與上線策略。

4. 只搬圖片,忘記資料庫裡的 URL

圖片搬到 R2 後,文章內容、商品圖、metadata 裡可能仍然指向舊網址。要用正確工具做 search-replace,不要手動亂改資料庫。

常見問題 FAQ

Zeabur 上 WordPress 一定要用 Volume 嗎?

如果網站會上傳圖片、商品圖或媒體檔,通常需要。否則容器重啟或重新部署後,沒有持久化的檔案可能不會被保存。

可以把整個 WordPress 目錄都掛成 Volume 嗎?

技術上可能可以,但不建議。WordPress 核心、主題、外掛應該跟部署或 Docker image 走;Volume 主要保存 uploads 這類使用者資料。

Zeabur Volume 和 Cloudflare R2 要選哪個?

小站可以先用 Zeabur Volume。圖片量變大、流量變高或想把媒體從主機抽離時,再規劃 Cloudflare R2。

R2 可以取代 WordPress 備份嗎?

不能。R2 只能處理媒體儲存的一部分。WordPress 還需要資料庫備份、外掛主題版本管理、設定備份與還原流程。

參考資料

MO 編輯

關於作者 | 10+ 經驗

MO 編輯

WordPress 效能優化專家 / MO Design Studio 共同創辦人

關注設計 × 工程的平衡協作,擅長以簡潔語言說故事。專門幫已有網站的品牌做速度升級。相信好網站不用重做,只需要正確的優化。

WordPress 優化SEO 策略Headless CMS效能稽核

延伸閱讀

Newsletter

訂閱瘦生活電子報

每週一封故事信——分享如何用減法思維剔除雜訊、做對的事、過好生活。不說教,不推銷,只有真實的取捨紀錄。

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

MO DESIGN STUDIO

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

返回部落格