本機 Headless CMS 部署流程

方法論

本機 Headless CMS 部署流程

適用情境

需要一個「可讓非工程師協作上稿」的後台,但不想付 SaaS CMS 的人頭月費、不想租主機、資料希望留在自己手上。典型案例:小團隊部落格、企業形象網站、內部工具。

核心架構

[本機 WordPress Playground]  ←── Cloudflare Tunnel ── [遠端同事瀏覽器]

          │ REST API(build-time fetch)

[本機 Astro build]

          │ wrangler deploy

[Cloudflare Workers/Pages]  ←── 讀者

步驟流程

1. 本機 CMS 就位

  • 用 WordPress Playground 在本機啟動 WordPress(SQLite,無需 MySQL / Docker)
  • 裝好橋接外掛(提供 webhook、健康檢查、API 金鑰管理)

2. 前台整合

  • Astro 加入一個 content collection(例如 wpPosts),用 loader 在 build-time 從本機 WordPress REST API 撈資料
  • 撈下來的 HTML 清洗成乾淨 Markdown,跟本機 Markdown 集合合併
  • 列表頁、分類頁、單篇頁同時撈兩個集合

3. 暴露 CMS 給遠端同事

  • 用 Cloudflare Tunnel 建立本機到公網的加密通道
  • 兩種模式:永久網址(需要自有網域)或臨時 trycloudflare.com 網址
  • 搭配 httpHostHeader 設定,讓 WordPress 不必修改 siteurl

4. 自動發布

  • 同事在遠端 WordPress 存檔 → 外掛觸發 webhook
  • 本機 deploy server 監聽 webhook → 觸發 astro build
  • build 成功後 wrangler deploy 上傳到 Cloudflare

5. 漸進可用性升級

  • 階段 A:跑在個人筆電,適合單人 + 偶爾委派
  • 階段 B:跑在公司備用電腦(接電源、接有線網路),適合小團隊
  • 階段 C:搬到雲端主機,設定檔改一個 URL 就好,適合跨時區或 24/7 需求

關鍵取捨

維度本機模式雲端主機
月費0 元主機費 $5–20/月
可用性依工作機作息24/7
資料位置自己硬碟雲端主機商
備份複製資料夾需要設定備份策略
維運需要定期更新 WP
適合對象單時區小團隊分散式團隊 / 媒體

常見失敗模式

  • 家用網路不穩,Tunnel 時斷時續。 解法:用 Cloudflare Zero Trust 的錯誤重試機制;或搬到公司備用電腦
  • ISP 封 80/443 / 公司防火牆擋出站。 Cloudflare Tunnel 用 QUIC,多數封鎖可穿透,但企業嚴格 Proxy 環境需白名單
  • 極度依賴 MySQL 特殊語法的外掛失效。 裝外掛前先在 Playground 跑一次測試
  • 工作機關機導致發布卡住。 建立「備用電腦 + 同事打開網站沒更新時 ping 作者」的協作默契

與既有方法論的關聯

  • 這是 [[靜態網站架設]] 的進階變體:原本只有本機 Markdown 單一來源,現在加上 WordPress 第二來源
  • 可以視為 [[AI 內容產出管線]] 的「人類編輯入口」補完——原本管線只允許工程師用 Claude Code 產文,現在補上非工程師的 WordPress 入口

關聯概念

  • [[Headless CMS 架構模式]]
  • [[內容自主權 vs 託管便利]]
  • [[靜態網站架設]]
  • [[非工程師的 AI 工具採用]]