Cloudflare製CMS「EmDash」とは?特徴・WordPressとの違い・基本的な使い方を図解で解説

Cloudflareが公開したAstro・TypeScript基盤のオープンソースCMS「EmDash」の特徴と基本的な使い方を解説するアイキャッチ画像

Web制作やブログ運営の現場で長年デファクトスタンダードとして使われてきたWordPressに対し、米Cloudflare社が「WordPressの精神的後継」として開発・公開したオープンソースの次世代CMS「EmDash(エムダッシュ)」が大きな注目を集めています。

2026年4月のベータ版公開を経て、2026年9月には正式版となる「EmDash 1.0」がリリースされました。管理画面から直感的に記事やメディアを編集できるWordPressの親しみやすさを受け継ぎながら、AstroとTypeScriptをベースにした高速なサーバーレス動作、プラグインの隔離実行による高い安全性、さらにAIエージェント(MCP)との標準連携を備えているのが大きな特徴です。

本記事では、EmDashの仕組みや従来のWordPressとの違いから、ローカル環境での始め方、Cloudflareへの本番デプロイ手順、AI連携やWordPressからの移行方法まで、図解付きで分かりやすく解説します。

EmDash(エムダッシュ)とは?Cloudflareが公開した次世代CMSの全体像

EmDash(エムダッシュ)は、Web高速化やセキュリティ基盤を手がけるCloudflareが、MITライセンスのオープンソース(GitHubリポジトリ:emdash-cms/emdash)として公開しているフルスタックTypeScript製のCMS(コンテンツ管理システム)です。

AstroとTypeScriptによる高速基盤、サンドボックス隔離による安全なプラグイン実行、MCPサーバー標準内蔵の3つの特徴をまとめた図解
EmDashを支える3つの柱:Astroベースの高速な描画基盤、プラグインのサンドボックス隔離、そしてMCPによるAIエージェント標準対応

これまで「表示速度やセキュリティを重視してモダンな技術でサイトを作りたい」と考えた場合、ヘッドレスCMS(ContentfulやmicroCMSなど)とフロントエンドを別々に契約・構築する手法がよく採られてきました。しかし、ヘッドレスCMSは構成が複雑になりやすく、WordPressのように「1つのパッケージで管理画面もプラグインも完結する手軽さ」が失われがちでした。
EmDashは、そのギャップを埋めるためにゼロから再設計されています。

  • Astro × TypeScriptのフルスタック構成:コンテンツ主導のWebサイトを高速に描画するフレームワーク「Astro」を基盤に採用し、システム全体が型安全なTypeScriptで構築されています。
  • サーバーレスと自己ホストの両対応:Cloudflareのエッジ環境(Cloudflare Workers + D1データベース + R2ストレージ)上でサーバーレスに稼働するほか、Node.jsとSQLiteが動く一般的なVPSや自社サーバーでのセルフホストにも対応しています。
  • 自由度の高いMITライセンス:個人ブログから企業のコーポレートサイト、商用Web制作案件まで、ライセンス費用や制約を気にせず幅広く利用できるオープンソース設計です。

補足:名称「EmDash(—)」の由来と同名ツールとの違い

「EmDash(エムダッシュ)」という名前は、英語のタイポグラフィや文章で使われる長い横棒の約物記号「—(Em Dash)」に由来しています。英文においてエムダッシュは、カンマや括弧、コロンの代わりに「文中に補足説明を挿入する」「話題を鮮やかに切り替えて結論を強調する」といった柔軟な役割を担う記号です。

なお、同じく「Emdash」という名称で、複数のAIコーディングエージェントをGit worktree上で並列実行する開発者向けデスクトップツールも存在しますが、Web制作やブログ運営の文脈で「EmDash」と呼ばれる場合は、本記事で解説するCloudflare製のオープンソースCMSを指します。

EmDashとWordPressの違い(セキュリティ・動作環境・AI連携の比較)

EmDashが「WordPressの精神的後継」と呼ばれる理由は、記事(Posts)・固定ページ(Pages)・メディア管理・カテゴリーやタグ・プラグイン拡張といったWordPressでおなじみの運用体験を残しながら、裏側のアーキテクチャを現代の基準で作り直している点にあります。

PHPとMySQLで動く従来のWordPressと、TypeScriptとAstroでサーバーレス稼働するEmDashの構造やセキュリティ面の違いを比較した図解
従来のWordPressとEmDashの比較:常時稼働サーバーとPHPに依存せず、プラグインを隔離実行することで安全性を高めている

