# コーポレートサイト・メディア：推奨構成

> 作成：2026年9月。前提：PHPは選択肢から除外。個人の既定であり、プロジェクト固有の要件・既存資産・チームの制約と食い違う場合はそちらを優先する。
> バージョン番号は書いていない。採用時は各ツールの最新安定版を確認して使う。料金も記載していないので、各サービスの最新の料金ページで確認する。

前提（既定の条件）：実行環境＝指定なし（PaaS可）
案件の条件が前提と違う場合は、下の「条件が違うとき」で該当する行を確認する。

## 推奨：Astro＋ヘッドレスCMS
- 静的出力でサーバー保守がほぼ不要、非エンジニアの更新はCMSで賄える（§19-1）

## 構成

### 構成（§19-1 をもとに作成）
| レイヤー | 採用 |
|---|---|
| フロント | Astro＋Tailwind CSS |
| CMS | microCMS（セルフホストならPayload） |
| ホスティング | Cloudflare Pages |
| フォーム | Cloudflare Workers＋Resend、スパム対策にCloudflare Turnstile |
| 検索 | Pagefind |
| 分析 | Cloudflare Web Analytics（取引先やマーケティング担当がGA4を求めるならGA4） |
| 監視 | Better Stack（外形監視） |

## 運用の内訳
- 自分で書く：Astro、Tailwind CSS、Pagefind
- 自分で運用する：Payload
- マネージドに任せる：microCMS、Cloudflare Pages、Cloudflare Workers、Resend、Cloudflare Turnstile、Cloudflare Web Analytics、GA4、Better Stack

## 条件が違うとき（既定との差分）
- 実行環境＝AWS：ホスティング＝S3＋CloudFront

## §19-1 コーポレートサイト・LP・メディア

```mermaid

flowchart TB
  U["ユーザー"] --> CF["Cloudflare Pages<br/>Astro 静的サイト"]
  E["編集者"] --> CMS["microCMS"]
  CMS -- "Webhook" --> B["ビルド"] --> CF
  U -- "フォーム送信" --> W["Cloudflare Workers"] --> R["Resend"]

```

更新の即時反映は、CMSのWebhookからビルドを起動して行う。

## §26-1 共通の準備

```bash
# 言語・ツールのバージョン固定（使う言語だけ）
mise use node@lts pnpm@latest
mise use go@latest
mise use ruby@latest
mise use python@latest uv@latest

# Gitフックと依存更新
pnpm add -D lefthook && pnpm exec lefthook install
# renovate.json を置き、GitHubでRenovateアプリを有効化する
```

## §26-2 コーポレートサイト（§19-1）

```bash
pnpm create astro@latest
pnpm astro add tailwind
# Cloudflare Pages にリポジトリを接続してデプロイ
```

## 次に読む
- §11: https://stackbook.kom3da.dev/s/11.md
- §23: https://stackbook.kom3da.dev/s/23.md
- §24: https://stackbook.kom3da.dev/s/24.md
- §25: https://stackbook.kom3da.dev/s/25.md
