※本記事はアフィリエイト広告(PR)を含みます。
EmDash(エムダッシュ)は、Astroというフレームワークで作られた新しいCMS(ブログやホームページを管理画面から更新できる仕組み)です。Cloudflareの上で動かせるので、サーバーを借りなくても、無料枠の範囲で自分のサイトを公開できます。
この記事では、WEB制作が初めての方でも迷わないように、独自ドメインの取得から、Cloudflareへの公開、管理画面の初期設定までを順番に説明します。ゴールは「自分のドメイン(例:example.com)でEmDashのサイトが表示され、記事を投稿できる状態」です。
サイトの公開ができたら、続けて【フォーム編】お問い合わせフォームとResendでメール送信で、お問い合わせフォームを設置する方法も紹介しています。

EmDashとは
EmDashは、記事やページを管理画面から編集できるCMSです。WordPressと同じように「管理画面で書いて、公開ボタンを押す」という使い方ができますが、仕組みは大きく違います。
- サーバーがいらない:CloudflareのWorkersという仕組みの上で動くため、レンタルサーバーの契約が不要です
- 表示が速い:世界中にあるCloudflareの拠点からページが配信されます
- ログインはパスキー:パスワードではなく、Touch IDやWindows Helloなどの生体認証でログインします
- データの保存先もCloudflare:記事などのデータはD1(データベース)、画像はR2(ファイル置き場)に保存されます
WordPressと比べると、プラグインやテーマの数はまだ少なく、デザインの調整にはHTMLやCSSの知識が少し必要です。その代わり、サーバーの管理やセキュリティ更新の手間がほとんどかかりません。
全体の構成
最初に、これから作るサイトの全体像を見ておきましょう。

