Sik.limited Logo

워드프레스 말고 Cloudflare EmDash 쓰자

EmDash의 핵심은 워드프레스를 TypeScript로 다시 만든 데 있지 않습니다. 플러그인 보안 모델, Astro 기반 테마, Workers 배포 구조로 CMS의 전제를 다시 짠다는 점이 더 중요합니다.

· 5분 읽기

2026년 4월 1일 Cloudflare가 공개한 EmDash 소개 글을 읽고 가장 먼저 든 생각은 이거였어요. 이건 단순히 "워드프레스를 TypeScript로 다시 만들었다"는 이야기가 아닙니다. 더 정확히는, CMS가 플러그인과 테마를 어떻게 신뢰하고, 어디에 배포되고, 어떤 개발 감각 위에서 확장되는지를 처음부터 다시 짜려는 시도에 가깝습니다.

특히 인상적이었던 건.,. Astro를 쓴다, 서버리스다, passkey를 쓴다, x402를 붙였다 같은 요소도 흥미롭지만, 제가 보기에 EmDash의 진짜 차별점은 하나예요. 플러그인을 믿는 방식 자체를 바꿨다는 점입니다. 클라우드플레어 생태계에 모든걸 묶으려는 시도. 1주라도 더 추매해도 될거같습니다. (농담)

워드프레스와 EmDash의 차이, 언어보다 신뢰 모델

워드프레스는 인터넷 출판을 민주화한 거대한 오픈소스 프로젝트입니다. 지금도 수많은 사이트가 돌아가고 있고, 테마와 플러그인 생태계만 놓고 보면 여전히 대체 불가능한 위치가 있어요. 다만 그 구조가 만들어진 전제는 꽤 오래됐습니다.

워드프레스가 태어났을 때는 지금 같은 서버리스 플랫폼도 없었고, 전역 분산 런타임도 없었고, 프론트엔드 개발자들이 Astro나 Next.js 같은 도구를 기본값처럼 고르는 시대도 아니었습니다. PHP 애플리케이션을 서버에 올리고, 플러그인이 같은 실행 환경 안으로 들어와 기능을 확장하는 방식은 그 시대에는 자연스러웠지만, 지금 기준으로 보면 보안과 운영 면에서 꽤 무거운 전제를 안고 있습니다.[1]

EmDash는 여기서 출발점 자체를 바꿉니다. 워드프레스와 비슷한 CMS 기능을 제공하되, 기반 언어는 TypeScript이고, 런타임은 isolate 중심이며, 확장은 권한 기반 샌드박스 위에서 이뤄진다고 선언합니다. 그래서 이 프로젝트의 차이는 단순히 PHP 대 TypeScript가 아니라, "플러그인에게 어디까지 믿고 맡길 것인가"에 대한 답이 완전히 다르다는 데 있습니다.

가장 특별했던 건 플러그인 보안을 기능이 아니라 구조로 푼 점입니다

Cloudflare가 EmDash를 소개하면서 가장 세게 밀고 있는 문제의식은 워드프레스 플러그인 보안입니다. 글에 따르면 워드프레스 사이트 보안 이슈의 96%가 플러그인에서 나오고, 2025년에는 고위험 취약점이 이전 2년을 합친 것보다 더 많이 발견됐다고 합니다.[1]

이 숫자보다 중요한 건 원인 설명이었어요. 워드프레스 플러그인은 PHP 스크립트로 동작하면서 사이트의 데이터베이스와 파일시스템에 직접 접근합니다. 격리가 없기 때문에, 플러그인을 설치한다는 건 사실상 "이 코드가 큰 사고를 안 치길 믿는다"에 가깝습니다. 즉 보안 모델이 기술적 보장보다 시장의 평판과 리뷰, 승인 절차에 더 많이 기대고 있다는 뜻이에요.

EmDash는 이 지점을 완전히 다르게 가져갑니다. 각 플러그인이 Dynamic Worker(최근에 추가됨)라는 격리된 샌드박스에서 돌아가고, manifest에 선언한 capability만 받을 수 있게 합니다. 예를 들어 어떤 플러그인이 콘텐츠를 읽고 이메일을 보내야 한다면 read:content, email:send처럼 필요한 권한만 명시하고, 그 범위를 넘는 행동은 애초에 할 수 없게 설계합니다.[1]

이 구조를 특별하다고 느낀 이유는 "더 안전하다"는 수준의 이야기가 아니기 때문입니다. 더 중요한 건 운영자가 플러그인을 설치하기 전에 무엇을 허용하는지 미리 이해할 수 있다는 점이에요. OAuth 동의 화면처럼 이 플러그인이 어떤 권한을 요구하는지 먼저 보고 판단할 수 있다는 건, CMS 생태계에서 꽤 큰 변화입니다.

이 보안 모델은 결국 마켓플레이스 의존도를 흔듭니다

흥미로웠던 대목 중 하나는 보안 문제와 마켓플레이스 락인을 연결한 부분이었습니다. 워드프레스 플러그인은 권한 범위가 너무 넓고 실행 환경도 깊게 얽혀 있어서, 사용자나 호스팅 플랫폼은 결국 중앙 마켓플레이스의 검수, 평판, 리뷰를 신뢰할 수밖에 없습니다. 그러다 보니 플러그인 유통 구조가 특정 마켓과 라이선스 논리에 더 강하게 묶이게 되죠.

EmDash는 플러그인이 EmDash 본체와 코드를 공유하지 않고, 격리된 샌드박스에서 독립적으로 실행된다고 설명합니다. 그래서 플러그인 작성자는 더 자유로운 라이선스를 택할 수 있고, 운영자는 플러그인이 요구하는 capability만 보고도 어느 정도 보안 결정을 내릴 수 있습니다.