プラグインをサンドボックスに隔離してサイト乗っ取りを防ぐ

従来のWordPressにおける最大の悩みは、プラグインに起因するセキュリティリスクでした。WordPressでは、インストールしたすべてのプラグインがサイト本体と同じ権限で動くため、PHPやプラグインに重大な脆弱性が見つかった際、たった1つのプラグインの弱点からデータベース全体やサーバー内のファイルを読み書きされてしまう危険がありました。

これに対しEmDashでは、各プラグインを「分離されたWorkerサンドボックス(隔離環境)」の中で実行します。プラグインはインストール時に「記事データの読み取り(content:read)」「指定した外部APIへの通信」といった権限マニフェスト(Capability Manifest)を明示し、管理者が承認した範囲にしかアクセスできません。ファイルシステムや環境変数を勝手に覗き見ることが構造上できないため、プラグイン追加によるサイト乗っ取りリスクが大幅に抑えられています。

パスキー認証と構造化JSONデータによるモダンな設計

管理画面へのログインには、生体認証やセキュリティキーを利用できる「パスキー(WebAuthn)」が標準サポートされており、総当たり攻撃(ブルートフォースアタック)によるパスワード漏洩を防ぎやすくなっています。
また、記事エディタにはモダンな「TipTap」が採用され、書かれた本文は生のHTML文字列ではなく「構造化されたJSONデータ(Portable Text形式)」としてデータベースに保存されます。これにより、不正なスクリプト混入を防ぎつつ、WebページだけでなくアプリやAIエージェントからも記事データを扱いやすくなっています。

比較項目 従来のWordPress 次世代CMS「EmDash」
開発言語・基盤 PHP(従来型モノリシック構成) TypeScript + Astroフレームワーク
主な動作インフラ レンタルサーバー等(Apache/Nginx + MySQL) Cloudflare(Workers + D1 + R2)または Node.js + SQLite
プラグインの安全性 本体と同一権限で動作(WAF等の防御が必須) サンドボックス隔離 + 事前承認した権限のみ許可
記事データの保存形式 データベース内のHTML文字列 構造化JSON(Portable Text形式)
ログイン認証 ID・パスワード認証(追加プラグインで2段階認証) パスキー(WebAuthn)等を標準サポート
AIエージェント連携 REST APIや外部プラグインの追加設定が必要 リモートMCPサーバーを標準内蔵

EmDashの基本的な使い方(ローカル環境での作成から管理画面の操作まで)

ここからは、実際に自分のパソコン(ローカル環境)でEmDashを立ち上げて記事を書くまでの基本的な使い方を順番に見ていきましょう。パソコンに「Node.js」がインストールされていれば、数分で管理画面まで動かすことができます。

npm create emdashコマンドでのプロジェクト作成、テンプレート選択、ローカル開発サーバー起動、管理画面での執筆までの流れの図解
ローカル環境での始め方:コマンド1つでひな形を作成し、開発サーバーを起動してブラウザから管理画面を開く

コマンドで新規プロジェクトを作成する

ターミナル(WindowsならPowerShell、Macならターミナル)を開き、プロジェクトを作りたいフォルダで以下の作成コマンドを実行します(パッケージマネージャーは npm のほか pnpm も利用可能です)。

npm create emdash@latest
# pnpm を使う場合
pnpm create emdash@latest

コマンドを実行すると、対話形式で初期セットアップの質問が表示されます。用途に合わせて以下のように選択していくだけで必要なファイル一式が自動生成されます。

  • Project name(プロジェクト名):任意のフォルダ名(例:my-emdash-blog)を入力します。
  • Where will you deploy?(デプロイ先):Cloudflare Workers (D1 + R2) または Node.js (SQLite) から選びます。
  • Which template?(スターターテンプレート):ブログ向けの Blog、企業・サービス紹介向けの Marketing、作品集向けの Portfolio、基本構成の Starter、白紙からの Blank から選択できます。
  • Install dependencies?(依存パッケージの導入):Yes を選ぶと自動でインストールまで完了します。

ローカル開発サーバーを起動して管理画面へサインインする

作成されたプロジェクトフォルダへ移動し、開発用サーバーを起動します。

cd my-emdash-blog
npm run dev

起動が完了したら、Webブラウザで以下の2つのURLにアクセスできます。

  • 公開サイトのプレビュー:http://localhost:4321
  • EmDashの管理画面:http://localhost:4321/_emdash/admin