- 独自ドメイン(Xserverドメインで取得):サイトの「住所」です
- Cloudflare DNS:ドメインにアクセスした人を、正しい場所へ案内する係です
- Cloudflare Workers:EmDashのプログラムが動く場所です
- D1:記事やサイト設定を保存するデータベースです
- R2:アップロードした画像を保存する場所です
ドメインはXserverドメインで取得し、管理(DNS)はCloudflareに任せる、という組み合わせにします。
用意するもの・かかる費用
- パソコン:Mac・Windowsのどちらでも大丈夫です
- Node.js 22以上:EmDashを動かすためのソフトです(後で確認方法を説明します)
- Cloudflareアカウント:無料で作れます
- 独自ドメイン:Xserverドメインで取得します。.comなら取得・更新とも年1,721円です(2026年4月時点の公式情報。最新の価格は公式サイトで確認してください)
- クレジットカード:画像保存用のR2を有効にするときに登録が必要です。無料枠の範囲なら請求はありません
Cloudflare Workersの無料プランでは、1日10万リクエストまで使えます。個人ブログや小さな会社のサイトなら、ほとんどの場合は無料枠に収まります。つまり、最低限かかる費用はドメイン代だけです。
Step 1 Xserverドメインで独自ドメインを取得する
まずはサイトの住所になる独自ドメインを取得します。この記事では、次の理由からXserverドメインをおすすめします。
- 画面もサポートも日本語なので、初めてでも迷いにくい
- .comなどの主要なドメインが、取得時だけでなく更新時も手頃な価格
- 後の手順で必要になる「ネームサーバーの変更」が、管理画面から簡単にできる
Xserverドメインの公式サイトで、使いたいドメインが空いているか調べる
手順は次のとおりです。
- 公式サイトの検索窓に、使いたいドメイン名(例:my-site)を入力して検索します
- 空いている種類(.com、.jpなど)にチェックを入れて、お申し込み画面へ進みます
- Xserverアカウントを作成(すでにある方はログイン)します
- 支払い方法を選んで申し込みを完了します
申し込み後、Xserverアカウントの「ドメイン」のメニューに、取得したドメインが表示されていれば完了です。
Step 2 Cloudflareのアカウントを作り、R2を有効にする
次に、サイトを動かすCloudflareのアカウントを作ります。
- Cloudflareのダッシュボードを開き、メールアドレスとパスワードを入力して登録します
- 届いた確認メールのリンクを開いて、メールアドレスを認証します
- ダッシュボードの左メニューから「R2 Object Storage」を開きます
- 案内に沿って支払い情報(クレジットカード)を登録し、R2を有効にします
R2は画像を保存するために使います。毎月10GBまでの保存は無料枠に含まれるので、ブログの画像程度なら費用はかかりません。
Step 3 パソコンでEmDashのサイトを作る
ここからはパソコンの「ターミナル」(Windowsの場合は「PowerShell」)を使います。黒い画面に文字を入力して操作するアプリです。
Node.jsのバージョンを確認する
ターミナルを開いて、次のコマンドを入力し、Enterキーを押します。
node -v「v22.〇〇.〇」のように22以上の数字が表示されればOKです。「command not found」と出る場合や、数字が22より小さい場合は、Node.jsの公式サイトからLTS版(推奨版)をダウンロードしてインストールしてください。
EmDashのプロジェクトを作る
次のコマンドを入力します。
npm create emdash@latestいくつか質問されるので、次のように答えます。矢印キーで選んでEnterキーで決定します。
- プロジェクト名:好きな名前(例:my-site)。同じ名前のフォルダが作られます
- デプロイ先:Cloudflare(Workers)を選びます
- テンプレート:今回はシンプルな「Starter」を選びます。ブログ向けなどデザイン済みのテンプレートもあります
- パッケージマネージャー:分からなければnpmを選びます
- 依存関係をインストールするか:Yesを選びます
パソコン上で動かしてみる
作成したフォルダに移動して、開発用のサーバーを起動します。
cd my-site
npm run devブラウザで http://localhost:4321 を開くと、サイトが表示されます。管理画面は http://localhost:4321/_emdash/admin です。ここで作った記事はパソコンの中だけのデータなので、自由に試してみてください。終了するときは、ターミナルでControlキーとCキーを同時に押します。
Step 4 Cloudflareに公開する(最初のデプロイ)
パソコンで作ったサイトを、Cloudflareにアップロードします。この作業を「デプロイ」と呼びます。
まず、ターミナルからCloudflareにログインします。ブラウザが開くので、「Allow(許可)」を押してください。
npx wrangler login続けて、サイトを組み立てて(ビルド)、アップロードします。
npm run build
npx wrangler deploy初めてのデプロイでは、記事を保存するD1データベースと、画像を保存するR2バケットが自動で作られます。完了すると、ターミナルに「https://my-site.〇〇.workers.dev」のようなURLが表示されます。このURLを開いてサイトが表示されれば、公開は成功です。
なお、管理画面の初期設定(Step 6)は、まだしないでおきましょう。ログインに使うパスキーはURL(ドメイン)ごとに登録されるため、独自ドメインをつないでから設定したほうが後で困りません。
Step 5 独自ドメインをつなぐ
いよいよ、Step 1で取得したドメインでサイトを表示させます。少し手順が多いですが、流れは下の図のとおりです。

