EmDash は Astro ネイティブの CMS で、従来型 CMS のパターンと現代的な Web 開発を組み合わせます。コンテンツ編集 UI、Astro フレームワークとの統合、柔軟なデプロイオプションを備えています。
EmDash の違い
Astro ネイティブの設計
EmDash は汎用 CMS を流用したのではなく、Astro 向けに構築されています。コンテンツはサイトと同じデプロイに置かれ、Astro の Live Content Collections 経由で問い合わせます。別サービスや API の往復、Webhook 同期は不要です。
馴染みのあるコンテンツモデル
WordPress を使ったことがあれば、EmDash の概念は馴染み深いでしょう。コレクション(投稿タイプに相当)、タクソノミー、メニュー、ウィジェット領域、メディアライブラリ。考え方は引き継がれ、実装はモダンなツールチェーンです。
フレームワーク統合
EmDash は Astro のために設計されています。密な統合により、型安全なクエリ、コンポーネント単位のキャッシュ、統合プレビューが可能です。
主な機能
単一デプロイ
コンテンツとフロントエンドを一緒にデプロイ。1 つのコードベース、1 つのデプロイ、1 つの管理対象。
型安全
スキーマはデータベースに。TypeScript 型は DB からテンプレートまで、オートコンプリート込みで流れる。
ライブ更新
Astro の Live Content Collections 上に構築。再ビルドなしでコンテンツ変更が即反映。
クラウドポータブル
Cloudflare Workers と D1・R2 で動作し、Node.js、SQLite、S3 互換ストレージでも利用可能。
比較
CMS のアプローチは用途によって異なります。
| 観点 | 従来型 CMS | ヘッドレス CMS | EmDash |
|---|---|---|---|
| アーキテクチャ | モノリシック | 分離 | Astro と統合 |
| コンテンツ編集 | 組み込み管理 | 組み込み管理 | 組み込み管理 |
| フロントエンド | テーマ・テンプレート | 持ち込み | Astro コンポーネント |
| デプロイ | 単一サーバー | CMS + フロント | 単一デプロイ |
| 型安全 | ランタイム | API 型 | フル TypeScript |
| コンテンツ更新 | 即時 | Webhook / 再ビルド | 即時(SSR) |
| プラグインモデル | 同一プロセス | API 拡張 | フック付きサンドボックス |
Cloudflare へのデプロイ
EmDash は SQLite と S3 互換ストレージがあればどのプラットフォームでも動きます。Cloudflare 固有の機能もサポートします。
- D1 — エッジの SQLite と自動レプリケーション
- R2 — エグレス料なしの S3 互換ストレージ
- Workers — グローバル展開と高速コールドスタート
プラグイン移行
EmDash は WordPress プラグイン機能の移行を支援するツールを提供します。
- 概念マッピング — WordPress のフック・フィルター・API を EmDash 相当に対応付け
- 移行ガイド — 特定パターンの移植手順
- AI 支援ポート — WordPress コードから EmDash プラグインを生成しやすいドキュメント構造
複雑なプラグインは依然として人間のレビューが必要ですが、簡単なものではガイドが工数を削ります。
向いているケース
EmDash が向くケース:
- CMS が必要な新規 Astro プロジェクト
- モダンなツールチェーンを望む WordPress 移行
- 編集者がコードに触れないべきサイト
- Cloudflare へのデプロイ
- 型安全性と開発者体験が重要なサイト
向かない可能性があるケース:
- Astro 以外のプロジェクト(強く Astro に結合)
- 大規模 EC(WooCommerce 相当は未整備)
- 満足している既存ヘッドレス構成
- WordPress 固有プラグインエコシステムが必須
はじめる
クイックスタート
5 分未満で最初のサイトを作成。
移行ガイド
コンテンツインポートと概念マッピングでWordPress から移行。