データベースが空の状態で初めて /_emdash/admin を開くと、最初の管理者アカウントの作成画面が表示されます。画面の案内に従って名前やメールアドレスを入力し、パスキー(指紋認証・顔認証・PINなど)を登録すればすぐにダッシュボードへ入れます。
管理画面の左メニューには「Posts(投稿)」「Pages(固定ページ)」「Media(画像・ファイル)」「Taxonomies(カテゴリー・タグ)」「Menus(ナビゲーションメニュー)」などが並んでおり、WordPressを使ったことがある方なら迷わず直感的に記事を作成・公開できます。

日本語サイト向けの設定ファイル調整ポイント

EmDashはAstroのインテグレーション(統合機能)として動作しており、プロジェクト直下の astro.config.mjs で構成を管理します。日本語のWebサイトを運営する場合は、以下のようにフォントスクリプト設定に japanese を含めておくと管理画面やプレビューの表示がスムーズです。

import { defineConfig } from "astro/config";
import emdash from "emdash/astro";

export default defineConfig({
  integrations: [
    emdash({
      fonts: {
        scripts: ["latin", "japanese"],
      },
    }),
  ],
});

Cloudflareへの本番デプロイ手順とAIエージェント(MCP)連携の活用法

ローカル環境でサイトの動作確認ができたら、インターネット上へ公開(デプロイ)してみましょう。あわせて、EmDashならではの強みであるAIエージェント連携(MCP)の使い方も押さえておくと運用効率が大きく向上します。

Cloudflare Workers・D1・R2を使った本番デプロイ構成と、内蔵MCPエンドポイントを通じたClaudeやCursorとのAI連携の仕組みの図解
本番公開とAI連携:Cloudflareのエッジ環境へコマンドで公開でき、内蔵MCPを通じてAIツールから記事運用を行える

Wranglerを使ってCloudflare(Workers・D1・R2)へ公開する

デプロイ先にCloudflareを選んだ場合、実行プログラムは「Cloudflare Workers」、記事や設定のデータはSQLite互換のサーバーレスデータベース「Cloudflare D1」、アップロードした画像はオブジェクトストレージ「Cloudflare R2」にそれぞれ配置されます。Cloudflare公式のCLIツール「Wrangler」を使って以下の手順で公開します。

# Cloudflareアカウントへブラウザ経由でログイン認証する
npx wrangler login

# サイトをビルドしてCloudflareの本番環境へデプロイする
npm run build
npm run deploy

プロジェクト内の設定ファイル(wrangler.jsonc または wrangler.toml)にD1とR2のバインディング情報が紐付けられていれば、デプロイ完了後すぐに世界中のエッジサーバーから高速にページが配信されます。本番公開後も、最初にアクセスして管理者セットアップを済ませることで https://あなたのドメイン/_emdash/admin からブラウザ上で記事更新を行えます。また、個人ブログや小規模なコーポレートサイトであれば、Cloudflareの無料枠の範囲内で維持費を抑えて運用できるのも大きな魅力です。

標準内蔵のMCPサーバーでClaudeやCursorから記事運用を効率化する

EmDashが他のCMSと一線を画しているのが、最初からリモートMCP(Model Context Protocol)サーバー(エンドポイント:/_emdash/api/mcp)を本体に内蔵している点です。さらにプロジェクトのテンプレートには、AIコーディングツール向けの案内ファイル(AGENTS.md など)も同梱されています。

  • 対話形式でのコンテンツ操作:Claude、Claude Code、CursorなどのMCP対応AIツールを自分のEmDashサイトに接続すると、「新製品のお知らせ記事を下書きとして作成して」「メディアライブラリにある画像をこの記事のアイキャッチに設定して」「ナビゲーションメニューに項目を追加して」といった作業を自然言語の指示で実行できます。
  • カスタムスキーマや構成の構築支援:ブログ記事だけでなく、「導入事例」「社員インタビュー」といったカスタム投稿タイプ(スキーマ)の設計・追加もAIエージェントと相談しながら進められます。
  • ロール権限に基づく安全な制限:AIエージェントがMCP経由で行える操作は、接続に使用したユーザーのロール(編集者・寄稿者・管理者など)の権限範囲に厳格に制限されるため、「下書き作成だけをAIに許可し、サイト設定の変更は禁止する」といった安全な運用が可能です。

WordPressからの移行方法と導入前に知っておきたい注意点

現在WordPressでブログやWebサイトを運営している方の中には、「既存のWordPressからEmDashへ乗り換えられるのか」が気になる方も多いはずです。最後に、WordPressからの移行フローと、導入前に冷静に確認しておきたい向き・不向きを整理します。

