Astro 6 - 開発サーバー刷新とContent Layerの進化

中級 | 7分 で読める | 2026.04.19

公式ドキュメント

Astro 6とは

記事情報: 2026年4月19日初出。本文の仕様は2026年7月25日に公式資料で再確認しています。

Astro 6は、コンテンツ中心のWebサイトを作るフレームワーク「Astro」のメジャーアップデートです。安定版は2026年3月10日に公開されました。

今回の中心は、派手な速度比較ではありません。開発時と本番時の実行環境を近づける開発サーバーの刷新と、外部CMSなどのデータをリクエスト時に取得できるLive Content Collectionsです。加えて、Content Security Policy(CSP)やWebフォントを扱うAPIが組み込まれました。

この記事では、公式発表で確認できる公開済み機能に絞って、Astro 5から何が変わったのかを整理します。

主な変更点

項目Astro 6での変更
開発サーバーViteのEnvironment APIを利用する構成へ刷新
Content LayerLive Content Collectionsが安定版に
セキュリティ組み込みのCSP APIが安定版に
フォントFonts APIを追加
主要依存関係Vite 7、Shiki 4、Zod 4へ更新
実行要件Node.js 22以降が必要
実験機能Rust compiler、Queued Rendering、Route Caching

実験機能は、安定機能と同じ前提で本番採用しないことが重要です。設定名や挙動が変更される可能性があるため、検証環境で試してください。

開発サーバーが刷新された理由

従来のastro devはNode.jsを前提に設計されていました。そのため、Cloudflare WorkersなどNode.js以外の環境へデプロイすると、開発環境では動くのに本番環境では動かない差が生じることがありました。

Astro 6はViteのEnvironment APIを利用し、対象ランタイムに近い環境で開発サーバーを動かせる設計になりました。公式発表では、特にCloudflare Workersとの連携強化が紹介されています。

ここで期待できるのは「必ず高速になる」ことではなく、開発時と本番時の差を減らしやすくなることです。実際の応答速度は、アダプター、デプロイ先、キャッシュ、外部APIなどにも左右されます。

Live Content Collections

AstroのContent Collectionsは、MarkdownやMDXなどのコンテンツを型付きで扱う仕組みです。従来のbuild-time collectionは、ビルド時にデータを読み込みます。コンテンツを更新すると、基本的には再ビルドが必要です。

Astro 6で安定版になったLive Content Collectionsは、リクエスト時に外部データへアクセスする用途を扱います。更新頻度の高いCMS、商品情報、イベント情報などを、AstroのContent Layerを通して取得できます。

使い分けは次のように考えられます。

コンテンツ向いている方式
更新時に再ビルドできる記事build-time collection
リクエスト時に最新情報が必要live collection
ページ内の一部だけ動的Server Islandsも候補

Live Content Collectionsを使うにはオンデマンドレンダリングが必要です。すべてを静的HTMLとして出力するサイトでは、従来のbuild-time collectionが単純です。

組み込みCSP API

CSPは、ページで読み込めるスクリプトやスタイルなどを制限するブラウザ向けセキュリティ機能です。クロスサイトスクリプティングの被害を抑える助けになりますが、インラインスクリプトや動的レスポンスを含むサイトでは設定が複雑になります。

Astro 6ではCSP APIが安定版になり、静的ページと動的ページの両方で設定できるようになりました。

import { defineConfig } from "astro/config";

export default defineConfig({
  security: {
    csp: true,
  },
});

外部ドメインの画像、解析ツール、広告、埋め込みコンテンツを使うサイトでは、必要なCSPディレクティブを追加します。設定後はブラウザのConsoleとレスポンスヘッダーを確認し、必要なリソースまで遮断していないかテストしてください。

Fonts API

Fonts APIは、フォントファイルの取得、フォールバックフォントの生成、preload用ヒントなどをAstro側で扱う仕組みです。最初にastro.config.mjsでfont familyとproviderを登録します。Fontsourceを使う最小例です。

import { defineConfig, fontProviders } from "astro/config";

export default defineConfig({
  fonts: [
    {
      provider: fontProviders.fontsource(),
      name: "Roboto",
      cssVariable: "--font-roboto",
    },
  ],
});

登録したCSS変数を指定して、レイアウトの<head><Font />を読み込みます。

---
import { Font } from "astro:assets";
---

<Font cssVariable="--font-roboto" preload />

<style is:global>
  body {
    font-family: var(--font-roboto);
  }
</style>

フォントの配信元やライセンス、対応するprovider設定は公式ガイドで確認してください。フォントを追加しただけで表示速度が保証されるわけではないため、実際のページで読み込み量とレイアウトシフトを測定します。

Astro 5から移行するときの注意

Astro 6には破壊的変更があります。特に次を確認してください。

  • Node.js 22以降へ更新する
  • 独自にViteを固定している場合はVite 7以降へ更新する
  • スキーマではZodをastro/zodから読み込む
  • 廃止されたAstro.glob()や旧Content Collectionsを移行する
  • <ViewTransitions />を使っている場合は新しいルーター構成を確認する
  • Cloudflare adapterのruntime API変更を確認する

公式のアップグレードCLIを使う場合も、先にGitで変更を保存してから実行します。

npx @astrojs/upgrade

アップグレード後は、開発サーバーだけでなく本番ビルドとデプロイ先でも確認してください。

npm run build
npm run preview

どのサイトで導入を検討するか

Astro 6は、既にAstroを使っているサイト、外部CMSをContent Layerで扱いたいサイト、Cloudflare Workersなど本番ランタイムとの差を小さくしたいサイトで検討できます。

一方、現在のAstro 5サイトが安定しており、新機能を必要としていない場合は、依存パッケージやアダプターの対応を確認してから移行しても遅くありません。メジャーアップデートでは、機能の多さよりも利用中のintegrationが対応しているかが重要です。

移行後の確認項目

ローカルでページが表示できただけでは、移行完了とはいえません。最低限、次を確認します。

  • Markdown・MDX・Content Collectionsの全ページを生成できる
  • 動的routeと404ページが意図したレスポンスを返す
  • 画像最適化とフォントのURLが本番環境でも解決できる
  • CSPを有効にした場合、必要なscript・style・imageを遮断していない
  • 使用中のadapterでSSRとAPI routeが動く
  • sitemap、RSS、OGPなどのintegrationが対応している
  • CIでNode.js 22以降を使っている

特に静的出力からオンデマンドレンダリングを含む構成へ変える場合は、キャッシュ、障害時の応答、外部CMSの停止も考慮します。Live Content Collectionsを採用するページと、ビルド時に確定させるページを分けると、外部サービスへの依存範囲を小さくできます。

また、実験機能を有効にした状態で問題が起きたときは、まず実験機能を無効にして再現するか確認します。安定機能の不具合と実験機能の制約を切り分けやすくなります。

まとめ

Astro 6の要点は次の3つです。

  • 開発サーバーを刷新し、本番ランタイムとの差を減らしやすくした
  • Live Content Collections、CSP、Fonts APIが安定した機能として追加された
  • Node.js 22、Vite 7、Zod 4など移行時に確認すべき変更がある

性能はサイト構成によって変わります。根拠のない比較値で判断せず、公式の移行ガイドを読み、自分のサイトでビルド・表示・デプロイを検証してください。

参考リソース

← 一覧に戻る
PR
PR
PR
PR