5-1 Cloudflareにドメインを追加する
- Cloudflareのダッシュボードで「ドメインを追加」(Add a domain)を押します
- 取得したドメイン(例:example.com)を入力して進みます
- プランは「Free(無料)」を選びます
- 最後に、Cloudflareのネームサーバーが2つ表示されます(例:〇〇.ns.cloudflare.com)。この2つをメモしておきます
5-2 Xserverでネームサーバーを変更する
ドメインの管理をCloudflareに任せるための設定です。
- Xserverアカウントにログインし、「ドメイン」のメニューから対象のドメインを選びます
- 「ネームサーバー設定」を開きます
- 「その他のサービスで利用する」を選び、ネームサーバー1と2に、5-1でメモしたCloudflareのネームサーバーを入力します
- 確認画面に進み、設定を確定します
変更が反映されるまで、数時間から最大72時間ほどかかることがあります。反映されると、Cloudflareのダッシュボードでドメインのステータスが「アクティブ」になり、メールでもお知らせが届きます。
5-3 Workerに独自ドメインを設定する
ドメインがアクティブになったら、Step 4で公開したサイト(Worker)に独自ドメインを割り当てます。方法は2つあり、どちらか一方でOKです。
方法A:ダッシュボードで設定する
Cloudflareのダッシュボードで「Workers & Pages」を開き、作成したWorkerを選びます。「設定」の「ドメインとルート」で「追加」を押し、「カスタムドメイン」にドメイン(例:example.com)を入力します。
方法B:設定ファイルに書く
プロジェクトのフォルダにある wrangler.jsonc に、次のように追記します。設定がファイルに残るので、後から見返しやすいのが利点です。
"routes": [
{ "pattern": "example.com", "custom_domain": true }
]5-4 サイトのURLを設定して、もう一度デプロイする
EmDashに「このサイトの正式なURLはこれです」と教えておきます。wrangler.jsonc の vars に、次の1行を追加してください(vars がなければ作ります)。
"vars": {
"EMDASH_SITE_URL": "https://example.com"
}保存したら、もう一度ビルドとデプロイをします。
npm run build
npx wrangler deployブラウザで https://example.com を開いて、サイトが表示されれば成功です。
Step 6 管理画面の初期設定をして、最初の記事を書く
最後に、独自ドメインの管理画面を開いて初期設定をします。
- https://example.com/_emdash/admin を開くと、セットアップ画面が表示されます
- サイト名と管理者のメールアドレスを入力します
- パスキーを登録します。Macなら Touch ID、WindowsならWindows Hello、またはスマートフォンで登録できます
登録が終わると管理画面に入れます。「投稿」から新しい記事を作り、タイトルと本文を入力して「公開」を押せば、サイトに記事が表示されます。
検索エンジンに表示されるようにする
セットアップした直後のサイトは、検索エンジン(Googleなど)に表示されない設定になっています。準備ができたら、管理画面の設定で、検索エンジンへの表示を許可するように切り替えてください。
つまずきやすいポイント
コマンドを実行するとエラーが出る
多いのはNode.jsのバージョンが古いケースです。node -v で22以上になっているか確認してください。Node.jsをインストールし直した場合は、ターミナルをいったん閉じて開き直します。
独自ドメインを開いてもサイトが表示されない
ネームサーバーの変更がまだ反映されていない可能性があります。Cloudflareのダッシュボードで、ドメインのステータスが「アクティブ」になっているか確認してください。反映には最大72時間ほどかかることがあります。
ファイルを直したのにサイトが変わらない
デプロイの前に npm run build を実行したか確認してください。ビルドをしないと、古い状態のままアップロードされます。
管理画面にログインできない
パスキーは登録したドメインでしか使えません。workers.dev のURLではなく、独自ドメインの管理画面を開いているか確認してください。
まとめ
お疲れさまでした。ここまでの手順を振り返ってみましょう。
- Xserverドメインで独自ドメインを取得した
- Cloudflareのアカウントを作り、R2を有効にした
- npm create emdash@latest でサイトを作った
- wrangler deploy でCloudflareに公開した
- ネームサーバーを変更して、独自ドメインをつないだ
- 管理画面の初期設定をして、記事を公開した
EmDashとCloudflareの組み合わせなら、費用はほぼドメイン代だけで、自分のサイトを持てます。まだドメインを持っていない方は、まず使いたい名前が空いているか調べてみてください。
サイトが公開できたら、次はお問い合わせフォームを付けてみましょう。メール送信サービスのResendを使って、フォームの内容をメールで受け取る方法を【フォーム編】お問い合わせフォームとResendでメール送信で解説しています。
Claude CodeやCodexなどのAIに、サイトの構築や記事の更新を手伝ってもらう方法は、【AI活用編】MCPサーバーでClaude Code・Codexからサイトを構築・更新するで紹介しています。

