以前、Cloudflare Pages は WordPress の代わりに使えるのかというブログを書きましたが、予想を超えていくCloudflare。その直後に、Cloudflare は以下のアナウンスをしました。
前回の記事で書いた課題
前回のブログでも書きましたが、WordPress から Cloudflare Pages に移管すると、CMS がなくなってしまいます。
そのため、以下のようなサイトでは、単純に Cloudflare Pages に移管するだけでは運用が難しくなります。
- 大量の記事が残っているサイト
- 複数人でブログやコンテンツを更新しているサイト
- 管理画面から記事を編集する運用に慣れているサイト
- 非エンジニアも記事更新を行うサイト
Cloudflare Pages は非常に強力ですが、WordPress のような CMS 体験をそのまま置き換えるには、別途 CMS の仕組みを考える必要がありました。
EmDash の登場
そこで登場したのが EmDash。何とCMS 付きの WordPress 後継となるオープンソースソリューションとのこと。WordPress の持つ「コンテンツを管理する体験」を残しながら、Cloudflare の開発者プラットフォーム上で動作することを目指しているようです。
ソースコードは GitHub に公開されています。
このブログでは、WordPress関連第二弾として既存の WordPress サイトから EmDash に移管する体験を簡単にまとめてみます。
EmDash を Cloudflare にデプロイする
まずは、GitHub の内容に沿って EmDash を Cloudflare アカウントにデプロイします。
デプロイが完了すると、以下のような管理画面が作られます。
https://[Workers の名前].workers.dev/_emdash/admin
この管理画面から、コンテンツの管理や WordPress からのインポートを行うことができます。
WordPress から移管用ファイルをエクスポートする
次に、以下の Cloudflare Blog の手順に沿って、既存の WordPress から移管用のファイルをエクスポートしておきます。
WordPress 側でエクスポートしたファイルを、EmDash の管理画面からインポートします。
実際に試してみると、投稿、固定ページ、メディアファイルなどは、ほぼ自動でインポートできました。
ここまではかなりスムーズです。
ただし、ここからが本番
しかしながら、少し大変なのはここからです。
当然ですが、WordPress と EmDash ではフロントエンドの仕組みが違います。
そのため、WordPress で使っていたテーマやデザイン要素が、そのまま EmDash 側に引き継がれるわけではありません。
何もしない状態だと、以下のような表示になりました。
オリジナルのサイトとは、程遠いですね ![]()
つまり、コンテンツの移管はかなり楽だが、見た目やサイト全体の体験は別途作り込む必要がある、ということです。
フロントエンドは Astro で構築する
WordPress は、CMS、テーマ、プラグイン、管理画面が一体になった仕組みです。
一方で EmDash は、WordPress 的な CMS 体験を Cloudflare 上で実現しつつ、フロントエンドはよりモダンな Astro で構築することになります。
Claude Code と問答しながらデザインの完全移管を試みましたが、前回の Cloudflare Pages への移管よりは、はるかに時間がかかりました。
まとめ
WordPress から Cloudflare Pages への移管と、WordPress から EmDash への移管の両方を試してみました。
結果作業が楽なのは、Cloudflare Pages にそのままサイトを移してしまう方法だと感じました。つまり、ほぼゼロからバイブコーディング。
一方で、EmDash は フレームワークがあるため、デザインの移管やフロントエンドの調整には若干工数がかかります。
ただし、CMS が必要な場合には EmDash はかなり重宝しそうです。
ちなみに、EmDash の構築コンセプトとして、プラグインセキュリティからの脱却が挙げられています。
以前、以下の記事でも紹介した Dynamic Workers の仕組みを使うことで、よりセキュアなプラグイン運用ができるのもありがたいポイントです。
Cloudflare Pages だけでは CMS がなくなるという課題がありましたが、EmDash の登場によって、WordPress から Cloudflare への移管シナリオが増えたことになります。




