[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-cloudflare-emdash-wordpress-successor-zh":3,"tags-cloudflare-emdash-wordpress-successor-zh":35,"related-lang-cloudflare-emdash-wordpress-successor-zh":52,"related-posts-cloudflare-emdash-wordpress-successor-zh":56,"series-tools-dbacb0a6-b340-4dbc-a915-4670d1686fee":93},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":23,"translated_content":10,"views":24,"is_premium":25,"created_at":26,"updated_at":26,"cover_image":11,"published_at":27,"rewrite_status":28,"rewrite_error":10,"rewritten_from_id":29,"slug":30,"category":31,"related_article_id":32,"status":33,"google_indexed_at":34,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":25},"dbacb0a6-b340-4dbc-a915-4670d1686fee","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",[13,14,15,16,17,18,19,20,21,22],"Cloudflare","EmDash","WordPress","TypeScript","CMS","serverless","AI coding agents","MIT license","plugin sandbox","Astro","zh",2,false,"2026-04-03T06:30:43.591323+00:00","2026-04-03T06:30:42.299+00:00","done","72fe3454-cad7-446e-903c-012e6e453db8","cloudflare-emdash-wordpress-successor-zh","tools","3ec9b109-7c7c-44b9-9be5-bebc2f69d25c","published","2026-04-07T07:41:10.699+00:00",[36,38,40,42,44,46,48,50],{"name":16,"slug":37},"typescript",{"name":15,"slug":39},"wordpress",{"name":13,"slug":41},"cloudflare",{"name":20,"slug":43},"mit-license",{"name":22,"slug":45},"astro",{"name":21,"slug":47},"plugin-sandbox",{"name":19,"slug":49},"ai-coding-agents",{"name":17,"slug":51},"cms",{"id":32,"slug":53,"title":54,"language":55},"cloudflare-emdash-open-source-wordpress-successor-en","Cloudflare’s EmDash takes aim at WordPress","en",[57,63,69,75,81,87],{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":31},"d058a76f-6548-4135-8970-f3a97f255446","why-gemini-api-pricing-is-cheaper-than-it-looks-zh","為什麼 Gemini API 定價其實比看起來更便宜","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778869845081-j4m7.png","2026-05-15T18:30:25.797639+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":31},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":31},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":76,"slug":77,"title":78,"cover_image":79,"image_url":79,"created_at":80,"category":31},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":82,"slug":83,"title":84,"cover_image":85,"image_url":85,"created_at":86,"category":31},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":88,"slug":89,"title":90,"cover_image":91,"image_url":91,"created_at":92,"category":31},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",[94,99,104,109,114,119,124,129,134,139],{"id":95,"slug":96,"title":97,"created_at":98},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":100,"slug":101,"title":102,"created_at":103},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":105,"slug":106,"title":107,"created_at":108},"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":110,"slug":111,"title":112,"created_at":113},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":115,"slug":116,"title":117,"created_at":118},"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":120,"slug":121,"title":122,"created_at":123},"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":125,"slug":126,"title":127,"created_at":128},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":130,"slug":131,"title":132,"created_at":133},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":135,"slug":136,"title":137,"created_at":138},"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":140,"slug":141,"title":142,"created_at":143},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]