WordPress以外の仕組みで、自分のブログを作ってみたい。そう思って試したのが、Cloudflare(クラウドフレア)が公開している「EmDash(エムダッシュ)」です。
EmDashは、記事を書いたり、サイトを管理したりできる仕組み(CMS)です。WordPressと似た使い方ができますが、サイトを公開するまでの道のりは、大きく違います。
プログラミングが専門ではない私が、Claude Code(クロードコード)というAIの道具に手伝ってもらいながら、独自ドメインの個人サイトを公開するところまでやってみました。
Claude Codeは、パソコンの中で、コマンドを実行したり、ファイルを書き換えたりしてくれるAIです。私が日本語で「こうしたい」と伝えると、AIが操作してくれます。この記事に出てくるコマンドも、実際にはClaude Codeが実行したものです。みなさんが試すときは、自分で入力します。
結論:パソコンで動かすのは簡単。公開は、少し大変
結論から言うと、次のとおりでした。
- 自分のパソコンでEmDashを動かすのは、簡単でした
- インターネットに公開するには、Cloudflareの設定と、文字で命令を入力する操作(コマンド)が必要で、初心者には少しむずかしい場面がありました
- 一番困ったのは、管理画面にログインできなくなったことです
- 費用は、Cloudflareの無料で使える範囲で収まり、かかったのはドメイン代(年10.46ドル、約1,650円)だけでした
こんな人は、試しやすいと思います。
- コマンドを、調べながらなら入力できる
- WordPress以外の仕組みにも興味がある
- Cloudflareを使ってみたい
逆に、設定を少なくして、すぐに記事を書き始めたい人は、WordPressのほうが始めやすいと思います。
この記事は、2026年10月13日に試した内容です。EmDashのバージョンは1.2.0でした。試してみようと思ったきっかけは、X(旧Twitter)で見かけた、keitowebaiさんの投稿です。
Cloudflare EmDash CMSで新規サイト(自分のポートフォリオ)を作り直しました。
— KEITO💻AIディレクター (@keitowebai) October 12, 2026
投稿、プラグイン、ウィジェットなど全てWordPressライクな管理画面。その上でセキュリティ最強。更新などもAIネイティブで凄く楽。運用もほぼ考えることなし。なのに無料。
特にClaude Codeファーストな設計になっているの最高に良い。
他のWebサイトも順次EmDashに乗り換えます。
EmDashは、非エンジニアでも使える?
使えます。ただし、「自分のパソコンで動かす」ことと、「インターネットに公開する」ことでは、むずかしさが違いました。
やりたいこと | 試した感想 |
|---|---|
自分のパソコンで動かす | 比較的かんたん。コマンドが2つで動きます |
管理画面を開く | WordPressに近い感じで、分かりやすい |
Cloudflareに公開する | データベースなどの設定が必要 |
独自ドメインにする | Cloudflareでドメインを取ると、設定ファイルに1行足すだけでした |
記事を書いて、運用する | まだ試せていません |
最初から本番のブログにするより、まずは自分のパソコンで動かして、管理画面を触るところから始めるのがおすすめです。
EmDashとWordPressは、何が違う?
どちらも、管理画面から記事を書いて、公開できます。違うのは、サイトを動かす場所と、その準備です。
WordPress | EmDash | |
|---|---|---|
記事を書く画面 | あり(管理画面) | あり(管理画面。WordPressに近い) |
サイトを動かす場所 | 対応しているレンタルサーバー | Cloudflare Workersなど。自分で用意する |
準備 | 管理画面から、かんたんにインストールできることが多い | 動かす場所を用意して、自分で設定する |
Cloudflare Workers(ワーカーズ)は、インターネット上でプログラムを動かしてくれる、Cloudflareのサービスです。WordPress用のレンタルサーバー(Xserverなど)とは仕組みが違うので、同じ手順では置けません。
つまり、記事を書く画面だけでなく、サイトを動かす環境も、自分で準備するのが、EmDashの特徴です。
プログラムを書く言葉(WordPressはPHP、EmDashはTypeScript)や、データを保存する仕組みの違いは、使うだけなら、知らなくても困りません。
公開する前に、用意するもの
必要なもの | 用途と、ひとこと |
|---|---|
Node.js(ノードジェイエス)のバージョン22.16以上 | パソコンの上でプログラムを動かすための土台です。EmDashを動かすのに必要です。私は22.17を使いました |
Cloudflareのアカウント | サイトの公開先に使います。無料で作れます |
独自ドメイン | 自分専用のサイトの住所です。私はCloudflareで取りました(必須ではありません) |
クレジットカード | Cloudflareの画像置き場(R2)を使うとき、登録を求められました |
ドメインを買わなくても、Cloudflareが用意してくれる住所(workers.dev)で、試すことができます。すでにドメインを持っている人は、Cloudflareで使えるように設定する方法もあります。
EmDashをCloudflareで公開する手順
Claude Codeに進めてもらった流れは、次のとおりです。
- パソコンでEmDashを動かす
- Cloudflare用のプロジェクトを作る
- データベースと画像の置き場を用意する
- 設定ファイルを直す
- インターネットに公開する(デプロイ)
- 管理画面で、最初の設定をする
1. パソコンでEmDashを動かす
目的:EmDashがどんなものか、安全な場所で確かめます。
ターミナル(文字で命令を入力する画面)を開いて、次のコマンドを入力します。
npm create emdash@latestサイトのひな形(テンプレート)を選びます。ブログ向けの「Blog」や、基本の形の「Starter」などがあります。作ったフォルダに移動して、次のコマンドを実行します。
npm run devこれで、パソコンの中だけで、サイトが動きます。管理画面は、次のアドレスから開けます。
http://localhost:4321/_emdash/admin
「localhost」は、自分のパソコンを表すアドレスです。ここで動かしたサイトは、まだインターネットには公開されていません。この段階では、Cloudflareのアカウントも、ドメインも要りません。
つまずいた点:Node.jsのバージョン
私のパソコンのNode.jsは、バージョン20.10でした。しかし、EmDash 1.2.0は22.16以上でないと動かない仕組みです。そのため、最初は動きませんでした。
そこで、nvm(Node.jsのバージョンを切り替える道具)を使って、22に切り替えました。
nvm use 22同じエラーが出たときは、次のコマンドで、今のバージョンを確認してみてください。
node -v2. Cloudflare用のプロジェクトを作る
目的:自分のパソコンで試したものとは別に、Cloudflareに置くための作業用フォルダ(プロジェクト)を作ります。
npm create emdash@latest my-site -- --template blog --platform cloudflare --no-sandboxed-plugins --pm npm --install --yes長いコマンドですが、ブログ用のEmDashを、Cloudflare向けに作っています。my-site はプロジェクトの名前なので、好きな名前に変えられます。
--no-sandboxed-plugins は、「プラグイン(機能を足す部品)を、安全のために、ほかから切り離して動かす機能」を使わない、という指定です。この機能は、Cloudflareの有料プランが必要です。今回は無料で使える範囲で試したかったので、この指定を付けました。そのため、切り離して動かす必要があるプラグインは、使えません。
3. データベースと画像の置き場を用意する
目的:記事の文章と、画像を、保存する場所を作ります。
次のコマンドを、順番に実行しました。
cd my-site
npx wrangler login
npx wrangler d1 create my-site-db
npx wrangler r2 bucket create my-site-mediawrangler(ラングラー)は、Cloudflareを、ターミナルから操作するための道具です。wrangler login を実行すると、ブラウザが開くので、Cloudflareへのアクセスを許可します。

