[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-cloudflare-emdash-wordpress-successor-zh":3,"article-related-cloudflare-emdash-wordpress-successor-zh":30,"series-tools-dbacb0a6-b340-4dbc-a915-4670d1686fee":89},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":11,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":11},"dbacb0a6-b340-4dbc-a915-4670d1686fee","cloudflare-emdash-wordpress-successor-zh","Cloudflare EmDash 直球挑戰 WordPr…","\u003Cp>Cloudflare 這次不是只講願景。它丟出一個叫 \u003Ca href=\"https:\u002F\u002Fblog.cloudflare.com\" target=\"_blank\" rel=\"noopener\">EmDash\u003C\u002Fa> 的 CMS。整個專案用 TypeScript 寫，還跑在 serverless \u003Ca href=\"\u002Fnews\u002Fcuda-architecture-sms-cores-memory-zh\">架構\u003C\u002Fa>上。\u003C\u002Fp>\u003Cp>更狠的是，它把插件關進沙箱。不是把權限全開，然後祈禱插件作者手下留情。這套設計很明顯是在對準 \u003Ca href=\"https:\u002F\u002Fwordpress.org\" target=\"_blank\" rel=\"noopener\">WordPress\u003C\u002Fa>。\u003C\u002Fp>\u003Cp>Cloudflare 還說，這個專案是用 \u003Ca href=\"\u002Fnews\u002Fai-pc-build-budget-config-guide-zh\">AI\u003C\u002Fa> coding agents 重建的。原始碼開源，採 \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicense\u002Fmit\" target=\"_blank\" rel=\"noopener\">MIT license\u003C\u002Fa>，放在 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fcloudflare\u002Femdash\" target=\"_blank\" rel=\"noopener\">GitHub\u003C\u002Fa>。講白了，這不是小玩具，是要來碰 CMS 老大哥的。\u003C\u002Fp>\u003Ch2>Cloudflare 到底端出什麼\u003C\u002Fh2>\u003Cp>先講結論。EmDash 不是 WordPress fork。它也不是把 PHP 外皮換掉而已。Cloudflare 想做的是一個新 CMS，骨架直接換成現代前端和邊緣運算的做法。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197862780-dr7p.png\" alt=\"Cloudflare EmDash 直球挑戰 WordPr…\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>它用 \u003Ca href=\"https:\u002F\u002Fastro.build\" target=\"_blank\" rel=\"noopener\">Astro\u003C\u002Fa> 當基礎。這代表它偏向靜態優先，搭配現代化的前端流程。對做過網站的人來說，這跟傳統 WordPress 的共享主機思維差很大。\u003C\u002Fp>\u003Cp>Cloudflare 的說法也很直接。它要保留 CMS 的彈性。它也要砍掉很多老系統的風險。尤其是插件那一塊，這次是重點中的重點。\u003C\u002Fp>\u003Cul>\u003Cli>語言：TypeScript\u003C\u002Fli>\u003Cli>執行環境：serverless\u003C\u002Fli>\u003Cli>框架：Astro\u003C\u002Fli>\u003Cli>授權：MIT\u003C\u002Fli>\u003Cli>原始碼：GitHub\u003C\u002Fli>\u003Cli>插件模型：隔離沙箱\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡最有意思的是插件隔離。WordPress 的插件很方便。問題也很大。很多站出事，不是核心壞掉，是插件出包。\u003C\u002Fp>\u003Cp>EmDash 的做法是把插件放進 isolate。這不是把它們當可信任模組。它們比較像受控訪客。壞掉時，爆炸範圍會小很多。\u003C\u002Fp>\u003Cp>Cloudflare 也明講，它沒有用任何 WordPress 程式碼。這句話很重要。因為它不是沿用舊包袱，而是直接重做一套。\u003C\u002Fp>\u003Ch2>AI coding agents 為何卡進來\u003C\u002Fh2>\u003Cp>很多人看到 AI 就會先翻白眼。我懂。現在太多產品都愛把 AI 掛嘴邊，然後內容空到不行。但 Cloudflare 這次的用法，還真的有點意思。\u003C\u002Fp>\u003Cp>它不是拿 AI 來寫文案。它是拿 AI coding agents 來重建整個 CMS。這種工作很吃重複性，也很吃搬移舊結構。AI 在這裡比較像加速器，不是魔法棒。\u003C\u002Fp>\u003Cp>當然，AI 不會幫你想產品定位。它也不會幫你做安全審查。可是它能把大量樣板碼、遷移碼、骨架碼處理掉。這對大型重寫很有幫助。\u003C\u002Fp>\u003Cblockquote>“The function of good software is to make the complex appear to be simple.” — Grady Booch\u003C\u002Fblockquote>\u003Cp>這句話很適合 EmDash。CMS 看起來像內容管理工具。背後其實牽涉權限、快取、部署、插件、資料模型，還有一堆安全細節。\u003C\u002Fp>\u003Cp>Cloudflare 的做法像是在說：既然要重寫，就別再沿用舊思維。AI 只是工具。真正的重點，是它想把架構一起改掉。\u003C\u002Fp>\u003Cp>我覺得這也反映一個現況。現在很多團隊開始接受 AI 參與工程流程。不是因為它完美，而是因為人力真的不夠用。\u003C\u002Fp>\u003Ch2>EmDash 跟 WordPress 差在哪\u003C\u002Fh2>\u003Cp>WordPress 能活到現在，不是因為它帥。是因為它早就解決了「怎麼快速發文」這件事。它讓非工程師也能上線內容。這點到今天還是很強。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197875126-psv3.png\" alt=\"Cloudflare EmDash 直球挑戰 WordPr…\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>但 WordPress 的強項，也是它的麻煩。插件太自由，生態太大，責任邊界就容易亂。你裝十個插件，有時像在同一間房裡放十個陌生人。\u003C\u002Fp>\u003Cp>EmDash 想保留 CMS 的便利，但換掉底層規則。它想要的是現代化、可部署、可隔離的內容系統。這個方向很明確。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\" target=\"_blank\" rel=\"noopener\">WordPress\u003C\u002Fa> 以 PHP 為核心，EmDash 以 TypeScript 為核心。\u003C\u002Fli>\u003Cli>WordPress 插件常共享應用權限，EmDash 插件跑在 isolate 沙箱。\u003C\u002Fli>\u003Cli>WordPress 背負大量相容性包袱，EmDash 從乾淨程式碼開始。\u003C\u002Fli>\u003Cli>WordPress 常見於傳統主機，EmDash 直接對準 Cloudflare 的 serverless 環境。\u003C\u002Fli>\u003Cli>WordPress 生態龐大，EmDash 還在長期養成階段。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果只看安全，EmDash 的敘事很漂亮。因為它把風險切小了。插件壞掉，不一定拖垮整站。這對站長來說，真的很有感。\u003C\u002Fp>\u003Cp>但如果看生態，WordPress 還是很難打。它有主題、插件、教學、外掛市場、主機商支援，還有一大票熟手工程師。EmDash 要追，得先補很多基礎建設。\u003C\u002Fp>\u003Cp>說白了，EmDash 比較像新世代 CMS 原型。WordPress 則是已經跑了很多年的老系統。兩者不是同一個起跑線。\u003C\u002Fp>\u003Ch2>這對開發者代表什麼\u003C\u002Fh2>\u003Cp>對台灣開發者來說，EmDash 值得看，不只是因為 Cloudflare 名氣大。它其實在回答一個老問題：CMS 能不能像現代軟體一樣設計？\u003C\u002Fp>\u003Cp>很多人做網站，還停在「裝套件、改主題、上資料庫」那種思路。可是真正上線後，最常出問題的地方，常常不是內容本身，而是相依套件和部署流程。\u003C\u002Fp>\u003Cp>如果 EmDash 真的把插件系統、部署流程、沙箱隔離做順，開發者會少掉很多髒活。尤其是那些想做內容平台、文件站、內部知識庫的團隊。\u003C\u002Fp>\u003Cp>但也別太快高潮。CMS 不是只有技術。它還有使用者、編輯流程、遷移工具、SEO、權限管理，還有一堆實際營運問題。只要其中一項卡住，採用率就會掉。\u003C\u002Fp>\u003Cp>Cloudflare 目前最大的優勢，是它本來就懂邊緣網路和基礎設施。它不是從零開始碰\u003Ca href=\"\u002Fnews\u002Falibaba-risc-v-ai-cpu-server-chips-zh\">伺服器\u003C\u002Fa>。這讓 EmDash 的 serverless 方向有機會做得更順。\u003C\u002Fp>\u003Cp>不過，這也可能變成限制。若 EmDash 太綁 Cloudflare 自家環境，開發者會開始問：那我為什麼不直接用別的 headless CMS？這問題很現實。\u003C\u002Fp>\u003Ch2>跟其他 CMS 比，差異在哪\u003C\u002Fh2>\u003Cp>如果把 EmDash 放進 CMS 戰場，它不是唯一的新選項。現在很多團隊早就改用 headless CMS、靜態站生成器，或直接自己寫內容後台。\u003C\u002Fp>\u003Cp>像 \u003Ca href=\"https:\u002F\u002Fstrapi.io\" target=\"_blank\" rel=\"noopener\">Strapi\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.sanity.io\" target=\"_blank\" rel=\"noopener\">Sanity\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fghost.org\" target=\"_blank\" rel=\"noopener\">Ghost\u003C\u002Fa>，都在不同方向解決內容管理問題。有人偏 API，有人偏編輯體驗，有人偏出版流程。\u003C\u002Fp>\u003Cp>EmDash 的差異不在「有沒有 CMS 功能」。差異在它把安全邊界拉得更明確。插件不是同層權限。執行環境也不是傳統主機那套。\u003C\u002Fp>\u003Cul>\u003Cli>WordPress：生態最大，但插件風險高。\u003C\u002Fli>\u003Cli>Ghost：內容出版體驗好，但擴充面較窄。\u003C\u002Fli>\u003Cli>Strapi：API-first，很適合前後端分離。\u003C\u002Fli>\u003Cli>Sanity：協作和內容模型彈性強。\u003C\u002Fli>\u003Cli>EmDash：主打 TypeScript、serverless、沙箱插件。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果看數據面，WordPress 仍然是網站世界的巨人。很多公開統計都把它放在內容管理系統第一名。這不是一年兩年能追上的差距。\u003C\u002Fp>\u003Cp>但新系統有機會吃到兩種需求。第一種是重視安全的團隊。第二種是本來就用現代 JS 技術棧的團隊。這兩群人，對 EmDash 的接受度可能會高一些。\u003C\u002Fp>\u003Cp>我覺得最關鍵的不是功能清單，而是遷移成本。只要遷移文件寫得爛，再好的架構都沒用。這點很多新工具都死過。\u003C\u002Fp>\u003Ch2>這波其實是 CMS 思維在換代\u003C\u002Fh2>\u003Cp>EmDash 這種東西，表面上是新 CMS。實際上，它在反映一個更大的變化。網站不再只看「能不能發文」。大家更在意部署速度、權限切分、供應鏈安全，還有維運成本。\u003C\u002Fp>\u003Cp>以前很多產品只要能跑就好。現在不行。你一個插件出問題，可能就讓整站掛掉。你一個依賴套件有漏洞，可能就變成資安事故。\u003C\u002Fp>\u003Cp>所以 Cloudflare 才會把沙箱、serverless、TypeScript 一起端上來。這三個東西放在一起，代表它想把 CMS 當成現代軟體工程問題來處理。\u003C\u002Fp>\u003Cp>這也解釋了為什麼它會找 AI coding agents 幫忙。因為這種重建，不只是寫功能。它還是在重寫一套開發與部署哲學。\u003C\u002Fp>\u003Cp>對台灣團隊來說，這個方向很實際。很多公司已經不想再養一堆脆弱外掛。大家更想要可控、可部署、可觀測的系統。EmDash 剛好踩在這條線上。\u003C\u002Fp>\u003Cp>但我也不會把它講得太神。CMS 的世界很殘酷。使用者只在乎能不能改字、能不能發圖、能不能穩定上線。技術再漂亮，最後還是要回到這些基本題。\u003C\u002Fp>\u003Ch2>接下來我會看什麼\u003C\u002Fh2>\u003Cp>我會先看兩件事。第一，插件生態會不會長出來。第二，文件和遷移工具會不會夠完整。這兩個東西，決定它是實戰工具，還是 demo 很帥的專案。\u003C\u002Fp>\u003Cp>如果 Cloudflare 真的能把安全和易用放在一起，EmDash 會很有戲。尤其是對那些想避開 WordPress 老包袱，又不想自己從零造輪子的團隊。\u003C\u002Fp>\u003Cp>但如果它太綁 Cloudflare 自家生態，或是第三方擴充做不起來，那它大概就會停在圈內熱議。這種事我們看太多了。\u003C\u002Fp>\u003Cp>我的預測很簡單：接下來 6 到 12 個月，EmDash 的關鍵不是功能數量，而是有多少真實團隊願意試跑。你如果是前端或平台工程師，這案子值得追。你如果是站長，也可以先觀察它的遷移故事。\u003C\u002Fp>\u003Cp>問題只剩一個：如果今天重新設計 WordPress，你會想要一個更自由的插件系統，還是一個更安全的沙箱模型？EmDash 已經先把答案寫出來了。\u003C\u002Fp>","Cloudflare 推出 EmDash，主打 TypeScript、serverless、MIT 授權與插件沙箱。它想重做 CMS 安全模型，也把 WordPress 的老問題攤開來談。","www.phoronix.com","https:\u002F\u002Fwww.phoronix.com\u002Fnews\u002FCloudflare-EmDash",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775197862780-dr7p.png","tools","zh","3ec9b109-7c7c-44b9-9be5-bebc2f69d25c",[17,18,19,20,21,22,23,24,25,26],"Cloudflare","EmDash","WordPress","TypeScript","CMS","serverless","AI coding agents","MIT license","plugin sandbox","Astro",3,"2026-04-03T06:30:43.591323+00:00","2026-04-03T06:30:42.299+00:00",{"tags":31,"relatedLang":48,"relatedPosts":52},[32,34,36,38,40,42,44,46],{"name":20,"slug":33},"typescript",{"name":19,"slug":35},"wordpress",{"name":17,"slug":37},"cloudflare",{"name":24,"slug":39},"mit-license",{"name":26,"slug":41},"astro",{"name":25,"slug":43},"plugin-sandbox",{"name":23,"slug":45},"ai-coding-agents",{"name":21,"slug":47},"cms",{"id":15,"slug":49,"title":50,"language":51},"cloudflare-emdash-open-source-wordpress-successor-en","Cloudflare’s EmDash takes aim at WordPress","en",[53,59,65,71,77,83],{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":13},"1a92ac0a-75ea-4877-874d-4a309cd0085b","nvidia-research-gpu-template-zh","NVIDIA 研究頁把 GPU 資源變模板","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780567412863-e8oq.png","2026-06-04T10:02:58.043845+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":13},"3ead09ec-5656-4165-9bb0-f602add3c409","qdrant-filter-first-rag-design-decoded-zh","Qdrant 讓 RAG 先過濾再找相似","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780566519640-bdds.png","2026-06-04T09:47:59.450347+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":13},"7b5e6965-307e-4492-bf65-d922cd7818ad","anthropic-code-review-tool-ai-generated-code-zh","Anthropic 讓 AI 程式變可審","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780563813320-5wc7.png","2026-06-04T09:02:56.999212+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":13},"bef47dbc-b0b4-439e-bae9-abe9473a321c","wei-shen-me-tether-ba-ben-di-ai-ji-yi-tui-jin-ri-chang-zhuan-zh","為什麼 Tether 把本地 AI 記憶推進日常裝置是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780542170805-opi6.png","2026-06-04T03:02:19.599329+00:00",{"id":78,"slug":79,"title":80,"cover_image":81,"image_url":81,"created_at":82,"category":13},"d3ec03a8-a805-4a21-9826-72a74a72b625","databricks-model-serving-llm-deploy-guide-zh","Databricks Model Serving 讓 LLM 部署變簡單","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525998117-7ur8.png","2026-06-03T22:32:51.005996+00:00",{"id":84,"slug":85,"title":86,"cover_image":87,"image_url":87,"created_at":88,"category":13},"4dd225a8-bf6c-4768-a486-a27956c7033d","opencode-digitalocean-model-freedom-zh","OpenCode+DigitalOcean 讓你切換模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525116428-1q7g.png","2026-06-03T22:18:06.969758+00:00",[90,95,100,105,110,115,120,125,130,135],{"id":91,"slug":92,"title":93,"created_at":94},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00",{"id":136,"slug":137,"title":138,"created_at":139},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]