← コラム一覧へ
WORKERS2026.07.24読了 3 分

Cloudflare Workers で静的ブログを配信する構成メモ

Astroの静的出力をWorkers Static Assetsへ。GitHub・Workers Buildsとローカル検証の役割を整理する。

このサイトの配信構成を、GameStudioへの統合に合わせて整理しました。Astroで静的HTMLを生成し、デモだけReact islandsとして動かします。公開の初回接続と実URLは管理画面で設定します。

静的出力をそのまま配信する

astro.config.mjs は output: 'static'、出力先は dist です。静的サイトのためCloudflareアダプタは使いません。セッション用KV、画像サービス、生成設定へのリダイレクトにも依存しません。

wrangler.jsonc の配信設定は次の形です。Worker名は利用するCloudflare環境に合わせます。

{
  "name": "susanlab",
  "compatibility_date": "2026-08-10",
  "assets": {
    "directory": "./dist",
    "not_found_handling": "404-page"
  }
}

Workerのエントリーポイントや nodejs_compat は現在の静的構成には必要ありません。問い合わせフォームは送信前からデモと明示し、実際の送信先は持たせていません。

公開の入口を一本化する

ソースは独立した非公開GitHubリポジトリで管理します。Cloudflare Workers Buildsにはproduction branchを main、Rootを /、Buildを npm run build、Deployを npx wrangler deploy として登録します。

GitHub Actionsは型検査とビルドの確認に使います。公開はWorkers Buildsで行います。push成功と公開成功は別なので、push後にCloudflare側のビルド・公開結果を確認します。

ローカルで確かめる

npm ci で依存を揃え、npm run dev で編集し、npm run build と npm run preview で本番成果物を確認します。npm run deploy:check はWranglerのdry-runで、公開操作はしません。

日英記事の一覧・言語切替、404、RSS、下書き除外を確認します。実公開URLは設定を共用し、canonical・OGP・RSSへ反映します。

モデル・モーション・音声などの成果物はサイト内に置き、依存素材とクレジットを揃えます。共通コードもソースのスナップショットとして同梱します。これでサイト単独のcloneからビルドでき、クラウド環境でスタジオ内の相対パスを探す必要がなくなります。

各ファイルは25MiB以下に抑え、配置前と公開前に確認します。大きい素材は圧縮・変換・分割を検討します。

参考: Workers Builds設定、Workers Static Assets、AstroのCloudflare連携。