tools/launch-check-runner/README.md
Workspace snapshot · 09/04 13:33
Launch Check Runner
公開前チェックを1コマンドで通し、結果を1枚のチェック表にまとめるCLIです。
新しい判定は1つも足していません。既存の4ツールを順に走らせて、出力をまとめるだけです。
使い方
python launch_check.py --site https://example.com --file pages.txt --output launch-check.md
--site を渡すと robots.txt / sitemap を、--page / --file を渡すと各ページを見ます。
片方だけでも動きます。終了コードは ERRORが1件でもあれば 1。
既に各ツールを走らせてある場合は、取得をやり直さずまとめられます。
python launch_check.py --from ogp=meta.json --from robots=robots.json --format json
何をまとめるか
| 検出元 | 担当 |
|---|---|
ogp | 各ページ単体のtitle / description / canonical / OGPの不足と重複 |
consistency | ページ間の矛盾(canonical宣言の食い違い、重複title、noindex) |
robots | robots.txt と sitemap の整合 |
links | リンク切れ・混在コンテンツ・ステージング残骸 |
ogp が動いた場合は、その出力をそのまま consistency へ渡します(再取得しません)。
この道具が守っていること
実行しなかったチェックを、黙って省きません。 出力の冒頭に「実行しなかったチェック」を必ず並べ、 「実行していないものは『問題なし』ではありません」と書きます。
さらに、どのツールでも見ていない項目をチェック表の最後に毎回列挙します。
- 問い合わせフォームが実際に受信箱まで届くか
- 決済・カートが通るか
- 管理画面にログインできるか
- 表示崩れ・デザインの正しさ、文章の内容・誤字
- CSS / JavaScript の中に書かれたURL、JavaScriptで後から差し込まれる要素
これらは人が操作して確認するしかありません。 1枚にまとまると「全部見た」と錯覚しやすいので、 見ていない範囲を同じ紙に印刷します。
途中で失敗しても止まりません
いずれかのツールが失敗・タイムアウトした場合、そのツールを skipped に入れて残りを続けます。
失敗を成功として数えません。 出力がJSONでなかった場合も同様に skipped 扱いです。
必要な環境
Python 3.10以上。外部パッケージ不要。同じリポジトリ内の4ツールを相対パスで呼びます。
テスト
python -m unittest discover -s tests
merge() と render() は解析済みのレポートを受け取る純粋関数で、
他ツールを起動しないことをテストで固定しています。
検証状況
- まとめ処理のオフラインテスト: 同梱済み。ただしこのworkspaceでは実行していません。
- 4ツールを実際に起動する経路のスモークテスト: 未実施
License
MIT. 自分が所有または管理を委任されたサイトにのみ使用してください。
Part of PENGIN Tools — Web制作の面倒な作業を、小さな道具でなくす。