04 / GUIDE
レビュー / 公開
公開する前の、
実チェックリスト。
秘密情報・権限・外部送信・入力値・依存・モバイル・SEO・計測・戻し方まで。AIに任せて作ったサイトを公開する前に確認する項目と、その確認でも保証できないこと。
01 / SECRETS
読まれてはいけないものを、先に数える
公開とは、成果物の中身を全員に配ることです。まず、配ってはいけないものが混ざっていないかを確認します。
- .envや鍵ファイルがリポジトリに入っていないか。無視設定に追加しただけで、過去のコミットには残っていることがあります。履歴も確認します。
- クライアント側へ埋め込まれる環境変数に、サーバー専用のキーが入っていないか。公開用の接頭辞が付いた変数はビルド時にJavaScriptへ展開され、誰でも読めます。
- ビルド後の成果物を文字列検索する。生成されたJSやHTMLに、トークン、メールアドレス、ローカルの絶対パスが残っていないか。AIに書かせたコードは、デバッグ用のパスや値をそのまま残すことがあります。
- 公開する画像や記事のスクリーンショットに、管理画面やトークンが写っていないか。
02 / OUTBOUND
出口を数える
次に、このサイトが外へ何を送るかを確認します。入口より出口のほうが見落とされます。
- 外部へリクエストを送る先を列挙し、意図した先だけかを確認する。
- 追加した解析タグやウィジェットが、想定より多くのデータを送っていないか。第三者のスクリプトは、あなたのページの権限で動きます。
- 公開作業自体をAIに任せているなら、公開・削除・送信が人の確認を通る形になっているかを見直す。設定側でどう止めるかはdenyルールを実運用で育てるにまとめています。
03 / INPUT
受け口を、実際に叩いて確認する
フォームやAPIは、コードを読むだけでなく、実際にリクエストを送って結果を見ます。
- 認証が必要な画面に認証があるか。noindexやrobots.txtのDisallowは検索結果に出さないための指定であって、アクセス制御ではありません。URLを知っていれば誰でも開けます。
- 受け取る値を、型・長さ・許可文字で検証しているか。想定外の値は保存せずに拒否する形になっているか。
- 保存しないと決めたものを、本当に保存していないか。決めたことと実装が一致しているかは、公開前に1回、実際のリクエストで確かめます。
- 誰でも叩ける受け口に、一定時間あたりの上限があるか。
参考までに、このサイトの診断は、回答とスコアをサーバーへ送らず、ブラウザの中だけで判定しています。送らないと書いた以上、送っていないことを確認できる状態にしておくのが、この項目の目的です。
04 / DEPENDENCIES
依存とビルドを、本番の条件で通す
- 依存パッケージの既知の脆弱性を確認する。
- ロックファイルをコミットしているか。手元と本番で違うバージョンが入る状態にしない。
- 使っていない依存を削除する。AIに任せると、試して採用しなかったパッケージが残りがちです。
- 本番ビルドを通す。開発サーバーでは出ないエラーが、本番ビルドで初めて出ることがあります。公開前に必ず一度は本番と同じビルドを実行します。
05 / DISPLAY
狭い画面と、キーボードだけで確認する
- 横スクロールが出ていないか。幅360px前後で、ページ全体が横に動かないことを確認します。表・コード・図は、その要素の中だけでスクロールさせます。
- キーボードだけで主要な操作ができるか。Tabで進めて、いまどこにフォーカスがあるかが見えるか。
- 本文へ飛ぶスキップリンクがあるか。
- 画像の代替テキスト、文字と背景のコントラスト、動的に変わる領域の読み上げ。
- 実機で1回開く。画面幅を変えるだけの確認では、フォントサイズやタップ範囲の問題が出ません。
06 / METADATA
メタデータは、1ページずつHTMLで見る
- canonicalが自分自身を指しているか。共通テンプレートで指定したcanonicalを各ページで上書きし忘れると、全ページが同じURLを指す状態になります。管理画面ではなく、公開されたHTMLで確認します。
- 多言語なら、hreflangが相互に指し合っているか。片方向だけの指定は無効になります。
- OGP画像が絶対URLで、実際に表示できるか。
- robots.txtとsitemap.xmlが、実在するURLと一致しているか。sitemapを手で書いているなら、ページを増やしたときの更新漏れが起きやすい場所です。
- 構造化データの型が本文と一致しているか。FAQの構造化データを書いたなら、同じ質問と答えが本文にも見えている必要があります。
Googleの公式ガイドでは、生成AI検索についても、追加の技術要件や専用のschemaは必要なく、通常の検索の品質・技術要件が基盤になると説明されています。特別なタグを足すより、この項目を通すほうが確実です。
07 / MEASURE
計測と、戻し方を先に用意する
- 計測が本番ホストだけで動くか。開発中のアクセスが混ざると、公開直後の数字が読めなくなります。
- 自分の端末を集計から外せるか。公開直後にいちばん多くアクセスするのは自分です。
- 公開URLで最終確認する。ローカルではなく本番のURLを、別のブラウザとログアウト状態で開きます。キャッシュもCookieもない状態が、訪問者が見る状態です。
- 戻し方を先に確認する。直前の状態へ戻す手順を、公開前に1回実際に試しておきます。事故のあとに調べ始めると、その時間がそのまま公開状態の時間になります。
08 / LIMITS
このチェックでも保証できないこと
このチェックリストが見つけられるのは、既知の抜けだけです。次のことは範囲外です。
- 設計そのものの誤りや、想定していない使われ方。
- 顧客データ、決済、本番の個人情報を扱う場合。この範囲では足りません。
- 依存パッケージの脆弱性。公開前に1回確認して終わりではなく、公表され続けるものを追う必要があります。
全部通しても、安全になったわけではありません。今日わかっている抜けを埋めた、というだけです。それでも、埋めていない状態で公開するよりは、ずっと戻しやすくなります。
一次情報から確認できること
メタデータと検索まわりの項目は、Googleの公式ガイドの説明に沿っています。権限まわりはClaude Codeの公式ドキュメントを参照しています。
- Google Search Central:生成AI検索の最適化ガイドSEOの基本、独自で役立つ内容、クロール可能な構造、Search Consoleでの測定が中心です。
- Google Search Central:AI機能とウェブサイト表示のための追加技術要件や、特別なschemaはありません。
- Claude Code Docs:Configure permissions公開・削除・送信を人の確認へ戻すための、権限ルールの書き方と評価順。
このチェックリストは運用前後の確認項目であり、セキュリティ監査ではありません。順位、表示、安全性を保証するものではありません。
FAQ
よくある確認
テストが通っていれば公開してよいですか?
テストは決めた入力で壊れていないことを確認するものです。何を変えたのか、出してはいけないものが混ざっていないかは、テストとは別に人が確認します。
noindexやrobots.txtで隠せば非公開にできますか?
できません。どちらも検索結果に出さないための指定であって、アクセス制御ではありません。URLを知っていれば誰でも開けます。見せたくないなら認証を実装します。
公開前に本番URLで確認する必要はありますか?
あります。ローカルで通る設定が本番環境で変わることがあります。別のブラウザ、ログアウト状態、キャッシュなしで開いた状態が、訪問者が見る状態です。
チェックリストを全部通せば安全ですか?
いいえ。既知の抜けを埋めただけです。設計そのものの誤りや、公開後に公表される依存パッケージの脆弱性は、このチェックの範囲外です。
任せる前に、5問の安全診断を。
1分で安全診断 →