Astro × Cloudflare Pages で爆速デプロイする方法
はじめに
Astro で構築したサイトを公開するなら、Cloudflare Pages が最適です。グローバル CDN が無料で使え、デプロイも数コマンドで完了します。
この記事では、2つのデプロイ方法を解説します。
| 方法 | メリット | 向いている場面 |
|---|---|---|
| CLI 直接デプロイ | すぐに公開できる。GitHub 不要 | 検証・プロトタイプ |
| GitHub 連携 | push するだけで自動デプロイ | 本番運用 |
前提条件
- Node.js 22 以上がインストールされていること
- Astro プロジェクトが作成済みであること
- Cloudflare アカウントがあること(無料)
方法 1: CLI で直接デプロイ
GitHub リポジトリがなくても、ローカルからすぐにデプロイできます。
1. Wrangler をインストール
Wrangler は Cloudflare の公式 CLI ツールです。
npm install -D wrangler
2. Cloudflare にログイン
npx wrangler login
ブラウザが開くので、Cloudflare アカウントで認証します。
3. プロジェクトを作成
npx wrangler pages project create my-site --production-branch=main
my-site の部分はプロジェクト名です。https://my-site.pages.dev という URL で公開されます。
4. ビルドしてデプロイ
npm run build
npx wrangler pages deploy dist --project-name=my-site
これだけです。数秒で世界中の CDN エッジサーバーから配信されます。
2回目以降は
npm run build && npx wrangler pages deploy dist --project-name=my-siteの1行だけで更新できます。
方法 2: GitHub 連携で自動デプロイ
本番運用では、GitHub に push するだけで自動デプロイされる仕組みが便利です。
1. GitHub リポジトリを作成
git init
git add -A
git commit -m "Initial commit"
GitHub 上でリポジトリを作成し、push します。
2. Cloudflare Pages でプロジェクト作成
- Cloudflare Dashboard にログイン
- Workers & Pages → Create → Pages → Connect to Git
- GitHub アカウントを連携し、リポジトリを選択
3. ビルド設定
| 項目 | 値 |
|---|---|
| Framework preset | Astro |
| Build command | npm run build |
| Build output directory | dist |
環境変数に NODE_VERSION = 22 を追加してください。
4. デプロイ
Save and Deploy をクリックすると、初回ビルドが始まります。以降は main ブランチに push するだけで自動デプロイされます。
デプロイ後の設定
カスタムドメインの設定
Cloudflare Dashboard → Pages → プロジェクト → Custom domains からドメインを追加できます。SSL 証明書も自動で設定されます。
astro.config.mjs の更新
デプロイ後、site をデプロイ先の URL に更新してください。
export default defineConfig({
site: 'https://your-domain.com',
});
この設定は canonical URL、sitemap、OGP の URL 生成に使われます。
robots.txt の更新
public/robots.txt の Sitemap URL も合わせて更新します。
User-agent: *
Allow: /
Sitemap: https://your-domain.com/sitemap-index.xml
Cloudflare Pages の無料枠
| 項目 | 無料枠 |
|---|---|
| デプロイ回数 | 月500回 |
| 帯域幅 | 無制限 |
| サイト数 | 無制限 |
| カスタムドメイン | 無制限 |
| SSL | 自動・無料 |
個人サイトやスタートアップのオウンドメディアなら、無料枠で十分運用できます。
まとめ
Astro と Cloudflare Pages の組み合わせは、コンテンツサイトのデプロイ環境として最適です。
- CLI デプロイ: 4 コマンドで公開完了
- GitHub 連携: push するだけで自動更新
- 無料: 帯域幅無制限、SSL 自動設定
- 高速: グローバル CDN で世界中から最速アクセス