Cloudflareの許可画面。内容を読んで、「Authorize」を押します。
そのあと、2つの置き場を作りました。
- D1:Cloudflareのデータベースです。記事の文章や、サイトの設定を保存します
- R2:Cloudflareのファイル置き場です。記事に載せる画像などを保存します
ブログでいえば、「記事を入れる箱」と「画像を入れる箱」を、別々に用意するイメージです。
なお、公式ドキュメントでは、D1とR2は、デプロイのときに自動で作られると説明されています。私は先に自分で作りましたが、この手順を飛ばして、手順5に進む方法もあります。
つまずいた点:R2のエラー
R2を作ろうとすると、次のエラーが出ました。
Please enable R2 through the Cloudflare Dashboard意味は、「Cloudflareの管理画面で、R2を有効にしてください」です。ダッシュボードのR2の画面で有効にしたら、作れました。このとき、クレジットカードの登録を求められました。

R2を有効にする画面。無料で使える範囲が書かれていて、今回の支払いは0.00ドルでした。(カード番号の行は隠しています)
R2には、無料で使える範囲があります(保存できる量は10GBまで、書き込みは月100万回まで、読み込みは月1,000万回まで)。今回の画面では、支払いは0ドルと表示されました。ただし、使える範囲を超えると、料金がかかる可能性があります。
4. 設定ファイルを直す
目的:作ったD1とR2を、サイトにつなぎます。独自ドメインも、ここで指定します。
wrangler.jsonc というファイルを編集します。Cloudflareにサイトを公開するときの設定が書かれたファイルです。主に、次の項目を直します。
{
"name": "my-site",
"routes": [{ "pattern": "example.com", "custom_domain": true }],
"d1_databases": [
{ "binding": "DB", "database_name": "my-site-db", "database_id": "(d1 createで表示されたID)" }
],
"r2_buckets": [
{ "binding": "MEDIA", "bucket_name": "my-site-media" }
]
}これは、説明のための抜粋です。ファイル全体を、これに置き換えるものではありません。直すのは、次の3か所です。
example.com:自分の独自ドメインmy-site-dbとデータベースID:作ったD1の情報my-site-media:作ったR2の名前
独自ドメインを結びつけるには、そのドメインが、Cloudflareで管理されている必要があります。私はCloudflareでドメインを取ったので、ほかの会社からDNSの設定を移す作業は、要りませんでした。DNSは、ドメイン(サイトの住所)と、サイトの置き場所を結びつける仕組みです。ほかの会社で取ったドメインを使うときは、DNSの設定が、別に必要になります。
公式ドキュメントでは、先に `workers.dev` の住所で表示を確認してから、独自ドメインを足して、もう一度デプロイする順番が、すすめられています。私は、最初から独自ドメインの設定を入れて、デプロイしました(理由は、後ろの「パスキー」の節に書きます)。
5. インターネットに公開する(デプロイ)
目的:作ったサイトを、Cloudflareに載せて、公開します。
npm run deployこのコマンドで、サイトが公開できる形に組み立てられて(ビルド)、Cloudflare Workersに反映されます。作ったサイトをインターネットに公開することを、「デプロイ」と言います。今回は、ログインの状態を保存するKV(ケーブイ)も、自動で作られました。
デプロイが終わったら、公開した住所をブラウザで開いて、サイトが表示されるか確認します。
つまずいた点:cronのエラー
デプロイのたびに、決まった時間に自動で動く処理(cron)の設定だけが、次のエラーになりました。
You need a workers.dev subdomain in order to proceed.意味は、「workers.dev という、Cloudflareが用意してくれる住所が、まだ作られていません」です。サイトは表示できました。ただし、公式ドキュメントによると、cronは、予約公開(時間を決めて記事を出す機能)や、サイトの保守処理に使われます。このエラーが残ったままだと、それらが動かない可能性があります。
Cloudflareの管理画面(ダッシュボード)で、Workersのページを一度開くと、この住所が作られて、解消するようです。記事を書いた時点では、まだ解消できていません。
6. 管理画面で、最初の設定をする
目的:管理者のアカウントを作り、ログインできるようにします。
公開したサイトの https://自分のドメイン/_emdash/admin を開くと、セットアップ画面が出ます。サイトのタイトル、名前、メールアドレスを入れて、パスキーを登録します。

