Cloudflare запустила EmDash — open-source CMS на TypeScript, которая решает главную проблему WordPress

Cloudflare представила EmDash v0.1.0 — CMS нового поколения, где каждый плагин работает в изолированной песочнице и декларирует разрешения. Разбираем, как это устроено и стоит ли мигрировать.

Обложка: Cloudflare запустила EmDash — open-source CMS на TypeScript, которая решает главную проблему WordPress

Если вы хоть раз обновляли WordPress-плагин и молились, чтобы сайт не упал — Cloudflare сделала кое-что для вас.

EmDash — это новая open-source CMS (система управления контентом) на TypeScript от Cloudflare, которую компания называет «духовным наследником WordPress». Главная идея: плагины работают в изолированных песочницах и не могут навредить сайту, даже если содержат уязвимости.

Ключевые выводы
  • Cloudflare выпустила EmDash v0.1.0 — open-source CMS на TypeScript с MIT-лицензией
  • Каждый плагин запускается в изолированной песочнице (Dynamic Workers) и декларирует нужные разрешения в манифесте
  • 96% уязвимостей WordPress-сайтов приходится на плагины — EmDash решает эту проблему архитектурно
  • Под капотом — Astro, serverless-архитектура, Portable Text вместо HTML, встроенный MCP-сервер для ИИ-агентов
  • Проект создан за 2 месяца с помощью ИИ-агентов, доступен на GitHub (3200+ звёзд за сутки)

WordPress исполнится 23 года в этом году (основан в 2003 году). Платформа обслуживает более 40% всех сайтов в интернете, но её архитектура родом из эпохи, когда AWS EC2 ещё не существовал. Плагинная система WordPress — главное преимущество и главная боль одновременно.

Почему безопасность плагинов WordPress — нерешаемая проблема

В WordPress плагин — это PHP-скрипт, который встраивается напрямую в ядро и получает полный доступ к базе данных и файловой системе. Нет изоляции, нет ограничений. Установить плагин — значит полностью ему довериться.

Статистика Wordfence и других ИБ-компаний неутешительна:

  • 96% уязвимостей WordPress-сайтов происходят из плагинов
  • В 2025 году нашли больше критических уязвимостей в экосистеме WordPress, чем за два предыдущих года вместе
  • Очередь ревью в маркетплейсе WordPress.org — 800+ плагинов, ожидание — минимум 2 недели

WordPress не может решить эту проблему, не переписав архитектуру с нуля. Cloudflare решила это сделать.

Как EmDash изолирует плагины

В EmDash каждый плагин запускается в собственном изолированном воркере (Dynamic Worker — легковесная v8-песочница, запускающаяся за миллисекунды). Вместо полного доступа ко всему, плагин декларирует в манифесте, какие возможности ему нужны:

			import { definePlugin } from "emdash";

export default () =>
  definePlugin({
    id: "notify-on-publish",
    version: "1.0.0",
    capabilities: ["read:content", "email:send"],
    hooks: {
      "content:afterSave": async (event, ctx) => {
        if (event.content.status !== "published") return;
        await ctx.email.send({
          to: "editors@example.com",
          subject: `New post: ${event.content.title}`,
        });
      },
    },
  });
		

Этот плагин запрашивает ровно два разрешения: чтение контента и отправку email. Ничего другого он сделать не может — ни обратиться к внешнему серверу, ни прочитать файловую систему, ни получить доступ к базе данных напрямую.

Модель напоминает OAuth: при установке плагина вы видите, какие именно разрешения он запрашивает, и принимаете осознанное решение. Администратор может задать политики — какие capabilities допустимы для каких ролей.

Архитектура и стек

EmDash построен на современном стеке:

  • TypeScript — весь код, включая плагины и темы
  • Astro — фреймворк для контентных сайтов, рендеринг тем
  • Portable Text — структурированный JSON вместо HTML, контент не привязан к DOM
  • Serverless — масштабируется до нуля, работает на Cloudflare Workers или любом Node.js-сервере
  • Passkeys — аутентификация без паролей по умолчанию (WebAuthn)
  • MIT-лицензия — без ограничений GPL, плагины могут иметь любую лицензию

Хранение и совместимость

На Cloudflare EmDash использует D1 (база данных), R2 (файлы), Workers (вычисления). Но абстракции портируемы: можно запустить на SQLite, PostgreSQL, AWS S3 или локальном файловом хранилище. Команда для развёртывания:

			npm create emdash@latest
		

ИИ-нативная CMS: MCP, CLI, Agent Skills

