新しいWebツールやアプリのコードが書き上がり、「できた! 完成した!」とテンション最高潮のまま公開ボタンをポチッと押した直後……「スマホで見たら画面が盛大に崩壊していた」「SNSでシェアされたときの画像(OGP)が真っ黒だった」「テスト用のAPIキーをGitに上げかけて心臓が止まりそうになった」といった経験はありませんか? 正直に告白すると、私は過去にすべてやらかしたことがあります。😹️
人間は、「完成した!」と興奮している瞬間が一番注意力が散漫になり、信じられないような初歩的ミスをやらかす生き物です。
赤猫座の道具店では、そんな冷や汗ものの失敗と反省を繰り返した末に、「公開直前に必ず上から順番に点検する12項目のチェックリスト」を作成し、毎回必ずチェックしてから店先に並べるようにしています。今回は、個人開発の品質と安全を守るための実戦的な公開前チェックリストをすべて公開します。
公開前のわずか10分の点検が、公開後の何時間もの緊急対応と信頼失墜を防ぎます。「UI表示」「セキュリティ」「サイト内導線(SEO)」「動作検証」の4大カテゴリに分けた実戦チェックリストと、失敗を仕組みで防ぐルールをまとめました。
1. カテゴリ別:公開前・最終点検チェックリスト(全12項目)
道具をサーバーにデプロイする直前、必ず以下の4つの視点からセルフチェックを行います。
① UI・表示・デザインの点検
- 📱 スマホ実機での操作感:これ結構忘れがち、出来たと思ったらそもそもスマホ用への対策すっかり忘れてることは多々あります…。あと、PCのブラウザエミュレータだけでなく、実際のiPhoneやAndroid実機でボタンが押しやすいか、入力時にキーボードで画面が隠れないか。
- 🌓 ダークモードでの視認性:墨色の背景に対してテキストやアイコンのコントラストが十分に確保されているか(暗すぎて読めない文字がないか)。
- 🖼️ favicon & OGP(SNSプレビュー):タブのアイコンが表示されているか、X(旧Twitter)などでURLを貼った際に適切なアイキャッチ画像と説明文が出るか。
② セキュリティ・秘密情報の点検(最重要)
- 🔑 APIキーやトークンの秘匿:
config.phpや環境変数に書いた本番キーがGitに含まれていないか(.gitignoreの確認、配布用サンプルの用意)。※かなり重要項目です。 - 🛡️ 個人データ・通信の確認:入力されたテキストが意図せずサーバーに飛んでいないか(クライアント完結の徹底)。
- 🔴 コンソールエラーの完全撲滅:DevToolsのコンソールを開き、赤い文字(JavaScriptのエラーやリソース読み込み失敗)が1行も残っていないか。
③ ポータル・導線・SEOの点検
- 🔗 店先(TOP)・道具一覧への追加:店舗情報の「品数カウント」を増やし、道具カタログ一覧にカードを正しく配置したか。
- 🗺️ sitemap.xml の更新:検索エンジンのクローラーに知らせるため、新しいツールのURLをサイトマップに追加したか。
- 📮 問い合わせ・ポリシーへのリンク:フッターの共通リンクが切れていないか、道具屋日誌の関連記事と正しく相互リンクされているか。
④ 道具本体の動作・エッジケース検証
- 🧪 空文字・極端な入力値のテスト:何も入力せずにボタンを押したとき、数万文字のテキストを貼り付けたときにフリーズしないか。
- 📋 コピーボタンの動作確認:出力結果が正常にクリップボードにコピーされ、完了トーストが表示されるか。
- 🔄 リセット(初期化)の確認:初期状態に戻すボタンを押した際、すべての入力欄と状態が綺麗にクリアされるか。
2. 比較表:チェックリストなしの突貫公開 vs チェックリスト運用の安全公開
| 項目 | 🚀 チェックリスト運用(赤猫座方式) | 💣 チェックリストなしの突貫公開 |
|---|---|---|
| 公開直後の心境 | 点検済みなので安心して眠れる | 「何か見落としてないか」と不安でソワソワする |
| 初動のトラブル対応 | ほぼゼロ(想定外のバグのみ対応) | リンク切れや表示崩れで深夜に緊急修正連発 |
| SNSシェア時の印象 | 綺麗なOGP画像とタイトルで高クリック率 | 画像なし・デフォルトタイトルで誰にも読まれない |
| セキュリティ事故 | コミット前の多重確認で未然に防げる | APIキー流出や予期せぬ課金爆発のリスク |
3. Gitに秘密情報をコミットしかけて青ざめた実体験
チェックリストの中でも、特に私が血眼になって確認しているのが「Gitへの秘密情報コミット防止」です。
LINE BotやAI連携ツールを開発していた際、ローカル環境で動作テストをするために config.php に直接APIキーを書き込んで作業していました。そして動作が確認できて嬉しさのあまり、git add . してそのままGitHubへプッシュしかけたことがあります。
GitHubなどの公開リポジトリは、世界中の悪意あるボットが24時間体制で監視(スキャン)しています。うっかりAPIキーをプッシュしてしまうと、数秒後にはキーが悪用され、数時間で数十万円の従量課金請求が届く……という大事故が世界中で起きています。
この恐怖を味わって以来、.gitignore で設定ファイルを確実に除外することはもちろん、配布用には必ず config.sample.php(ダミー値を置いた空テンプレート)を用意し、公開前には git status とコミット差分を1行ずつ目視確認することを絶対の鉄則にしています。
4. 「チェックリストは失敗するたびに1行育てる」のが真髄
このチェックリストは、最初から綺麗に12項目あったわけではありません。
公開後に「あ、スマホで見たらボタンが押しにくい」「あ、sitemap.xml に追加するのを忘れてた」「あ、404リンクが混ざってた」と、痛い目を見るたびに反省して1項目ずつ書き足していった結果です。
「失敗したとき、『次は気をつけよう』と精神論で反省しても人間は必ずまた同じミスをします。
失敗したら、二度と同じミスができないようにチェックリストに1行追加する。これが唯一の解決策です。」
チェックリストとは、過去の自分の「やらかしと冷や汗の歴史」そのものです。失敗を個人の不注意のせいにせず、仕組み(チェック項目)に落とし込んでいくことこそが、エンジニアリングの最も誠実な姿だと考えています。
まとめ:最後の「10分の儀式」が道具の品格を守る
コードが動いた瞬間の「早くみんなに見せたい!」という興奮をほんの少しだけグッと抑え、温かいお茶でも淹れて、チェックリストを上から1つずつ指差し確認していく。
この最後の10分の儀式があるからこそ、自信を持って「いらっしゃいませ」と道具屋の暖簾(のれん)を掲げることができます。
赤猫座の道具店はこれからも、この点検表を相棒にしながら、ひとつひとつの道具を丁寧に仕立てて店先に並べてまいります。個人開発をされている皆さまも、ぜひ自分だけの「失敗防止リスト」を育ててみてください。😸