最初のセットアップ画面です。ここで、サイトのタイトルなどを入れます。
パスキーは、パスワードの代わりに、指紋認証や顔認証などでログインする方法です。
このセットアップは、先に済ませた人が、管理者になります。 デプロイしたら、すぐに自分で済ませてください。
一番困ったこと:管理画面にログインできなくなった
私は、Claude Codeの画面の中にあるブラウザ(Claudeアプリの中のブラウザ)で、セットアップをして、パスキーを登録しました。Claude Codeに画面を見てもらいながら進めるため、そのブラウザを使ったのです。ところが、普段使っているChromeでログインしようとすると、「保存したパスキーを使用する」の画面に、スマートフォンかUSBキーしか表示されず、ログインできなくなってしまいました。

Chromeのパスキーの画面。スマートフォンかUSBキーしか選べませんでした。
パスキーの仕組み
公式ドキュメントには、次のように書かれています。
- パスキーは、作ったアドレス(ドメイン)でだけ使えます
- パスキーは、ブラウザやパスワード管理サービス(iCloudキーチェーン、Googleパスワードマネージャー、1Passwordなど)を通じて使い、同期できる場合もあります
つまり、「登録したブラウザでしか使えない」わけではありません。ただ、今回は、Claudeアプリの中のブラウザで登録したパスキーを、Chromeから使えない状態でした。正確な原因までは、確かめられていません。
もう1つ大事なのが、「どのアドレスでセットアップしたか」です。最初のセットアップをしたアドレスが、サイトの住所として記録され、そのアドレスでだけ、パスキーが使えるようになります。そのため、本番の独自ドメインで、セットアップすることが大切です。私が最初から独自ドメインを設定してデプロイしたのは、このためです。
メールでも、ログインできなかった
別の方法として、メールでのログインも試しましたが、次のエラーになりました。
Email is not configuredEmDashを公開しただけでは、ログイン用のメールを送る機能は、使えるようになりません。メールでログインするには、別に、メール送信の設定が必要です。