WordPressからのXMLエクスポートとインポートによる記事移行の手順、およびPHPテーマ非互換などの導入前の注意点を整理した図解
WordPressからの移行と注意点:記事や画像はインポート機能で引き継げる一方、デザインはAstro側での再構築が必要になる

既存WordPressサイトから記事とメディアをインポートする流れ

EmDashには、WordPressで蓄積したコンテンツ資産を引き継ぐためのインポート機能が用意されています。基本的な引っ越しの流れは以下の通りです。

  • WordPressの管理画面(「ツール」>「エクスポート」)からWXR形式のXMLファイルを出力するか、移行補助プラグイン(wp-emdash 等)を用いて移行用データを書き出す。
  • EmDashの管理画面(/_emdash/admin)にインポート権限を持つ管理者でログインし、「Import」メニューからエクスポートしたファイルを読み込ませる。
  • 取り込まれた投稿・固定ページ・カテゴリー・メディア画像を確認し、必要に応じてGoogle AdSenseやアクセス解析タグなどをAstro側のレイアウトファイル(Layout.astro 等)に組み込む。

導入前に確認しておきたい向き・不向き

EmDashは非常に優れたモダンCMSですが、すべてのWebサイトが今すぐWordPressから乗り換えるべきというわけではありません。以下の違いを踏まえて判断するのがおすすめです。

  • WordPressのPHPテーマやプラグインはそのまま使えない:裏側の仕組みがPHPからTypeScript+Astroへ変わるため、SWELLやCocoonといった既存のWordPress用テーマや、Contact Form 7などのWordPress専用プラグインは動作しません。
  • デザインのカスタマイズにはコード編集を伴う場面がある:マウス操作だけで細かな装飾やレイアウトを切り替えられる高機能な国産WordPressテーマと比べると、EmDashで外観を独自に作り込む際にはAstroやTypeScript(あるいはClaude CodeなどのAIコーディングツール)を使う場面が多くなります。
  • 適材適所の選び方:「コードを書かずに豊富な日本語テーマで手軽に運営したい」「既存のWordPressプラグイン資産をそのまま活かしたい」という場合は、WAF(Webアプリケーションファイアウォール)などのセキュリティ対策を施したうえでWordPressを継続するのが現実的です。一方で、「表示速度とセキュリティを高い水準で両立したい」「Cloudflareのサーバーレス基盤で軽快に運用したい」「AIエージェント(MCP)をフル活用して記事制作やサイト開発を効率化したい」という新規プロジェクトには、EmDashが有力な選択肢になります。

まとめ

Cloudflareが公開した次世代オープンソースCMS「EmDash(エムダッシュ)」の特徴やWordPressとの違い、基本的な使い方について解説しました。最後に本記事のポイントを振り返ります。

  • EmDashとは:AstroとTypeScriptをベースにCloudflareが開発したMITライセンスのオープンソースCMS。Cloudflare(Workers・D1・R2)でのサーバーレス運用のほか、Node.js+SQLiteでの自己ホストにも対応している。
  • 高い安全性とモダン設計:プラグインを独立したサンドボックス環境で隔離実行し、許可された権限のみを与える仕組みにより、WordPressで課題となりやすかったプラグイン起因のセキュリティリスクを根本から抑えている。
  • シンプルな始め方:ローカル環境で npm create emdash@latest と npm run dev を実行するだけで起動でき、/_emdash/admin からパスキー認証でログインして直感的に記事や画像を管理できる。
  • AI(MCP)標準連携:本体にMCPサーバー(/_emdash/api/mcp)を内蔵しており、ClaudeやCursorなどのAIツールから自然言語で記事作成やメディア整理、スキーマ管理を行える。

Node.jsが入っているパソコンがあれば、サーバー契約なしでもローカル環境で数分あれば実際の管理画面を体験できます。次世代のCMSがどのような操作感なのか気になっている方は、ぜひ一度手元のターミナルで npm create emdash@latest を実行して、軽快な動作とAI連携のしやすさを試してみてください。

あわせて読みたい(インストール・管理画面操作の実践ガイド)

実際に手元のパソコンへEmDashを導入する事前準備から、対話型コマンドの選び方、管理画面での記事投稿・画像管理、Cloudflareへの本番デプロイ手順までを順番に確認したい方は、「Cloudflare製CMS「EmDash」のインストール手順と基本的な使い方を初心者向けに丁寧に解説」もあわせてご参照ください。


eguchi.netをもっと見る

購読すると最新の投稿がメールで送信されます。