開発・個人開発

個人開発の公開前チェックリスト 20項目で見落としゼロに

個人開発の公開前チェックリスト 20項目で見落としゼロに

この記事の要点

個人開発のサイト・アプリを公開する前に確認すべき20項目をまとめた。セキュリティ・SEO・パフォーマンス・法的事項・ユーザー体験の5つの観点で、公開後のトラブルを防ぐチェックリストを解説する。

結論

個人開発の公開前チェックは、セキュリティ・SEO・パフォーマンス・法的事項・UXの5観点で行う。最も優先すべきはAPIキー等の機密情報がコードやGitHubに含まれていないことの確認だ。残りは優先順位をつけて、まず最低限を確認してから公開し、不足分を後から改善する方法でも問題ない。

公開前チェックリスト:20項目

【セキュリティ】5項目

□ 1. APIキー・シークレットがコードに含まれていない

最重要確認項目だ。APIキー・データベースパスワード・Supabaseのservice_role key等が、コードや設定ファイルにハードコードされていないことを確認する。

# APIキーらしい文字列を検索する
grep -r "sk-" src/
grep -r "SERVICE_ROLE" src/
grep -r "secret" src/ | grep -v node_modules

公開されるコードに機密情報があれば、即座に環境変数に移してから公開する。

□ 2. .envがGitHubにプッシュされていない

.gitignore.env.env.local.env.productionが含まれているか確認する。

cat .gitignore | grep env

□ 3. Supabase RLSが有効化・設定されている

Supabaseを使っている場合、全テーブルでRLSが有効化されているか確認する。RLSなしでanon keyを公開すると、データベースの全データが誰でも読み書きできる状態になる。

□ 4. 環境変数がVercelに設定されている

本番ビルドで必要な環境変数が、Vercelの環境変数設定に含まれているか確認する。ローカルでは動いても本番でエラーになる最大の原因がこれだ。

□ 5. HTTPSが有効になっている

独自ドメインを設定している場合、https://で接続できることを確認する。Vercelは自動でHTTPSを有効にするが、DNS設定が完了していない間は有効にならない。

【SEO・発見性】4項目

□ 6. metaタグ・descriptionが正しく設定されている

ブラウザのデベロッパーツールで<head>を確認し、title・description・canonicalが意図した値になっているか確認する。

□ 7. OGP(SNSシェア)が正しく表示される

Twitter Card Validator・Facebook Sharing Debuggerでシェア時の表示を確認する。タイトル・説明・画像が正しく表示されていることを確認する。

□ 8. sitemapが生成されている

https://your-site.com/sitemap-index.xmlにアクセスしてsitemapが表示されることを確認する。Google Search Consoleにsitemapを送信する。

□ 9. robots.txtが正しく設定されている

https://your-site.com/robots.txtにアクセスして、インデックスさせたくないページがDisallowになっているか・AIクローラーが許可されているかを確認する。

【パフォーマンス】3項目

□ 10. Lighthouseスコアを確認した

Chromeの開発者ツール → Lighthouse → 「Analyze page load」でパフォーマンス・SEO・アクセシビリティのスコアを確認する。致命的な問題(60点以下の項目)があれば修正する。

□ 11. 画像が最適化されている

大きな画像ファイルはページの読み込みを遅くする。Astroのimage最適化・WebP変換・遅延読み込みが有効になっているか確認する。

□ 12. フォントの読み込みが最適化されている

Google Fontsなどの外部フォントは、display=swapの設定やpreconnectで読み込み速度を最適化する。

【法的・コンテンツ】4項目

□ 13. プライバシーポリシーを用意した(必要な場合)

Google Analyticsやその他のアナリティクスを使用する場合・個人情報を収集する場合は、プライバシーポリシーページが必要だ。

□ 14. 著作権表示を確認した

使用している画像・フォント・コードのライセンスを確認し、必要な帰属表示(クレジット)を適切に行う。

□ 15. AI生成コンテンツの表示(任意)

