「ブログを作りたいけどNext.jsは重い。WordPressはセキュリティが不安。もっとシンプルに、Lighthouseスコア100点のサイトを作りたい」——そんな要求にズバリ応えるのが Astro.js です。

Astroは2021年に登場した静的サイトジェネレーター(SSG)で、「ゼロJavaScriptをデフォルト」という思想のもと開発されました。2026年現在、GitHubスターは5万を超え、個人開発者・テックブロガー・フロントエンドエンジニアの間で急速に普及しています。本記事では、AstroでブログやポートフォリオサイトをCloudflare Pagesに無料デプロイするところまで、実践的に解説します。

Astro.jsとは? なぜ2026年に注目されるのか

Astroの最大の特徴はアイランドアーキテクチャ(Islands Architecture)です。従来のSPA(React/Vue/Angular)はページ全体のJavaScriptをブラウザに送信するため、初期ロードが重くなりがちでした。Astroはその逆で、HTMLとCSSだけ送信し、インタラクティブな部分(=島)にだけJavaScriptを読み込む設計です。

その結果、Astroで作ったサイトはほぼ例外なくLighthouseのパフォーマンススコアで90〜100点を記録します。Core Web Vitalsも良好なため、SEO効果も期待できます。

主な特徴まとめ

  • ゼロJS by default — JavaScriptはオプト・イン。静的なページはHTMLのみ出力される
  • マルチフレームワーク対応 — React・Vue・Svelte・SolidJSのコンポーネントを混在できる
  • Markdownネイティブ — .md / .mdx ファイルをそのままページにできる
  • Content Collections — ブログ記事の型安全な管理システムが標準搭載
  • TypeScriptサポート — 設定不要でTypeScriptが使える
  • SSR対応 — 必要なページだけサーバーサイドレンダリングも可能

Next.js・Gatsby・Hugoとの比較

項目 Astro Next.js Gatsby Hugo
デフォルトJS量 ほぼゼロ 多い 多い ゼロ
フレームワーク混在 ✅ React/Vue/Svelte ❌ Reactのみ ❌ Reactのみ ❌ なし
Markdown対応 ✅ ネイティブ △ プラグイン必要 ✅ GraphQL経由 ✅ ネイティブ
学習コスト 低〜中 中〜高 低(Go必要)
SSR/動的処理 △ アダプタ必要 ✅ 強力 △ 限定的 ❌ 静的のみ

ブログ・ポートフォリオ・ドキュメントサイトなどコンテンツ中心の静的サイトを作るなら、Astroはほぼベストの選択肢です。動的なWebアプリ(ログイン・リアルタイム更新など)はNext.jsの方が向いています。

セットアップ:Astroプロジェクトを5分で立ち上げる

Node.js 18以上がインストールされていれば、コマンド一発でプロジェクトが作れます。

ステップ1:プロジェクトの作成

npm create astro@latest my-blog
# 対話式で設定を選べる
# テンプレート: 「Blog」を選ぶとブログ向けの雛形が作られる
cd my-blog
npm install
npm run dev

http://localhost:4321 をブラウザで開くと、すぐにサイトのプレビューが確認できます。

ディレクトリ構成の基本

my-blog/
├── public/           # 静的ファイル(画像・フォント・favicon)
├── src/
│   ├── components/   # 再利用コンポーネント (.astro / .jsx など)
│   ├── layouts/      # ページ共通レイアウト
│   ├── pages/        # URLと1対1対応するページファイル
│   └── content/      # ブログ記事などのコンテンツ(Markdown)
├── astro.config.mjs  # Astro設定ファイル
├── package.json
└── tsconfig.json

src/pages/ に置いたファイルは自動でルーティングされます。src/pages/about.astro/about になる、という仕組みです。シンプルで直感的です。

広告

ConoHa WING

初期費用無料の高速クラウドサーバー

最大3,500円還元

詳しく見る →