メールでのログインを試した画面。「Email is not configured」と出ました。(メールアドレスは隠しています)
どうやって解決した?
公式ドキュメントには、「唯一の管理者で、メールも未設定の場合は、データベースを通じて、認証をリセットする必要がある」と書かれています。私は、この方法を使いました。データベースから、管理者のアカウントとパスキーの情報だけを消して、最初のセットアップ画面がもう一度出るようにしました。そして、いつも使うChromeで、パスキーを登録し直したら、ログインできました。サイトの記事などは、消さずに残しています。
ただし、データベースを直接直す方法は、大事なデータを消してしまう危険があります。同じことが起きても、いきなり消さないでください。
まず、次のことを確認してみてください。
- 登録したときのブラウザや端末で、ログインできるか
- パスキーが、iCloudキーチェーンなどで同期されているか
それでもだめで、最後の手段として行うなら、必ず先にバックアップを取ってください。
パスキーのトラブルを防ぐには
今回の経験から、最初の設定では、次の点に気をつけたほうがよいと感じました。
- 普段使っているブラウザで、セットアップする
- 本番の独自ドメインで、セットアップする
- ログインできたら、すぐに、別のパスキーも追加する(管理画面の「セキュリティ設定」から追加できます)
- パスキーの保存先が、同期されるものか確認する
私も、2つ目のパスキーを追加しようとしましたが、「このパスキーはすでに登録されています」と表示されました。同じ端末の同じ保存先からは、追加できないという意味でした。予備にするなら、スマートフォンなど、別の端末のパスキーが必要です。
AIに、どこまで任せたか
この作業は、AI(Claude Code)に手伝ってもらいながら進めました。
- AIに任せたこと:プロジェクトの作成、コマンドの実行、設定ファイルの編集、デプロイ、エラーの意味を調べること、サイトの表示の修正(URLを短くする、英語を日本語にする)
- 自分でやったこと:Cloudflareへのログインの許可、R2の有効化とカードの登録、ドメインの購入、パスキーの登録、Cloudflareのメール転送の設定
アカウントの作成、支払い、ログインの許可のような、お金やアカウントに関わる操作は、AIに任せず、自分でやることにしました。
コマンドの意味が分からなくても、AIにエラーの内容を見せると、原因の見当を付けてもらえました。ただし、パスキーの件のように、AIが原因を取り違える場面もありました。最後は、自分で状況を見て、判断する必要があります。
かかった費用
サイトを動かす部分は、Cloudflareの無料で使える範囲に収まりました。かかったのは、ドメイン代だけです。
項目 | 費用 |
|---|---|
EmDash | 無料 |
Cloudflare Workers | 0ドル(無料で使える範囲) |
D1(データベース) | 0ドル |
R2(画像などの置き場) | 0ドル |
独自ドメイン(.com) | 年10.46ドル(約1,650円) |
Cloudflareでは、2026年11月1日から、.comの料金が11.17ドルに上がる予定と案内されていました。
ただし、無料で使える範囲には、上限があります。見に来る人が増えたり、画像が増えたりすると、有料プランが必要になるかもしれません。これからの運用で、様子を見ます。
公開したあとに、変えたこと
- 記事のアドレスを短くしました:標準では
/posts/記事の名前ですが、/記事の名前にしました。そのために、記事のページの作りを、少し直しました - 画面の英語を、日本語にしました:メニュー、ページの下の部分、検索の画面などです。EmDashの全部が日本語になったわけではありません
- 独自ドメインのメールを、受け取れるようにしました:Cloudflareの「Email Routing」という機能で、
info@自分のドメインに届いたメールを、いつものメールアドレスに転送します。受け取るだけで、そのアドレスから送信はできません
実際に使ってみた感想
試しに動かすことと、サイトを運用することは、別だと感じました。
自分のパソコンで試すだけなら、簡単でした。管理画面も日本語で、見た目はWordPressに近い印象です。
一方、Cloudflareに公開するには、データベースや、画像の置き場、独自ドメインなど、WordPressを使うときには、あまり意識しない設定が必要でした。ログインできなくなったときは、どこを見ればいいか分からず、困りました。
そうしたトラブルに対応するには、設定ファイルやコマンドに、ある程度、触れる必要があります。
結局、非エンジニアにおすすめなのか? 私の答えは、「AIに手伝ってもらえるなら、試す価値がある。1人だけで、はじめてのCMSとして選ぶなら、WordPressのほうが安心」です。
- 向いている人:WordPress以外も試したい人、Cloudflareに興味がある人、コマンドを調べながら進められる人
- 向いていない人:設定をせずに、すぐ記事を書き始めたい人
なお、今回は、サイトを公開するまでが目的でした。記事の書きやすさ、編集画面、画像の管理などは、まだ十分に試せていません。WordPressと比べて、どうなのかは、運用しながら確かめて、また書きます。
まとめ
非エンジニアが、EmDashで、独自ドメインの個人サイトを公開するまでを紹介しました。分かったことは、次の4つです。
- EmDashを、自分のパソコンで動かすのは、比較的かんたん
- Cloudflareに公開するには、コマンドの操作と、設定ファイルの編集が必要
- パスキーの設定は、最初から、本番のドメインと、いつも使うブラウザで行う
- 費用は、ドメイン代だけで済んだ(今回の範囲では)
はじめて試すなら、いきなりドメインやCloudflareの設定から始めずに、まず自分のパソコンで、EmDashを動かしてみるのがおすすめです。
参考資料
- きっかけになった、keitowebaiさんのXの投稿
- EmDashを試してみた(Zenn)
- EmDash公式ドキュメント
- Cloudflareへのデプロイ方法(EmDash公式)
- EmDashの認証・パスキーについて(公式)
検証環境:2026年10月13日 / EmDash 1.2.0 / Astro 7 / Wrangler 4.149 / Node.js 22.17