AIが生成したコンテンツを公開する場合、その旨を示すことを検討する。透明性はユーザーの信頼につながる。

□ 16. コンタクト情報を記載した(必要な場合)

特定商取引法の対象となる取引(販売・サービス提供)がある場合は、所定の表示が必要だ。個人情報を扱うフォームがある場合も連絡先の記載が望ましい。

【ユーザー体験】4項目

□ 17. モバイル表示を確認した

スマートフォンでサイトを実際に開いて確認する。ブラウザのデベロッパーツールのモバイルシミュレーターより、実機での確認が信頼できる。

□ 18. 主要なユーザーフローを一通り操作した

記事の閲覧・検索・問い合わせフォームの送信など、ユーザーが行う主要な操作をすべて実際に操作して動作を確認する。

□ 19. エラーページ(404)を確認した

存在しないURLにアクセスしたときに表示される404ページが正しく機能するか確認する。Astroではsrc/pages/404.astroを作ることでカスタム404ページを設定できる。

□ 20. 本番URLでのリンク切れを確認した

ローカルで動いていたリンクが、本番環境のURLで正しく動くかを確認する。相対パスと絶対パスの混在でリンク切れが起きることがある。

確認の優先順位

全20項目を一度に確認するのが難しい場合、以下の順序で進める。

まず絶対確認(公開前に必ず):

  1. APIキー・シークレットの漏洩(□1・□2)
  2. Supabase RLS(□3)
  3. 環境変数の設定(□4)
  4. 主要なユーザーフローの動作(□18)

公開後でも対応可能

  • Lighthouseスコアの改善(□10〜12)
  • llms.txtの整備
  • 法的ページの追加(□13・□16)

公開後に運用で必要なこと

公開した後も定期的に確認すべきことがある。

月次

  • Supabaseのストレージ・APIリクエスト数が無料枠内かを確認
  • 壊れたリンク・古いコンテンツの更新

四半期

  • Google Search Consoleでインデックス状況・検索パフォーマンスを確認
  • 使っているnpmパッケージのセキュリティアップデート

Vercelへのデプロイ設定についてはVercelの初期設定とGitHub連携・自動デプロイを、Supabase RLSの設定はSupabaseの行レベルセキュリティ(RLS)入門で解説している。

まとめ

個人開発の公開前チェックは、まずセキュリティ(APIキー漏洩・RLS設定)を確認し、次に主要なユーザーフローの動作確認、その後SEO・法的事項の順で進める。全20項目を一度に確認する必要はなく、セキュリティ系の5項目だけ確認してから公開し、残りを後から対応する方法でも多くの場合問題ない。大切なのは、APIキーの漏洩だけは公開後に対処が難しいため、これだけは公開前に必ず確認することだ。

よくある質問

個人開発でサイトを公開する前に何を確認すればいいですか

最低限、APIキー等の機密情報がコードに含まれていないこと、環境変数が正しく設定されていること、HTTPSが有効なこと、OGP(SNSシェア時の表示)が正しいことを確認してください。次に、robots.txtの設定とサイトマップの生成を確認します。

公開前にセキュリティテストは必要ですか

個人の趣味サイトなら過度な心配は不要ですが、ユーザーのデータを扱うサービスや認証機能がある場合は、OWASP Top 10の基本的なリスクを確認することを勧めます。Vercel・Supabaseを使った静的サイト+APIの構成は、適切なRLSを設定していれば比較的安全です。

公開後に発見した問題はどう対処すればいいですか

Vercelを使っていれば、ローカルで修正→プッシュするだけで数分で反映されます。重大なセキュリティ問題(APIキーの流出等)は、まずキーを無効化・再発行してから修正してください。問題の種類によっては、サイトをメンテナンスモードにする選択肢も検討します。

公開前チェックに時間がかかる場合、優先順位はどうすればいいですか

セキュリティ(APIキー漏洩・XSS等)→機能の動作確認→SEO基本設定→法的事項→パフォーマンスの順を勧めます。特にAPIキーを含んだままの公開は致命的な問題につながるため、最優先で確認してください。