이건 단순히 개발자 경험의 문제가 아니라 생태계 설계의 문제예요. 워드프레스가 "좋은 플러그인을 고르는 시장"에 가까웠다면, EmDash는 "권한 범위가 명확한 플러그인을 조합하는 플랫폼"을 지향하는 것처럼 보였습니다.

테마와 콘텐츠 모델도 워드프레스보다 현대 프론트엔드에 가깝습니다

테마 구조도 인상적이었습니다. EmDash는 Astro 위에서 동작하고, 테마를 만들 때도 Astro 프로젝트처럼 페이지, 레이아웃, 컴포넌트, 스타일, seed file로 구성한다고 설명합니다.

이 차이는 생각보다 커요. 워드프레스 테마는 강력하지만 functions.php를 중심으로 너무 많은 걸 할 수 있고, 그만큼 위험도도 커집니다. 반면 EmDash는 테마가 데이터베이스 작업을 직접 수행할 수 없다고 선을 긋습니다. 즉 테마는 렌더링과 표현에 집중하고, 데이터 조작은 CMS와 플러그인 권한 모델 안에서 처리하도록 나눠놓은 셈입니다.

커스텀 콘텐츠 타입 접근도 비슷합니다. 워드프레스에서는 Post나 Page가 아닌 걸 만들려면 ACF 같은 무거운 플러그인을 끼워 넣는 경우가 많았는데, EmDash는 관리자에서 스키마를 정의해 별도 컬렉션을 만들 수 있다고 설명합니다. 이 부분도 "기존 CMS에 억지로 확장 기능을 더한다"기보다 "애초에 데이터 모델을 분리된 컬렉션으로 설계한다"는 감각에 더 가깝습니다.

Cloudflare에 어떻게 배포하나도 워드프레스와는 감각이 다릅니다

배포 방식도 꽤 상징적입니다. 워드프레스 호스팅을 떠올리면 보통 서버를 준비하고, PHP와 DB를 맞추고, 캐시와 트래픽을 관리하는 그림이 먼저 나옵니다. EmDash는 그 대신 서버리스 플랫폼 위에 올리는 콘텐츠 앱에 더 가까운 모습을 보여줍니다.

기사 기준 EmDash는 Node.js 서버 어디서나 실행할 수 있지만, Cloudflare에서는 Workers와 workerd 기반 isolate 구조를 그대로 활용합니다. 요청이 들어오면 isolate가 뜨고, 요청이 없으면 scale-to-zero로 내려가며, 실제 CPU 시간 기준으로 과금된다고 설명합니다.

이 말은 곧, EmDash를 Cloudflare에 배포한다는 게 단순히 "호스팅한다"보다 "전역 서버리스 런타임 위에 CMS 인스턴스를 올린다"에 가깝다는 뜻입니다. 운영 감각 자체가 다르죠.

실제 시작 방법도 단순합니다.

npm create emdash@latest

로컬에서 이렇게 프로젝트를 만든 뒤 개발을 시작할 수 있고, Cloudflare 대시보드에서는 Deploy 플로우를 통해 바로 자신의 계정에 preview를 올릴 수 있다고 안내합니다. 글에서는 초기 개발자 베타로 Cloudflare 계정에 배포하거나, Node.js 서버에 배포할 수 있다고 설명합니다.

즉 EmDash는 "클라우드플레어 전용 CMS"라고 말하진 않지만, 가장 자연스럽고 설득력 있는 배포 대상은 확실히 Cloudflare Workers 생태계라고 보는 편이 맞아 보여요.

AI 시대의 CMS라는 포지셔닝도 꽤 노골적입니다

또 하나 눈에 띄는 건 EmDash가 AI 에이전트 친화성을 제품 정체성으로 전면에 내세운다는 점입니다. 각 인스턴스가 Agent Skills, CLI, built-in MCP Server를 제공해서, 콘텐츠 이전이나 스키마 관리, 미디어 업로드, 커스텀 블록 작성 같은 작업을 에이전트가 직접 다룰 수 있게 설계했다고 설명합니다.

이 부분은 호불호가 갈릴 수 있어요. 다만 적어도 Cloudflare가 EmDash를 그냥 관리 화면이 있는 CMS로 보지 않고, "사람과 에이전트가 같이 운영하는 콘텐츠 플랫폼"으로 보려 한다는 건 분명합니다. 워드프레스가 웹사이트를 쉽게 여는 도구였다면, EmDash는 AI와 서버리스 시대에 맞는 CMS 운영 환경을 노리는 느낌입니다.


EmDash를 보고 가장 특별하다고 느낀 점은 TypeScript도, Astro도, x402도 아니었습니다. 가장 특별한 건 플러그인을 신뢰하는 방식을 다시 설계했다는 점이었어요.

워드프레스에서는 좋은 생태계가 곧 강점이었지만, 동시에 그 생태계를 믿어야만 하는 구조가 약점이기도 했습니다. EmDash는 이 문제를 "플러그인을 더 열심히 심사하자"가 아니라 "애초에 플러그인이 할 수 있는 행동을 좁히자"로 풀려고 합니다. 저는 이게 기능 추가보다 훨씬 큰 변화라고 봅니다.

정리하면 EmDash는 워드프레스의 후계자라기보다, 워드프레스 이후의 조건에 맞춰 CMS를 다시 짜려는 시도에 더 가깝습니다. 현대 프론트엔드 개발자에게 익숙한 구조, Cloudflare 같은 서버리스 런타임에 자연스러운 배포 방식, 그리고 capability 기반 플러그인 모델까지. 이 셋이 함께 움직인다는 점이 이 프로젝트를 특별하게 보이게 했습니다.


참고 자료

  • Cloudflare Blog, Introducing EmDash — the spiritual successor to WordPress that solves plugin security (Cloudflare)

최신 글