実践
このセクションで扱うこと:EmDashのサイトを実際に持つときに、唯一の正解がないテーマ(開発環境、バージョン履歴、巻き戻し、更新の追いかけ方など)
このセクションの読み方
実践セクションの各ページは、「現実的な選択肢の整理」と「本サイトではこうしている(運営者の選択)」の2部構成です。運営者の選択は、公式情報とは見出しと見た目で区別して表示します。選択肢は手軽なものから順に並べており、並び順は推奨の順ではありません。
各ページは、次の順で構成しています。
| 順 | 要素 | 内容 |
|---|---|---|
| 1 | このページで決めること | ページで扱う判断を1文で示します |
| 2 | 決める前に知っておくこと | 判断に必要な仕組みを、公式情報に基づいて説明します |
| 3 | 公式の推奨 | 公式ドキュメントに推奨や禁止事項がある場合だけ、出典付きで示します |
| 4 | 選択肢の比較 | 2〜4つの選択肢を、同じ観点(概要、向いている場合、注意点、費用と手間、根拠にした公式ページ)で並べます |
| 5 | 本サイトではこうしている | 運営者の選択を、選んでいる方法・前提条件・理由・採用日・見直す条件の5項目で示します |
| 6 | 別の選択肢が合う条件 | 読者の条件によって、別の選択肢が合う場合を示します |
| 7 | 根拠にした公式ページ | 判断材料にした公式ページと原文URLを示します |
ページ一覧
| ページ | このページで決めること | 本サイトではこうしている |
|---|---|---|
| 開発環境の持ち方 | サイトをいくつの環境に分けて運用するか | ローカル+プレビュー+本番の3つ。データベースとファイル置き場は環境ごとに分ける |
| バージョン履歴の持ち方 | サイトのどの部分を、どこまで戻せるようにしておくか | コードはGitHubの非公開リポジトリに保管し、本文の正本はEmDashのデータベースにする |
| 巻き戻しの備え | 問題が起きたときに使う巻き戻しの仕組みをどこまで用意するか | リビジョン、ゴミ箱、D1のTime Travel、Workersのロールバック、データベースの定期ダンプ、ファイルのコピーの6種類すべて |
| EmDashの更新の追いかけ方 | EmDashの新しい版を、いつ、どの手順で本番に入れるか | 新しい版を検知したらプレビュー環境で検証し、運営者が判断して本番に入れる |
| 生成AIとの分担 | 制作と運用の作業を、人と生成AIでどう分けるか | AIが作り、運営者は判断と最終チェックだけを受け持つ |
| コンテンツの正本の置き場所 | 記事の内容を、どこを正本として持つか | データベースだけ(履歴はEmDashのリビジョンで持つ) |
| 実行環境の選び方 | サイトをどこで動かすか | Cloudflare Workers(有料プラン) |
| DBとファイル置き場の選び方 | どのデータベースとメディアストレージを使うか | Cloudflare D1とCloudflare R2 |
| 管理画面の守り方 | 管理画面へのログインをどの方式で守るか | パスキーのみ |
| プラグインの使い方 | プラグインを使うか、どの形式まで使うか | 自作のネイティブ型プラグイン2つと、公式プラグイン |
| 本サイトの構成 | ―(本サイトの構成をまとめて示すページ) | 全体構成、環境、巻き戻しの仕組みなど |
本サイトの前提条件
各ページの「本サイトではこうしている」は、次の前提条件のもとでの選択です。前提条件が異なるサイトでは、別の選択肢が合うことがあります。
- 1人の運営者が運営しています。
- 制作・翻訳・確認の作業は生成AIが行い、運営者は判断と公開前の最終チェックを受け持ちます。
- Cloudflare(Workers、D1、R2)で運用しています。
本サイトは、EmDash自身で運営しています。「本サイトではこうしている」の内容は、本サイトの実際の構成と一致させています。構成を変えたときは、対応するページを更新します。構成の全体は本サイトの構成にまとめています。
読む前に
EmDash・Astro・Cloudflareの役割分担を知らない場合は、先に全体像と入門を読むと、各ページの選択肢を比べやすくなります。
根拠にした公式ページ
- Cloudflareへのデプロイ(原文:https://docs.emdashcms.com/deployment/cloudflare/)
- バックアップと復旧(原文:https://docs.emdashcms.com/guides/backups/)
- EmDashのアップデート(原文:https://docs.emdashcms.com/deployment/updating/)