2026年10月6日更新:READMEの「Status」の節が2026年10月5日(UTC)に「beta preview」から「stable」へ更新されたため、該当する記述を改めました。
WordPressで動く会社のサイトで、プラグインの更新と脆弱性の告知に追われている。制作会社やエンジニアから「EmDashが1.0になったので、次のリニューアルで乗り換えませんか」と提案された。ただ、4月に話題になったときは「プレビュー版」と書かれていて、いまの状態が分からない。
EmDashの概要と4月のプレビュー公開の時点の設計は、EmDashとは?の記事で紹介しました。この記事は、その後の1.0リリースで何が約束されたのかを扱います。プラグインの隔離がどの条件で効くか、Cloudflare以外で動くか、WordPressから何を運べるかを、公式リポジトリの原文と手元のビルドで確かめます。
1.0で約束されたのは「互換性を壊すのはメジャー版だけ」
公式リポジトリ(emdash-cms/emdash)の変更履歴によると、最初の1.x版は1.0.1です。npmの公開記録では2026年9月28日(UTC)に公開され、公式ブログも同じ日付で「安定版(stable)」としてEmDash 1.0を発表しています。変更履歴は次のように書いています。
From this release, breaking changes ship only in a new major version.
0.x系では、0.35から0.36のような更新でも互換性を壊す変更が入りえました。1.x系の間は、1.1.0 のような更新で既存のサイトが壊れない前提で運用できる、というのが1.0の意味です。10月1日には1.1.0が出ており、公開予定を一覧できるカレンダーや、Microsoft Entra IDのアカウントで管理画面に入る機能が加わりました。
注意点が2つあります。npmには emdash@1.0.0 という版もありますが、変更履歴は「0.7のころのコードから誤って公開したもの」として、入れないよう求めています。npm上でも非推奨(deprecated)の印が付いています。もう1つは、1.0への更新で消えた機能があることです。公式の移行ガイド(upgrade-to-v1)は、emdash dev コマンド、Cloudflareのキャッシュ削除用の cloudflareCache()、experimental.registry の設定などの削除を挙げています。0.x系で作ったサイトを1.0へ上げる場合は、この一覧との照合が要ります。
なお、READMEの「Status」の節は、2026年10月5日(UTC)の更新で「stable and ready for production」に改められました。一方、10月6日時点でも、更新手順のドキュメントには1.0より前の版番号の規則が残っています。変更履歴と移行ガイドの記述を優先して読んでください。
プラグインの隔離は「どこで動かすか」で効き方が変わる
EmDashの売りは、プラグインを隔離した環境で動かし、宣言した権限(content:read、email:send など)しか使わせない点です。ただし、公式ドキュメントを読むと、隔離が効くには条件があります。
まず、すべてのプラグインが隔離されるわけではありません。npmから入れて plugins: [] に書く「ネイティブ」のプラグインは、サイトと同じプロセスで動き、ドキュメントも実行環境に「full access」を持つと説明しています。隔離されるのは、レジストリから入れたものと sandboxed: [] に書いたものです。
次に、隔離の実行役(sandbox runner)は、動かす場所で変わります。
| 動かす場所 | 隔離の仕組み | 必要なもの | 強制される上限 |
|---|---|---|---|
| Cloudflare Workers | Dynamic Worker(Worker Loader) | Workers Paidプラン、LOADER バインディング | CPU時間50ms、外部リクエスト10回、実行時間30秒 |
| Node.jsのサーバー | workerd を子プロセスで起動 | @emdash-cms/sandbox-workerd と workerd | 実行時間30秒のみ |
Cloudflareのテンプレートは、このバインディングをコメントアウトした状態で配っています。無料プランのままなら、隔離されたプラグインは動きません。Node.jsでは隔離は効きますが、CPU時間と外部リクエストの回数は制限されません。メモリ128MBの上限は、どちらの環境でもプラグインごとには強制されないと書かれています。
プラグインの入手先も変わりました。0.39.0(2026年9月23日)から、管理画面で探せるのはレジストリ(既定は registry.emdashcms.com)だけになり、従来のマーケットプレイスは非推奨です。レジストリからのインストールでは、ファイルのチェックサムと要求する権限を確かめてから同意の画面を出し、更新で権限が増えるときも改めて同意を求めます。
Cloudflare以外で動くか — Node.jsでのビルドを試した
READMEは「Cloudflareで最もよく動くが、Cloudflareに縛られない」と書いています。Node.jsで動かす場合の公式の条件は、Node.js 22.16以降、データベースはSQLite・libSQL・PostgreSQLのいずれか、メディアはローカルディスクかS3互換のストレージです。SQLiteを使うなら、再起動で消えない永続ディスクが必要です。予約公開などの定期処理は、Node.jsのプロセスが動いている間しか実行されません。
編集部では、2026年10月4日に、Node.js向けのブログテンプレートを手元でビルドしました(Linux、Node v22.22.0、npm 10.9.4)。公式の npm create emdash@latest は、テンプレートの取得先(api.github.com)がこの環境のネットワーク制限で遮断されて失敗しました。そこでテンプレートのリポジトリ(emdash-cms/templates、1.0.1に同期したコミット)を取得し、blog をそのまま使っています。
npm install --no-audit --no-fund # emdash@1.1.0、astro@7.3.5 が入った
npm run build # 終了コード0、[build] Complete!
PORT=4399 node ./dist/server/entry.mjs
/ 200
/posts/ 200
/_emdash/admin 302 → /_emdash/admin/setup
/_emdash/admin/import/wordpress 302 → /_emdash/admin/setup
PHPもCloudflareのアカウントも使わずに、ビルドと起動までは通りました。起動時にはNode.js 22のSQLiteに関する ExperimentalWarning が出ましたが、ドキュメントにも「Node.js 24では出ない」と書かれている警告です。
1点、気になる結果もありました。npm install の途中で、依存パッケージの @emdash-cms/registry-verification が ^22.22.2 || ^24.15.0 || >=26.0.0 を要求するという警告(EBADENGINE)が出ました。ドキュメントの「22.16以降」より厳しい条件です。インストールは完了しましたが、本番のNode.jsは22.22.2以上か24系にそろえておくのが無難です。Node.jsの版の選び方はNode.js 24・26の更新計画の記事で整理しています。
このほか、隔離の実行役の @emdash-cms/sandbox-workerd を追加で入れ、同梱の workerd --version が workerd 2026-10-02 を返すことも確かめました。ただし、隔離したプラグインを実際に入れて動かす検証や、管理画面の初期設定から先の操作はしていません。
WordPressから運べるもの、運べないもの

