Netlifyで静的サイトを公開する手順|4サイト運用して分かった落とし穴つき
Netlifyで実際に4つのサイトを本番運用しています。コマンド1行で公開するまでの手順と、独自ドメイン設定、そして公開フォルダの設定で実際にヒヤッとした落とし穴をまとめました。
この記事でできるようになること
- 手元の静的サイトを、コマンド1行で本番公開できるようになる
- 独自ドメインを設定できるようになる
- 公開してはいけないファイルを公開してしまう事故を避けられる
前提
- 環境:macOS(WindowsでもCLIの手順は同じです)
- 必要なもの:Node.js、GitHubまたはメールアドレスでのNetlifyアカウント
- 所要時間:初回で15分程度
- 費用:無料プランで運用しています(2026年8月時点。4サイトを本番運用していますが、無料枠を超えたことはありません)
現在、学習アプリ2本・ポートフォリオサイト・本サイトの計4つをNetlifyで運用しています。
手順
1. CLIを入れる
npm install -g netlify-cli
2. ログインする
netlify login
ブラウザが開いて認証されます。
3. 公開する
公開したいフォルダに移動して、次の1行です。
netlify deploy --dir . --prod
初回は「新しいサイトを作るか、既存サイトに紐づけるか」を聞かれます。サイト名を決めると、https://<サイト名>.netlify.app で即座に公開されます。
--prod を付けないと本番ではなくプレビュー用のURLに出ます。確認してから本番に上げたいときは、あえて --prod を外すのが便利です。
4. 更新する
2回目以降は同じコマンドだけです。設定は .netlify/state.json に保存されているので、サイトの選択を毎回聞かれることはありません。
netlify deploy --dir . --prod
5. 独自ドメインを設定する
Netlifyの管理画面で、対象サイトの Domain management から独自ドメインを追加します。
そのあと、ドメインを取得したサービス側でDNSを向けます。
| 設定するもの | 内容 |
|---|---|
| ルートドメイン(example.com) | NetlifyのIPアドレス、またはNetlify DNSへの切り替え |
| wwwサブドメイン | Netlifyが指定するホスト名へのCNAME |
SSL証明書は自動で発行されます。 DNSの反映を待つ必要があるので、追加直後に証明書エラーが出ても、しばらく待てば解消します。
つまずきやすい点
publish = "." は「フォルダの中身を全部公開する」という意味
これが一番危ない設定です。netlify.toml に次のように書いた場合、
[build]
publish = "."
そのフォルダに置いたものは全部そのまま配信されます。 作業用のスクリプト、元データ、メモ書きを同じフォルダに置いていると、URLを直接叩けば誰でも見られる状態になります。
実際に学習アプリを作ったとき、オープンデータの元ファイルを一時的に公開フォルダに置いていて、公開前に気づいて移動しました。
対策はシンプルで、公開するフォルダと作業するフォルダを分けることです。 本サイトも、公開するのは site/ だけにして、Markdownの原稿やビルドスクリプトはその外に置いています。
公開前に何が配信されるか必ず確認する
netlify deploy --dir . --prod --dry-run
--dry-run を付けると、実際には送信せずに「何がアップロードされるか」だけを確認できます。公開フォルダを共用しているなら、毎回これを挟むのが安全です。
大きな画像を置くと初回表示が明確に遅くなる
デプロイ自体は通ります。ただしスマホ回線での初回表示に差が出ます。以前、画像の合計が12MBあったものを3.7MBまで圧縮したところ、体感が変わりました。アップロードする前に圧縮しておくほうが確実です。
フォームを使うならHTMLに属性を足すだけ
問い合わせフォームは、バックエンドを用意しなくてもNetlifyの機能で受け取れます。
<form name="contact" method="POST" data-netlify="true">
この属性を付けてデプロイすると、送信内容が管理画面に届きます。スパム対策の netlify-honeypot 属性も併せて設定できます。
よくある質問
Netlifyは無料で使えますか?
使えます。実際に4サイトを本番運用していますが、無料プランのまま上限に達したことはありません。ただし帯域やビルド時間には上限があるため、最新の条件は公式サイトでご確認ください。
デプロイ前に何が公開されるか確認できますか?
できます。デプロイコマンドに --dry-run を付けると、実際には送信せずアップロード対象のファイル一覧だけを確認できます。公開フォルダに作業ファイルが混ざっていないかの確認に使えます。
独自ドメインのSSL証明書は自分で用意する必要がありますか?
不要です。独自ドメインを追加してDNSが反映されると、証明書は自動で発行されます。反映待ちの間は一時的に証明書エラーが出ることがあります。
まとめ
Netlifyの公開自体は netlify deploy --dir . --prod の1行で終わります。難しいのは公開作業ではなく、「何を公開フォルダに置くか」の管理でした。
- 公開するフォルダと作業するフォルダを分ける
--dry-runで配信対象を確認してから本番に上げる- 画像は上げる前に圧縮する
この3つを最初に決めておけば、事故は起きません。