AstroとCloudflare Pagesで個人ブログを構築した記録


このブログの構成

このブログは次の構成で動いている。

  • フレームワーク: Astro(静的サイトジェネレーター)
  • ホスティング: Cloudflare Pages
  • コンテンツ管理: Sveltia CMS
  • 記事フォーマット: Markdown / MDX

Astroを選んだ理由

ブログのような「ほぼ静的なサイト」には、Astroが相性抜群だった。デフォルトでJavaScriptをほとんど配信しないので表示が速い。公式のブログテンプレートが充実していて、Content Collectionsで記事のfrontmatterを型安全に扱えるのも便利。

Cloudflare Pagesでのデプロイ

GitHubリポジトリを接続するだけで、pushのたびに自動でビルド&デプロイされる。無料枠でも帯域無制限なのが個人開発には嬉しいポイント。独自ドメインの設定もダッシュボードから数クリックで完了した。

Sveltia CMSで記事管理

記事の実体はリポジトリ内のMarkdownファイルだが、毎回エディタとGitを開くのは少し面倒。そこでGitベースのヘッドレスCMSであるSveltia CMSを導入した。/adminにアクセスすればブラウザから記事の作成・編集ができて、保存するとそのままGitにコミットされる。UIが軽快で日本語対応なのも気に入っている。

まとめ

「Astro + Cloudflare Pages + Sveltia CMS」の組み合わせは、無料で始められて運用も楽。個人ブログの構成としてかなりおすすめできます。次はOGP画像の自動生成あたりを試してみたい。この辺の詳しいやり方は別記事で書いても良いかも?