公式の移行手順(Migrate from WordPress)が示す取り込み方は2つです。
- WXRファイル。 WordPressの「ツール → エクスポート」で書き出したXMLを、EmDashの管理画面に上げます。投稿・固定ページ・カスタム投稿タイプ・カテゴリーやタグが入ります。ただし、カスタムフィールドは分析結果に一覧が出るだけで、任意のキーまでは取り込みません
- EmDash Exporterプラグイン。 WordPress側にプラグインを入れ、移行用のキーを発行します。コメント・メニュー・サイト設定・Advanced Custom Fieldsの値・Yoast SEOやRank Math SEOのタイトルと説明文も運べます
READMEは「WordPress REST API」からの取り込みも挙げています。しかし移行手順は、Exporterなしで URL を入れた場合は公開REST APIを調べて件数を数えるだけで、直接の取り込みはできないと書いています。ソースコード(wordpress-rest.ts)にも「Direct REST API import not implemented. Please upload a WXR export file.」というエラーがありました。
取り込んだ後に作り直すものも決まっています。
- 状態。 公開済みは「公開」になりますが、下書き・レビュー待ち・非公開・予約投稿はすべて「下書き」になります。予約日時は復元されません
- 本文の装飾。 Gutenbergのブロックは、EmDashの形式(Portable Text)に変換されます。ショートコード・ページビルダー・プラグイン独自のブロックは、表示を目で確かめる必要があります
- テーマとプラグイン。 テーマはAstroのページとして作り直します。プラグインも移植が必要で、エージェント向けの手順書(Agent Skills)はありますが、自動で移るわけではありません
- URL。 旧URLを巡回し、変わるものすべてにリダイレクトを用意するよう求めています
乗り換えを検討する価値があるサイト(編集部の提案)
ここまでの公式情報をもとにした、編集部の整理です。
| サイトの状況 | 編集部の提案 |
|---|---|
| ブログやお知らせ中心で、プラグインが少ない | WXRかExporterで運べる範囲が大きい。リニューアルの候補として試す価値がある |
| 会員機能・EC・予約など、プラグインに業務を任せている | 同等の機能がEmDashのレジストリにあるか、移植の費用はいくらかを先に調べる。見つからなければ待つ |
| プラグイン経由の改ざんが一番の心配 | 隔離の効果を得るには、Cloudflareの有料プランかNode.jsとworkerdの構成が前提。ネイティブのプラグインは隔離されない点も確認する |
| 社内のサーバーやAWSで動かしたい | Node.jsで動く。永続ディスク、常時動くプロセス、22.22.2以上のNode.jsを用意できるかを確かめる |
提案を受けたら、制作会社に次の4点を聞くと判断しやすくなります。どの環境で動かし、隔離の実行役を設定するか。今のプラグインをどう置き換えるか。予約投稿・カスタムフィールド・リダイレクトをどう移すか。1.x系の更新を誰がいつ当てるか、です。WordPressの運用体制の見直しという観点では、WordPressの安全性を聞かれたときの答え方も参考になります。
2026年10月4日に、emdash-cms/emdashのリポジトリ(commit 4c5aa72)の変更履歴・README・ドキュメント・ソースコードと、npmレジストリの公開記録を直接開いて照合しました。Node.jsのブログテンプレートのビルドと起動は、編集部の検証環境(Linux、Node v22.22.0、npm 10.9.4)で1回試したものです。Cloudflareへのデプロイ、隔離したプラグインの動作、WordPressの実データの取り込み、性能は確認していません。10月5日に、公式ブログの1.0の告知(9月28日付)、公式ドキュメント(docs.emdashcms.com)のNode.jsのページ、CloudflareのDynamic Workersの料金ページも確認しました。
CMSの乗り換えを含むサイトのリニューアルや、今のWordPressサイトの状態確認は、グリームハブのHP制作・リニューアル相談で承っています。使っているプラグインと更新の体制によって選ぶ構成が変わるため、お問い合わせからご相談ください。
参考資料
- emdash-cms/emdash — packages/core/CHANGELOG.md(1.0.1 / 1.0.1-rc.0 / 1.1.0 / 0.39.0)
- emdash-cms/emdash — README.md
- emdash-cms/emdash — Upgrade to EmDash 1.0(docs/upgrade-to-v1.mdx)
- emdash-cms/emdash — Configure the plugin sandbox(docs/deployment/plugin-sandbox.mdx)
- emdash-cms/emdash — Deploy to Node.js(docs/deployment/nodejs.mdx)
- emdash-cms/emdash — The plugin registry(docs/plugins/registry.mdx)
- emdash-cms/emdash — Plugins overview(docs/plugins/overview.mdx)
- emdash-cms/emdash — Migrate from WordPress(docs/migration/from-wordpress.mdx)
- emdash-cms/emdash — packages/core/src/import/sources/wordpress-rest.ts
- emdash-cms/templates — blog(chore: sync templates from emdash v1.0.1)
- EmDash Blog — EmDash 1.0: an open source CMS for Astro(2026年9月28日)
- Cloudflare Docs — Dynamic Workers pricing
- npm registry — emdash
- npm registry — @emdash-cms/registry-verification









