はじめに

EmDash(エムダッシュ) は、Cloudflare が2026年4月に公開したオープンソースのCMSです。「WordPressの精神的な後継」をうたい、2026年9月28日に安定版の 1.0 が出ました。

WordPress のセキュリティ問題の大半はプラグインから生まれます。EmDash はそのプラグインを隔離して動かすことを設計の中心に置いています。この記事では、EmDash の仕組みと WordPress との違い、無料で運用できる条件、導入と移行の手順を整理します。後半では、当サイトの運営者が実際に EmDash のサイトを Cloudflare に公開したときに分かった注意点も紹介します。

EmDashで制作したデモサイトのトップページ。縦書きの見出しと、湯気の立つマグカップの写真が並ぶ

内容は2026年10月20日時点の公式ブログ・公式テンプレートと、筆者が EmDash 1.3 で行った検証にもとづきます。

EmDashとは

EmDash は、Cloudflare が開発する TypeScript 製の CMS です。主な特徴は次のとおりです。

  • MITライセンスのオープンソース:WordPress のコードを一切使わずに書き直したため、GPL ではなく MIT ライセンスで公開されています
  • Astro がベース:表示部分はコンテンツサイト向けの Web フレームワーク Astro で作ります
  • 管理画面つき:記事・固定ページの編集、メディアライブラリ、下書き・予約公開、リビジョン、メニュー、タクソノミーなど、WordPress に近い機能をそろえています
  • パスキーで標準ログイン:パスワードを使わないので、漏えいや使い回しの心配がありません
  • AIエージェントから操作できる:CLI、Agent Skills、MCP サーバーを標準で備えています

Cloudflare 自身も2026年8月に、公式ブログを EmDash へ移行しています。

WordPressとの違い:プラグインを隔離して動かす

Cloudflare の発表によると、WordPress のセキュリティ問題の96%はプラグインに由来し、2025年には WordPress のエコシステムで、それまでの2年分を合わせたより多くの深刻度の高い脆弱性が見つかりました。

原因は、WordPress のプラグインに隔離がないことです。プラグインはサイトのデータベースやファイルに直接触れられるため、1つのプラグインの欠陥がサイト全体の乗っ取りにつながります。

EmDash では、プラグインごとに隔離された実行環境を用意します。

WordPress EmDash
プラグインの実行場所 本体と同じプロセス プラグインごとに隔離された環境(Cloudflare では Dynamic Worker)
プラグインが触れる範囲 データベース・ファイル・ネットワークすべて 自分専用のストレージだけ。それ以外は宣言して管理者が承認した権限のみ
ログイン パスワード(二要素認証はプラグインで追加) パスキーが標準
ライセンス GPL MIT
表示の仕組み PHP がリクエストごとに組み立てる Astro。Cloudflare Workers や Node.js で動く

公式の説明では、プラグインは「サイトのコンテンツ、メディア、ユーザー、シークレット、環境変数、ファイルシステム、ネットワークにアクセスできず」、マニフェストで宣言して管理者が承認した能力だけを使えます。1.0 では、配布元の署名を検証する分散型のプラグインレジストリも公開されました。

費用:無料で動かせる条件

EmDash は Cloudflare の Workers・D1(データベース)・R2(ファイル置き場) の上で動くほか、SQLite を使えば一般的な Node.js サーバーでも動きます。

Cloudflare で動かす場合、費用の分かれ目はプラグインを使うかどうかです。

  • プラグインを使わない:Workers の無料プランで運用できます(筆者のデモサイトもこの構成です)
  • プラグインを使う:隔離に使う Worker Loader が Workers の有料プラン(月5ドル〜)でのみ提供されるため、有料プランが必要です

公式テンプレートの設定ファイルにも、プラグインの隔離実行は有料プランで有効にするよう書かれています。会社や店舗の紹介、お知らせ、ブログといった一般的なサイトなら、プラグインなし・ドメイン代だけで運用できます。

導入方法

1. プロジェクトを作る

npm create emdash@latest my-site -- --template cloudflare:marketing

テンプレートは blog(ブログ)、starter、marketing(企業・サービスサイト)、portfolio の4種類です。Cloudflare のダッシュボードにある「Deploy to Cloudflare」ボタンからも作れます。

2. Cloudflare に公開する

npx astro build
npx wrangler deploy

D1 と R2 は初回のデプロイで作られます。

3. 管理画面で初期設定をする

/_emdash/admin を開くと、サイト名・アカウント・パスキーを登録するセットアップウィザードが表示されます。ここでテンプレートのサンプルコンテンツを入れるかどうかも選べます。

WordPressからの移行

WordPress の管理画面から書き出した WXR ファイルを読み込むか、EmDash Exporter プラグインを入れることで、投稿・固定ページ・メディア・カテゴリーを移せます。公式の説明では、コンテンツの移行は数分で終わります。ただし、テーマやショートコードに依存した表示は、Astro 側で作り直す必要があります。

実際に公開して分かった注意点

当サイトの運営者が EmDash 1.3 のサイトを Cloudflare に公開したときに、次の3点でつまずきました。

セットアップは公開直後に済ませる

空のデータベースで最初にセットアップウィザードを終えた人が、管理者になります。 公開した瞬間から、URL を知った第三者や巡回ボットが管理者を取れてしまいます。公式ドキュメントも、公開直後にセットアップを済ませるか、Cloudflare Access で保護するよう勧めています。筆者は、Worker の入口でセットアップ用の API を鍵付きのリクエストにだけ通すようにしてから公開しました。

本番のデータベースはマイグレーションを手で当てる

ローカルでは自動で済むデータベースの準備(マイグレーション)が、Cloudflare の本番では一部しか自動で行われません。残りは「Database migrations are required」というエラー(503)を返して止まるので、デプロイの前に emdash migrate を実行します。誤った環境に当てないよう、対象のデータベースを指紋で指定する仕組みもあります。

日本語フォントのファイル数が多い

日本語の Web フォントは文字の範囲ごとに600以上のファイルに分かれるため、ビルド時のダウンロードが一部失敗することがあります。取得済みのフォントをキャッシュしておくと安定します。

EmDashが向いているサイト・向いていないサイト

向いているサイト

  • 会社・店舗・個人の紹介サイトや、お知らせ・ブログ中心のサイト
  • WordPress のプラグイン更新や脆弱性対応の手間を減らしたいサイト
  • サーバー代をかけずに、表示の速いサイトを持ちたい場合

向いていないサイト

  • 多数のプラグインを組み合わせて機能を作るサイト(プラグインの数は WordPress に比べてまだ少ない)
  • 本格的なネットショップや会員サイト
  • PHP のテーマ資産をそのまま使い続けたい場合

まとめ

  • EmDash は Cloudflare が2026年に公開した MIT ライセンスの CMS で、9月に安定版 1.0 が出た
  • WordPress との最大の違いは、プラグインを隔離して、宣言・承認した権限だけで動かすこと
  • プラグインを使わなければ Cloudflare の無料プランで運用でき、使う場合は月5ドル〜の有料プランが必要
  • WordPress からは WXR ファイルでコンテンツを移せるが、テーマは作り直しになる
  • 公開時は、セットアップを直後に済ませることと、本番のマイグレーションを忘れないことが重要

当サイトの運営者は、EmDash を使ったWebサイトの制作・導入も代行しています。この記事で触れた設定を済ませた状態でお渡しします。詳しくは EmDash導入・Webサイト制作代行 をご覧ください。制作例として、EmDash で作った デモサイト も公開しています。

参考