Cloudflare の Emdash CMS を試してみた

はじめに

Cloudflare が WordPress の次を目指す CMS を公開した、というニュースが目に入って気になっていました。Emdash という名前で、Astro 6.0 ベースの TypeScript 製サーバーレス CMS です。MIT ライセンスで公開されていて、先日 v0.1.0 のプレビュー版としてリリースされました。

Cloudflare Workers + D1 + R2 というスタックで動くので、ランニングコストが Cloudflare の無料枠に収まる可能性があるのも魅力的です。今回、どんな感じで操作できるのかを知りたくて触ってみました。

セットアップ

公式の手順に従って npm create emdash@latest を実行し、starter-cloudflare テンプレートを選びました。テンプレートは Blog、Starter、Marketing、Portfolio、Blank の 5 種類に加えて Cloudflare 版も用意されています。用途に合わせて選べるのはありがたいです。プロジェクトの生成自体はスムーズに終わります。

npm create emdash@latest

CMS コア機能

管理画面は /_emdash/admin からアクセスします。ここから記事の作成・編集・削除が一通りできます。

触ってみてすぐ気づいたのですが、管理画面の UI が WordPress にかなり似ています。左サイドバーにメニューが並ぶレイアウト、記事一覧から編集画面への導線など、WordPress ユーザーなら直感的に操作できるはずです。

デザインの自由度

CMS としての機能がわかったところで、次に気になるのはデザインの自由度です。Emdash は Astro ベースなので、テンプレートを書き換えれば見た目は自由にカスタマイズできるはずです。

実際に既存サイトのデザインを Emdash プロジェクトに移植してみたところ、CSS やレイアウトをそのまま持ち込めました。Astro のテンプレートエンジンなので、コンポーネント単位で自由に構成できますし、CSS フレームワークの制約もありません。

Emdash CMS で既存デザインを適用した新着記事ページ

既存サイトのデザインで新着記事が表示されています。CMS が吐き出すデータを Astro テンプレートで自由に整形できるので、デザイン面での制約はほとんど感じませんでした。

まとめ

Emdash CMS を一通り触ってみて感じたことを整理します。

CMS としてのコア機能は問題なく動きます。記事の作成・編集、メディア管理、パスキー認証、予約公開といった基本機能はベータとは思えないほどしっかりしています。デザインの自由度も Astro の恩恵で高く、既存サイトのデザインをそのまま持ち込めました。

登場したてのプレビュー版ということもあり、ヘッドレス CMS と単純に比較するのはフェアではありませんが、現時点では microCMS の方が実用的です。ただし、Cloudflare エコシステムにインフラを寄せていきたい場合などは選択肢になりそうです。

まだ本番投入としては早いと思いますが、情報としては追っておきたいなと思いました。

参考リンク