1581 字
8 分鐘

EmDash 1.0 適合 Astro 部落格嗎?導入前檢查表

EmDash 1.0 適不適合 Astro 部落格,關鍵不是它能不能顯示文章,而是文章要由誰編輯、部署後多久要反映,以及網站是否能接受資料庫和伺服器執行。若文章由工程師透過 Git 維護,現有 Astro content collections 通常更直接;若行銷或編輯需要在後台改稿、管理草稿與媒體,EmDash 才值得用小範圍試行。

EmDash 1.0 於 2026 年 9 月 28 日由 Cloudflare 宣布為穩定版。它以 Astro 為網站框架,額外提供後台、資料庫型 collections、媒體管理、預覽與外掛;它不會把現有 Markdown 自動搬進資料庫。實用的遷移方式是先保留原有檔案內容,只把一種需要編輯後台的內容型別放進 EmDash,並確認兩套 collection 能在同一個 Astro 專案運作。Cloudflare 的 1.0 公告與Astro 開發者文件描述了這些界線。

先用內容所有權判斷要不要導入#

目前工作方式較合適的起點需要接受的改變
作者會改 Markdown、用 PR 審稿,內容跟程式碼一起版本控制保留 Astro content collections發布仍走 Git 與建置流程
非工程角色常改標題、草稿、媒體或分類試用 EmDash collection內容進入 SQL 資料庫,需安排備份與權限管理
只有選單、站名等少量共用欄位需要後台維護先評估是否真需要完整 CMS不要為幾個欄位承擔資料庫、部署與遷移成本
一部分是工程文件、一部分是編輯文章兩種 collection 並存必須明確定義每種內容的唯一編輯來源

Astro content collection 使用專案檔案和 repository 工作流程;EmDash collection 使用 SQL 資料庫,透過後台編輯並以 getEmDashCollection() 查詢。兩者可以共存,但 EmDash 不會自動複製 Astro collection 的項目。這讓逐步試行成為可能,也代表舊文章要搬移時仍需要自己規劃匯入、網址對應和驗收。

如果你還在評估現有 Markdown 文章如何進入 Astro Content Collections,可先看Astro Content Loader 與 glob() collection 的整理;那是檔案型內容的工作流程,和 EmDash 的資料庫 collection 各自有不同的編輯來源。

如果目前的文章發布流程已經符合需求,只因 EmDash 1.0 剛推出就整站遷移,讀者不會因此得到明確改善。先挑一種真的需要非工程角色維護的內容,例如公告或活動資訊;如果找不到這種內容,暫時維持檔案型文章庫通常是更簡單的選擇。

導入前檢查三個會改變架構的條件#

頁面是即時渲染還是建置時固定#

EmDash 官方範本採 Astro server output。使用伺服器渲染時,編輯者發布內容後,下一次符合快取策略的請求可以讀到新版本;如果頁面刻意 prerender,輸出的 HTML 仍是建置時內容,發布後要重新建置才會更新。先確認現有部署 adapter、快取規則與發布期望,再決定這個內容型別能否切換成伺服器渲染。

部署環境是否能承載資料庫和媒體#

EmDash 把編輯內容存入資料庫,因此要一併決定資料庫 adapter、媒體儲存、備份及還原方式。官方 Astro 文件的 Node 範本使用 server output、Node adapter、SQLite 與本機儲存;Cloudflare 範本則提供 D1 和 R2 設定。範本是起點,不代表任一儲存方式已符合你的備份、擴縮或部署需求。正式切換前至少在 staging 驗證一次備份和還原。

外掛執行環境是否符合安全需求#

EmDash 的外掛格式和執行方式要先看清楚。若要在 Cloudflare Workers 執行沙箱外掛,官方文件要求 Workers Paid、名為 LOADER 的 worker_loaders binding,以及 Worker 入口匯出 PluginBridge;Node.js 沙箱則使用 workerd。沒有可用的 sandbox runner 時,沙箱外掛不會載入。先列出必要外掛,再依部署平台逐一確認需求,不要把「有外掛市集」等同於「所有外掛在目前方案都能安全執行」。

用一個 collection 做可回復的試行#

可以照下面順序驗證,不必一次搬完整個網站:

  1. 選內容型別:挑一種由編輯者負責、更新後需要較快上線的內容;工程文件和程式碼相關文章先留在 Astro collection。
  2. 建 staging 範例:依目標部署平台的 EmDash 範本設定 adapter、資料庫和媒體儲存,匯入少量測試內容,不碰正式資料。
  3. 確認讀取與預覽:用 Astro 頁面查詢 EmDash collection,測試草稿、發布、預覽、媒體、404 和 canonical URL;另確認 prerender 頁面不會被誤當成即時更新。
  4. 測試外掛和權限:只安裝有必要的外掛,按官方指南確認 sandbox runner;若工作流程需要 API 憑證,先設好最小權限。
  5. 演練復原:備份資料庫與媒體,還原到乾淨環境,再確認仍能產生預期網址與內容。記下停止試行時如何回到原本的 Astro collection。

只有當編輯流程確實改善,而且部署、搜尋索引與復原都通過,才擴大 collection 範圍。這個試行門檻比看 CMS 功能清單更能回答「適不適合我的 Astro 部落格」。

結論:保留兩種內容來源,從工作流程改善開始#

EmDash 1.0 不必然取代 Astro 的 Markdown 內容庫。當團隊需要資料庫型內容、後台編輯與草稿預覽時,可以保留檔案型文章並新增一個 EmDash collection;當內容仍由開發者透過 Git 維護,就沒有必要只為新工具增加伺服器與資料庫元件。

本文根據 2026 年 9 月 29 日可查到的 Cloudflare 公告與 EmDash 官方文件整理,未在本機安裝或部署 EmDash。版本範本、adapter 與外掛需求可能隨文件更新,實作前請以目標版本文件和部署平台方案再次核對。

參考資料:

Cloudflare Blog:EmDash 1.0 與外掛 registry 公告

EmDash Docs:EmDash for Astro Developers

EmDash Docs:Querying Content 與 runtime rendering

EmDash Docs:Configure the plugin sandbox

EmDash 1.0 適合 Astro 部落格嗎?導入前檢查表
https://laplusda.com/posts/emdash-1-0-astro-cms-checklist/
作者
Zero
發佈於
2026-09-29
許可協議
CC BY-NC-SA 4.0