1. はじめに
このコースでは、Astroを使ってミニマルなWebサイトを構築して、最終的にはNetlifyで公開するところまでを解説します。
使用するのは、Mac、Astro、VSCode、GitHub、Netlifyです。
前半の「構築編」では、次のところまで進めました。
- Astroを動かす環境を整える
- 作業用フォルダをつくる
- Astroプロジェクトをつくる
- テーマを適用する
- Astroのファイル構成を理解する
- カスタマイズの準備
- 静的HTMLデータとして書き出す
これで、ローカルでは動いている状態になりましたが、これだけでは公開・運用・保守という、Webサイトの本質的な部分がまだ整っていません。
この「運用編」では、次の内容を扱います。
- GitHubでバージョン管理する
- NetlifyでWebサイトを公開する
- コードエディタの設定とAIエージェント
- Markdown記法
- Astro/テーマ/Node.jsのアップデート方針
ここを押さえておくことで、壊れにくく・安全で・更新しやすい静的サイト運営が可能になります。
2. GitHubでバージョン管理する
AstroのWebサイトをローカルで管理して、FTPアプリでアップロードすることもできますが、長期運用を考えると非効率なことがあります。
GitHubを使ってバージョン履歴を管理することを強くおすすめします。
- どのファイルをいつ変更したかの履歴が追える
- 不具合が起きたときに、過去の状態に戻せる
など良いことだらけです。
ここでは、難しいGit操作はしないで、GitHubの「Clone/Pull/Push」のうち、Pushのみを使います。
GitHubの操作は、公式アプリの「GitHub Desktop」を使うのが簡単です。
インストールしたら「Create New Repository…」を選択して、
Nameにリポジトリの名前、Local PathはローカルのAstroプロジェクトフォルダ
を指定します。これで初期設定は完了です。
何かファイルを変更したら、
SummaryにひとことコメントDescriptionには、必要な場合に補足メモPushを押す
これで、GitHubに更新履歴付きのバックアップがされました。
3. NetlifyでWebサイトを公開する
Netlify(ネットリファイ)は、静的WebサイトやWebアプリケーションのためのホスティングサービスです。
AWS S3やGitHub Pagesに近いサービスですが、Astro+GitHubとの連携がスムーズで、次のような特徴があります。
- 独自ドメインとSSLに対応
- CDNで高速表示
- 月100GBまでの転送量は無料
使い方もシンプルで、
- Astroでカスタマイズした内容をGitHubにPush
- Netlifyで自動でBuildして公開
できます。
まずは「Sign up」からアカウント登録します。
Push your ideas to the web | Netlify
プロジェクトを作成して、GitHubと連携します。
設定はほとんどこれだけで、GitHub DesktopのアプリでPushするとWebサイトが更新されます。
サブドメインで表示が確認できました。
3-1. Netlify Formsでお問い合わせフォーム
Astroのような静的Webサイトでは、そのままではお問い合わせフォームが動きません。
フォーム送信にはサーバー側の処理が必要だからです。
そこで、「Netlify Forms」を使うと、お問い合わせフォームの内容の保存、メール通知、スパム対策まで、必要なものが揃います。
設定は簡単で、やることは2つです。
- 作ったフォームにコードを追加
- メール送信先を設定
お問い合わせフォーム側では、たとえばこのように指定します。
<form
data-netlify="true"
form-name="contact"
>
メール送信先はNetlifyの管理画面で設定します。
3-2. ドメイン設定
次に、このNetlifyのサーバーと独自ドメインを連携します。
やることは、Netlify側でドメインを指定して、ドメイン管理サービス側のDNS設定を、Netlifyで指定された内容に変更することです。
例として、お名前.comを使っている場合、
- ルートドメインのAレコードを、Netlifyで指定されたIPアドレスに変更
- www用のレコードはCNAMEレコードを設定
- ホスト名:www
- 種別:CNAME
- 値:ドメイン
Netlifyではwww付きのURLを推奨しています。
- CDNがフルに働く
- リダイレクトが安定
- 将来的なマルチリージョン構成にも対応しやすい
などが理由です。
DNS伝播(でんぱ)には最短5分〜最長24時間かかりますが、最近は本当数分で完了することが多いです。
3-3. PageSpeed Insights
公開後は、一度パフォーマンスをチェックしておきます。
- PageSpeed Insights
- ChromeのLighthouseアプリ
どちらも中身は同じエンジンです。
初期状態のAstroのテーマでも、かなり高いスコアが出るはずです。
4. コードエディタの設定とAIエージェント
4-1. VSCode
コード編集には、Visual Studio Code(VSCode)を使うことを前提とします。
まずは拡張子が.astroのファイルをVSCodeに紐づけます。
- Finderで
.astroファイルを選択 - ⌘Command + I」か、メニューバーの「ファイル > 情報を見る」
- 「このアプリケーションで開く」で「VSCode」を選択
- 「すべてを変更…」 をクリック
します。
次に、VSCodeにAstroの拡張機能をインストールします。
シンタックスハイライトやコード補完が有効になって、編集効率が上がります。
このタイミングで、Astro公式ドキュメントをざっと眺めておくと理解がスムーズです。
4-2. Codex
AstroのテーマをAIエージェントでカスタマイズするために、VSCodeに「Codex」の拡張機能をインストールします。
デフォルトのままだと少し使いづらいので、次のように配置を調整します。
- Codexのアイコンを「^Control + クリック」
- 「移動先 > セカンダリ サイド バー」を選択
します。Codexのウインドウが右側に表示されました。
- 「Switch mode」を「Chat」にして計画をたてたり
- 「Agent」にしてファイルを書き換えまで任せられるモード
といった形でテーマのカスタマイズをサポートしてくれます。
Codex – OpenAI’s coding agent - Visual Studio Marketplace
5. Markdown記法
Markdown(マークダウン)記法は、文章に#(シャープ)などの記号をつけて書くだけで、文書構造を正しくマークアップできる書式です。
HTMLで書くとこうなります。
<h1>見出し</h1>
<p>段落</p>
<ul>
<li>リスト1</li>
<li>リスト2</li>
</ul>
Markdownでは、同じ内容を次のように書けます。
# 見出し
段落
- リスト1
- リスト2
たとえばYouTubeの動画を埋め込むタグなども、そのままテキストとしてMarkdownファイルに書き込めるので、Astroとの相性がいいです。
Markdownに対応したエディタには、「Bear」や「Ulysses」などがありますが、設計思想が違います。両方トライアル期間があるのでお試しすることをおすすめします。
- 見た目が美しくて書いていて気持ちいい
- 気分でテーマを変えられる
- 文書構造に基づいて自動的にもくじを生成してくれる
など、書くことに集中できます。
6. Astro/テーマ/Node.jsのアップデート方針
最後に、「作ったあとどうするか」という話です。
たとえばWordPressでWebサイトを運営していると、どうしても定期的なアップデートやセキュリティ対策が必要になります。
Astroは静的サイトなのでその負荷は大きく下がりますが、それでも
- Astro本体
- テーマ
- Node.js
の3つは、半年〜1年に一度くらいのペースで見直すと安心です。
仮にバージョンアップで不具合が起きたとしても、問題が起きるのはローカル環境です。
バージョンを戻したり、GitHubのバックアップから復元することも簡単です。
管理画面にセキュリティホールが発生する危険性がないのも、静的ファイルのセキュリティ面の強さです。
6-1. テーマのアップデート
テーマをカスタマイズをしている場合は、
- テーマの変更点を確認
- 必要な部分だけ、自分のプロジェクトに取り込む
という運用が現実的です。
テーマのアップデートに合わせるのではなく、自分のテーマに必要な変更だけを持ってくるという意識がいいと思います。
6-2. Astro本体のアップデート
Astroのバージョンはpackage.jsonで管理されています。
- 5.1→5.2などのマイナーアップデートは、基本的に対応
- 5.2→6.0のようなメジャーアップデートは、別プロジェクトで検証してから適用
という方針を基本として、現状が安定しているなら、あえて現状のパージョンのまま使い続ける判断も十分ありです。
6-3. Node.jsのアップデート
Astroの土台となっているのがNode.jsです。
安定していることを最優先したいので、
- Current(通常版)ではなく
- LTS(Long-Term Support:長期サポート版)だけを追う
という方針に絞るのが安全です。
7. ミニマルなおすすめテーマ
ミニマルで扱いやすいテーマをいくつかご紹介です。
8. さいごに
前半の「構築編」と後半の「運用編」を通して、AstroでWebサイトを制作して、公開・運用を始めるまでの流れを段階的に整理してきました。
このコースは、動画とテキスト記事の両方を用意しています。理解を深めるためにも、ぜひ併用してご覧ください。