
Astro 6 の新機能 - 開発と本番の差を埋める新 astro dev、Fonts API、移行の注意点
コンテンツ重視の Web フレームワーク Astro のメジャー版 Astro 6 が登場しました(6.0 が2026年3月10日、6.1 が3月26日)。この記事では、Astro 6.0 / 6.1 の新機能と、5.x からの移行で注意すべき破壊的変更を、公式リリースノートとアップグレードガイドを一次ソースに整理します。
Astro とは
Astro はデフォルトでサーバー側に HTML をレンダリングし、JavaScript を最小化するコンテンツ重視のフレームワークです。React / Vue / Svelte などを同一プロジェクトで併用でき(UI フレームワーク非依存)、インタラクティブ性が必要な箇所だけを「アイランド(Islands Architecture)」として個別にハイドレートします。ブログ・ドキュメント・マーケティングサイトなど、表示速度が効くコンテンツ配信に向きます。
Astro 6.0 で安定化した主な機能
新しい astro dev(開発と本番の差を埋める)
6.0 最大の変更は astro dev(開発サーバー)の刷新です。Vite の Environment API を使い、本番と同じランタイムを開発時に実行します。これにより、Cloudflare Workers / Bun / Deno などの非 Node.js ランタイムで起きがちな「dev では動くのに本番で壊れる」差異を減らせます。
あわせて Cloudflare サポートが改善し、@astrojs/cloudflare アダプタが全工程で workerd を実行。KV / D1 / R2 / Durable Objects などのバインディングにローカルでアクセスできます。
組み込み Fonts API
フォントの管理(ダウンロード・キャッシュ・フォールバック生成・preload リンク生成)を Astro が引き受ける Fonts API が組み込みになりました。ローカルファイルや Google Fonts / Fontsource から扱えます。
import { defineConfig, fontProviders } from 'astro/config';
export default defineConfig({
fonts: [
{
name: 'Roboto',
cssVariable: '--font-roboto',
provider: fontProviders.fontsource(),
},
],
});---
import { Font } from 'astro:assets';
---
<Font cssVariable="--font-roboto" preload />Live Content Collections と CSP の安定化
- Live Content Collections: リクエスト時に CMS / API / DB からコンテンツを取得する統一 API が安定化(5.10 で実験的だったもの)
- Content Security Policy(CSP): 静的・動的ページの CSP ヘッダ自動生成、script / style の自動ハッシュ化が安定化。
security: { csp: true }で有効化
Astro 6.0 の実験的機能
- Rust コンパイラ:
experimental.rustCompilerで有効化(別途@astrojs/compiler-rsが必要)。Go 製コンパイラの後継 - Queued Rendering(2パスレンダリング):
experimental.queuedRendering.enabled。公式は「最大2倍高速」と表現(実験的・条件依存) - Route Caching:
Astro.cacheによる SSR レスポンスキャッシュ(組み込みmemoryCacheプロバイダ)
export default defineConfig({
experimental: { rustCompiler: true },
});Astro 6.1 の変更(破壊的変更なし)
6.1 は細かな改善が中心です。
- 画像コーデック別のデフォルト設定(
image.service.configで JPEG/WebP/AVIF/PNG のエンコード既定値を一括設定) - SmartyPants の詳細設定(非英語向けに引用符・ダッシュ・省略記号をカスタマイズ)
- i18n フォールバックルートの sitemap 自動収録
- モバイルの View Transitions 改善(ブラウザがネイティブ遷移を提供する場合の二重アニメーション防止)
- リバースプロキシ背後での CSRF 保護(
X-Forwarded-Protoを正しく解釈)
5.x からの移行(破壊的変更)
メジャー更新なので、移行時の注意がいくつかあります。
- 最低要件が上がった: Node 22.12.0 以降(18/20 は終了)、Vite 7、Shiki 4、Zod 4
- レガシー Content Collections API を完全削除: すべてのコレクションを5.0 導入の Content Layer API(loader 使用)へ移行必須。
legacy.collectionsフラグも廃止 astro:contentのzは非推奨 →astro/zodを使う(Zod 4 へ。例えばz.email()がトップレベルに移動)。Zod 4 の変更点は Zod 4 ガイドも参照<ViewTransitions />を削除 →<ClientRouter />を使うAstro.glob()を削除 →import.meta.glob()を使う- CommonJS の設定ファイル(
.cjs/.cts)のサポート削除
アップグレードは次のコマンドが用意されています。
npx @astrojs/upgradeNOTE
Server Islands と Actions は Astro 6 の新機能ではありません。 Server Islands(server:defer)は 5.0 で安定化、Actions は 4 系で導入済みです。記事や資料で「6 の新機能」として紹介されることがありますが、版を取り違えないよう注意してください。
立ち位置(他フレームワークとの比較)
一般的な整理として、Next.js などが高インタラクティブなアプリケーション寄りなのに対し、Astro はコンテンツ配信寄りで、デフォルトで JS をほぼ送らない設計が強みです(公式が他フレームワークと直接優劣を述べているわけではないので、選定は要件次第)。Vite 7 必須化など足回りは Vite 7 / Rolldown の流れとも地続きです。
まとめ
- Astro 6.0(2026-03-10)の目玉は新しい
astro dev。Vite Environment API で本番ランタイムを開発時に走らせ、dev と本番の差を縮める - Fonts API・Live Content Collections・CSP が安定化。実験的に Rust コンパイラ / Queued Rendering / Route Caching
- 6.1 は画像コーデック既定値・SmartyPants・i18n sitemap・モバイル View Transitions など(破壊的変更なし)
- 5.x からの移行は Node 22.12+ / Vite 7 / レガシー Content Collections 廃止 /
<ViewTransitions/>→<ClientRouter/>/Astro.glob()廃止 / Zod 4 に注意。npx @astrojs/upgradeで更新 - Server Islands(5.0)・Actions(4 系)は Astro 6 の新機能ではない
「開発で動いたものが本番でそのまま動く」——非 Node ランタイムを使うほど効いてくるのが、Astro 6 のいちばん実用的な進化です。


