この記事では、Aulvem サイトを Astro でゼロから構築する過程と、その中で得た判断のポイントを記録します。 構成選定の理由、ハマった箇所、運用にあたって最初に決めておいたルールまでをまとめます。

結論

  • Astro 5 (output: "static") + MDX + Tailwind + Cloudflare Pages の構成に落ち着いた
  • 検索は Pagefind、サイトマップ・RSS は Astro 公式統合で十分
  • Content Collections を最初から導入したことで、フロントマターのゆれを潰しやすくなった

前提

  • 個人で運用する小さなブランドサイト兼メディアという用途
  • 派手なインタラクションは不要で、文章と画像中心の表示が大半
  • 運用は自分一人、CI はあるが手作業のデプロイもありうる

採用構成と選んだ理由

Astro を選んだ理由

  • 静的 HTML 出力で十分な要件に対し、必要なときだけアイランドを使えるバランスが良い
  • MDX とコンテンツコレクションが標準でしっかり整っている
  • ビルドが速く、Cloudflare Pages との相性が良い

Tailwind を選んだ理由

  • デザインを後追いで揃えやすく、必要な部分だけクラスを足していける
  • 書く文章中心のサイトで、ユーティリティクラスのコストが負担にならない

詰まった点

Content Collections の slug を schema に書きそうになった

slug は Astro がファイルパスから自動推論するため、スキーマには 入れない のが正解でした。 スキーマに書こうとすると型エラーになり、しばらく原因に気付かず時間を溶かしました。

trailingSlash: "always" と内部リンクの不整合

Astro の設定で末尾スラッシュを必須にしたあと、自分が書く内部リンクが /blog/foo のままだとリダイレクトが必要になります。 書き始めの段階で すべての内部リンクを /.../ 形式に揃える ルールを敷きました。

まとめ

  • 「派手な機能を作る前に、運用ルールを先に決める」のが個人サイトでは効いた
  • フロントマターのスキーマと URL の正規化は、初日に決めておくと後で困らない
  • 続く記事では、Content Collections の細かい運用 Tips を Build にまとめていきます

このサイトを通じて公開している代表作の一つに ふたりの家計簿(Excel / Google Drive 版) があります。