EmDash спроектирован для работы с ИИ-агентами:

  • Встроенный MCP-сервер — Claude, ChatGPT и другие ИИ-инструменты могут управлять сайтом напрямую через Model Context Protocol
  • Agent Skills — файлы-инструкции для ИИ-агентов: как писать плагины, портировать темы с WordPress, работать со схемами контента
  • CLI — программное управление контентом, медиа, схемами

По сути, рутинную работу — миграцию контента, создание плагинов, адаптацию тем — можно поручить ИИ-агенту, и EmDash даст ему весь необходимый контекст.

Встроенная монетизация через x402

Каждый сайт на EmDash поддерживает стандарт x402 — нативные интернет-платежи. Клиент (например, ИИ-агент) отправляет HTTP-запрос, получает ответ 402 Payment Required и оплачивает доступ к контенту на лету. Настроить монетизацию можно без единой строчки кода — указать, какой контент платный, и привязать кошелёк.

Миграция с WordPress

EmDash поддерживает импорт существующих WordPress-сайтов:

  1. Экспорт WXR-файла (WordPress eXtended RSS) из WordPress-админки
  2. Или установка плагина EmDash Exporter, который создаёт защищённый endpoint для миграции
  3. Автоматический перенос постов, страниц, медиафайлов и таксономий

Кастомные типы контента (которые в WordPress требуют Advanced Custom Fields) в EmDash задаются через визуальный конструктор схем в админке.

Что стоит учесть

EmDash находится в статусе бета-превью (v0.1.0). Несколько моментов:

  • Проект молодой — 62 коммита, 4 контрибьютора, 34 релиза
  • Песочница для плагинов через Dynamic Workers требует платного аккаунта Cloudflare (от $5/мес), но EmDash запускается и без неё — плагины будут работать в safe mode без изоляции
  • Экосистема плагинов и тем ещё не сформировалась — на старте доступны формы, встраивания, SEO, аудит-лог
  • Привязка к инфраструктуре Cloudflare — можно запустить на Node.js, но максимальную производительность даёт именно Cloudflare
Часто задаваемые вопросы
1
Что такое EmDash?

EmDash — это open-source CMS на TypeScript от Cloudflare, построенная на фреймворке Astro. Позиционируется как «духовный наследник WordPress» с фокусом на безопасность плагинов, serverless-архитектуру и интеграцию с ИИ-агентами. Лицензия MIT.

2
Чем EmDash отличается от WordPress?

Главное отличие — архитектура плагинов. В WordPress плагин имеет полный доступ к БД и файлам. В EmDash плагин запускается в изолированной песочнице и может делать только то, что явно задекларировал в манифесте. Кроме того, EmDash написан на TypeScript (а не PHP), использует serverless-архитектуру и хранит контент в структурированном JSON (Portable Text) вместо HTML.

3
Можно ли перенести сайт с WordPress на EmDash?

Да. EmDash поддерживает импорт через WXR-экспорт или специальный плагин EmDash Exporter. Переносятся посты, страницы, медиафайлы и таксономии. Кастомные типы контента можно пересоздать через визуальный конструктор схем.

4
EmDash работает только на Cloudflare?

Нет. EmDash можно запустить на любом Node.js-сервере с SQLite. Однако на Cloudflare доступны дополнительные возможности: изолированные песочницы для плагинов (Dynamic Workers), масштабирование до нуля, глобальная CDN. Платный аккаунт (от $5/мес) нужен для песочницы плагинов.

5
Что за x402 и зачем он в CMS?

x402 — открытый стандарт нативных интернет-платежей. Позволяет любому клиенту (включая ИИ-агентов) оплатить доступ к контенту через HTTP 402 Payment Required. В EmDash монетизация контента настраивается без кода — достаточно указать платный контент и привязать кошелёк.

Выводы

WordPress — триумф open source, который дал возможность публиковаться миллионам. Но экосистеме нужен вариант, который даёт ту же свободу и доступность, решая при этом проблемы, которые WordPress не может решить.
Matt Taylor и Matt KaneИнженеры Cloudflare, авторы EmDash

EmDash — амбициозная заявка Cloudflare на рынок CMS. За 24 часа после анонса проект набрал более 3200 звёзд на GitHub и 600+ баллов на Hacker News. Продакшн-готовности пока нет — это бета. Но идея изолированных плагинов с декларативными разрешениями решает реальную проблему, которая мучает WordPress-экосистему десятилетиями.

Попробовать EmDash можно в онлайн-песочнице или развернуть локально через CLI.