ジャーナル ·
ページを公開する前に、テストが確認すること
AI翻訳 このページは原文(英語・韓国語)をAIで機械翻訳したもので、誤りを含む場合があります。原文が正本です。 原文を読む
ipe.rest が変わる前に、小さなテスト137個が私たちのマシンで確認します。かかるのは約8秒で、デプロイのたびに一緒に動くのはそのうち7個だけ、そしてどのテストにも見えないものがあります。何を見ているのかを書きます。
昨日の記事は機械のためのファイルの話でした。今回は、読む人が出会うことのないもの、ページが公開される前に動く確認の話です。数値は2026年11月8日のもので、この記事を加える前のリポジトリから取りました。コマンドは1つ、python3 -m unittest discover tests、テストは137個で、すべて通りました。
10個のファイル、コマンド1つ
テストは10個のファイル、合計1,850行にあります。重心はジャーナルにあり、137個のうち56個がジャーナルのページに関するものです。さらに23個が about、お問い合わせ、プライバシー、利用規約などそのほかのページを、18個がホームページを扱います。残りは小さなまとまりです。検索エンジンへの通知が9個、構造化データが8個、デプロイが7個、時刻の表示が7個、サービスワーカーが4個、リンクとアセットのバージョンが4個、共有画像が1個です。
何を見つけるか
ここにあるページの多くは、私たちの原稿から生成されます。ジャーナルの記事、サイトマップ、フィード、llms.txt、ホームページのカードです。生成されたファイルが1つでも古ければテストが失敗するので、誰かが手で直して原稿を忘れる、ということは起こりません。
ほかのテストは言語を守ります。どの記事にも12言語それぞれの版が必要で、各ページはほかの版と自分自身にリンクし、サイトマップはページと同じリンクを載せなければなりません。自分たちで決めた決まりを守るテストもあります。300語に満たない新しい記事は受け付けず、400語に満たなければ警告だけを出し、未来の日付の記事は断り、ページの説明を省略記号で切ってはいけません。
ページをオフラインでも開けるようにするサービスワーカーには、バージョン番号の付いたキャッシュ名があります。各ページのアセットへのリンクにあるバージョンが、サービスワーカーの挙げるものと一致するかをテストが確認するので、変更したスタイルシートが古いまま配られることはありません。
デプロイのたびに動く7個
デプロイのワークフローで動くのは、7個のテストが入ったファイル1つだけです。これはリポジトリではなく、できあがったサイトを確認します。訪問者に必要なファイルがあること、scripts や tests のようなフォルダがアップロードされていないこと、404ページに noindex が付いてホームへのリンクがあることです。失敗すれば、何も公開される前にデプロイが止まります。
残りの130個は関門ではなく習慣です。コミットの前に私たちが回すもので、サーバー側にそれを強いるものはありません。
見えないもの
テストに通ったということは、ページどうしが一致しているということで、良いページだということではありません。機械が下書きした10言語の翻訳を、意味として読むテストはありません。だからそれらのページにはAI翻訳の注記が付いています。ここにはブラウザを開くテストもないので、狭いスマートフォンの画面での見え方は目で確かめます。そして、これらのファイルを揃えておく私たちの手間にクローラーが気づくかどうかは、言えません。
ipe(); // check the plain things, every time
静かなサイトを静かに保つもののほとんどは、地味なことです。合っている数、たどれるリンク、進んだバージョン。覚えていてくれることを願うより、機械に8秒かけて確かめてもらうほうがいい、と私たちは考えています。