~/adventure-log/2026/09/from-astro-to-emdash-part1
テックこのページは原文を AI が翻訳したものです。

AstroからEmdashへの移行で踏んだ罠(その1)

長年ブログを書き続けてきて、WordPress、Jekyll、Ghostと渡り歩き、最終的にAstroで安定していました。そこへCloudflareがWordPress対抗のEmDashを発表。数ヶ月様子を見て、ようやく移行を決意しました。2026年現在、移行作業はほぼ全てClaude Codeに任せています——公式ドキュメントのリンクを渡すだけで、AIがプロジェクトを分析し、Connectorをインストールし、さらにはD1とR2まで自動で作ってくれました。本記事では、このスムーズな初期デプロイの流れと、記事末尾に必見の重要なポイント2つを記録します。

公開
読了時間
4 分
タグ
AstroClaude CodeCloudflare

ブログを書き始めてからもう何年も経ちますが、なかなか長続きしませんでした。WordPress、Jekyll、Ghostなど一通り試して、最終的にAstroで自分のブログを構築し、これが結構長く続いています。CloudflareがWordPressの置き換えとしてEmDashを発表したとき、Vide Codeベースだったので最初は手を出しませんでしたが、数ヶ月経っても更新が続き、移行した人も増えてきたので、私も移行を始めることにしました。

Claude Codeを使って移行する

2026年9月の今、ほとんどの人がAIを使って移行しているでしょうね。今のAIはもう十分優秀なので、私はただClaude Codeを開いて、こう入力しただけです。

plaintext
https://docs.emdashcms.com/existing-project/

参考这个, 把现有的astro 更改成使用 emdash 管理的CMS

するとAIがドキュメントと既存のプロジェクト構成に基づいてEmdashのインストールを始めてくれます。私はCloudflareのConnectorをインストールしましたが、CCはなんとD1とR2まで直接作成してくれました。本当に手間いらずで助かります。

emdash-setup-1.png
emdash-setup-2.png
emdash-setup-3.png



しばらくして、EmDashをCFに無事デプロイし、EmDashの管理画面でPassKeyログインの設定も完了しました(これが実は罠で、後の記事で詳しく書きます)。

初期デプロイで重要なポイントまとめ

Claude Codeのおかげでデプロイの流れは非常にスムーズでしたが、実際に操作してみて、どうしても事前に伝えておきたい重要な経験が2つあります。

1. 既存のMDX記事:EmDashへの取り込みを100%確認してから削除すること!

ローカルのMarkdown/MDXファイルは、Git上にあるあなたの絶対的な資産です。EmDashにインポートした後は、管理画面とフロントページの両方で、データがCloudflare D1データベースに完全に存在していることを1つずつ確認してください。**デプロイが成功したからといって、すぐにローカルの元ファイルを削除してはいけません**。まず完全なアーカイブバックアップを残し、データに欠損がないことを確認してから整理しましょう。

2. 強く推奨:先にカスタムドメインを設定してから、PassKeyログインを設定すること!

これはほとんどの人(私も含めて)がまさに踏みやすい、見えにくい落とし穴です。

- デプロイ直後、多くの人はデフォルトで生成された *.workers.dev の一時ドメインで管理画面の初期化を行い、そのまま自分のデバイスのPassKeyを登録してしまいがちです。

- しかし、PassKey(WebAuthn)はアクセスするドメイン(Origin / rpId)に強く紐付いています。後から独自のカスタムドメインを設定すると、**カスタムドメイン経由でアクセスした場合、workers.dev で作成したPassKeyはそのまま無効になり、ログインできなくなります!**

次回予告:管理画面から締め出されかけたPassKeyの落とし穴

前の節で触れた2つ目のポイントは、実は今回のデプロイで私が一番痛感したリアルな失敗談です。

当時、workers.dev で喜んでPassKeyを設定しましたが、独自ドメインを紐付けた後、カスタムドメインの管理画面ではそのPassKeyが全く表示されませんでした。

そこでシステムがメールの認証コードでのログインを提案してきましたが、ここで気まずい事実が発覚——**当時、私はメールサービス(Email Provider)をまだ全く設定していませんでした!**

PassKeyは使えない、メールの認証コードも届かない。私は自分で作った管理画面に、まさに締め出されかけたのです……。

結局どうやって脱出したのか?Cloudflareのエッジ環境でのメールプラグインの設定方法とは?次の記事では、この笑ってしまうようなPassKeyとログイン認証の失敗談をじっくり掘り下げます。

収集品を手に入れた· Item get

No.026

古代の軸芯

ノーマル

地方
古代技術の高地
生息地
Astro · Claude Code · Cloudflare
発見日
冒険時間
4 分

この冒険を読み終えて手に入れた。読む人が増えるほど、レア度が上がる。

Epona
執筆Epona

There's nothing wrong with having a little fun

x.com/simura_epona

関連記事Nearby quests

コメントを読み込み中…