記事ページは本文が増えるほどHTMLも増えますが、日本語本文やタグは圧縮によってどこまで小さくなるのでしょうか。3000文字を超える記事ページ一件を取り出し、三つの状態で容量を記録しました。
この記事の目次
検証条件
- 対象はwebp-quality-60-75-90のビルド済みHTML
- 同一ファイルを未圧縮、Gzip、Brotliで比較
- CSS、画像、広告スクリプトの通信量は除外
- 圧縮処理はNode.js 20.12.2のzlibを使用
計測結果
| 方式 | 容量 | 削減率 |
|---|---|---|
| 未圧縮 | 14,825 bytes | 基準 |
| Gzip | 5,894 bytes | 60.2%減 |
| Brotli | 4,949 bytes | 66.6%減 |
3000文字を超えても半分以下になった
記事テンプレートにはヘッダー、フッター、著者欄、見出しタグが含まれ、同じ文字列が複数回現れます。本文が3000文字を超える状態でもGzipで半分以下になりました。
圧縮前のHTMLだけを見ると記事追加による増加が大きく見えますが、閲覧者が一度に取得するのは開いた一ページであり、さらに転送時には圧縮されます。
長文化後もページ単位で測る
今回の値は34記事へ拡張した後のスナップショットです。本文を更新した後も同じURLを再測定し、文字数の増加と圧縮後容量の関係を確認します。
記事の価値を削って数KBを節約するのではなく、重複する装飾コードや不要なクライアントJavaScriptを先に点検します。
長文化による増加はどこまで許容できるか
対象記事は未圧縮14,825bytes、Brotli後4,949bytesでした。本文を3,000文字以上へ増やしても圧縮後は約5KBで、同記事の46,976bytesの画像より小さい状態です。
この結果から、役立つ説明を数KB節約のために削る優先度は低いと判断しました。今後は本文量より、主画像、広告、外部サービスなどHTML外の通信を先に監査します。
この検証で確かめたかったこと
今回の出発点は「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytesで扱う値を、現在のサイトと公開ファイルから再現できる形で確認できるか」という疑問です。Web制作の記事では推奨値だけが独り歩きしやすく、条件が異なる結果を並べても判断材料になりません。そこで対象を当サイトの実ファイルへ限定し、変更した項目と固定した項目を分けました。数値が小さいか大きいかを競うのではなく、現在の構成で次の作業を決められるかを目的にしています。
想定している読者は、表示速度を自分のサイトでも具体的に点検したい人です。完成済みの大規模サイトではなく、少数の記事や画像から始める個人サイトでも追試できるよう、特別な計測サービスを前提にしていません。結果だけを持ち帰るのではなく、対象の選び方、単位、除外した要素まで確認すると、自分の環境との差を整理しやすくなります。
一次情報として残したもの
「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」で明示した対象をビルド済みHTML、CSS、画像、設定ファイルから読み取り、対象はwebp-quality-60-75-90のビルド済みHTMLという条件を変えずに記録したことを記録の中心にしました。記事内の表は、その記録から必要な値だけを転記しています。一般的な解説を先に置いて数字を当てはめるのではなく、先に対象ファイルを決め、取得できた値から考察を書く順序です。元データと公開本文の数字が食い違わないよう、単位はbyte、px、件数など測定時の形式をできるだけ保ちました。
「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」の計測日は2026年6月10日です。Astro 5で静的出力した時点のファイルを対象としているため、素材やテンプレートを変更すれば値も変わります。この記事は永続的な基準値ではなく、表示速度の状態を残したスナップショットです。再測定で結論が変わる場合は、更新日と変更理由を追記します。
結果を読むときの注意
「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」は当サイト一件の測定であり、別の表示速度環境へ同じ数値をそのまま一般化できないという限界があります。一つの指標だけで「速い」「使いやすい」「正しい」と断定しないことが重要です。たとえば容量が小さくても表示が崩れれば採用できず、規格上の目安を満たしても実際の操作が難しい場合があります。表の値は判断の入口であり、最終的な利用体験の代わりではありません。
この表示速度検証で差が出なかった場合も、作業の優先度を下げる根拠になります。反対に大きな差が出た場合は、「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」で明示した対象をビルド済みHTML、CSS、画像、設定ファイルから読み取り、対象はwebp-quality-60-75-90のビルド済みHTMLという条件を変えずに記録したという記録へ戻り、条件の混入や数え方を再確認します。都合のよい値だけを採用せず、対象、式、除外項目を本文へ残すのはそのためです。
実際の制作でどう判断したか
この結果を受け、当サイトでは「今回の結果を表示速度の公開前チェックへ組み込み、変更時には同じ手順で差分を確認する」と判断しました。数値を掲載するだけではサイト改善につながらないため、CSS、画像の書き出し、記事テンプレート、公開前チェックのいずれかへ反映します。採用理由を文章にしておくと、後から別の設定へ変えるときにも、以前の判断を検証できます。
ただし「今回の結果を表示速度の公開前チェックへ組み込み、変更時には同じ手順で差分を確認する」という判断を全ページへ一律適用するわけではありません。今回の対象と、トップ、記事、固定ページでは利用目的が異なります。「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」は当サイト一件の測定であり、別の表示速度環境へ同じ数値をそのまま一般化できないという限界もあるため、共通ルールを作ったうえで例外の理由を残す方が、数値だけを守るより保守しやすいと考えています。
同じ確認を再現する手順
再検証するときは、対象はwebp-quality-60-75-90のビルド済みHTMLという対象条件と、同一ファイルを未圧縮、Gzip、Brotliで比較を固定して同じ確認を行うのが基本手順です。最初に対象ファイルを複製するかビルド結果を保存し、変更前の値を残します。次に一度に変更する条件を絞り、同じ単位で変更後を取得します。最後に差分を計算し、画面上の見え方や操作も確認します。複数の変更を同時に入れると、どの変更が結果へ効いたのか分からなくなります。
自分のサイトで「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」と同じ確認を行っても、同じ数字になる必要はありません。重要なのは、対象はwebp-quality-60-75-90のビルド済みHTMLという対象条件と、同一ファイルを未圧縮、Gzip、Brotliで比較を固定して同じ確認を行うという条件を変更前後で揃えることです。OS、ツールの版、画面幅、対象URLなど結果へ影響する情報を残せば、数値が異なっても比較可能な一次記録になります。
次に確認する項目
今回扱わなかった要素は、「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」は当サイト一件の測定であり、別の表示速度環境へ同じ数値をそのまま一般化できないという点です。次回は対象を広げるのではなく、この不足を一つずつ切り分けます。ファイル容量の次に表示時間、寸法の次に実機操作というように、異なる種類の指標を組み合わせると、単独の数値による誤解を減らせます。
「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」を再現できないという連絡や数値の指摘が届いた場合は、「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」で明示した対象をビルド済みHTML、CSS、画像、設定ファイルから読み取り、対象はwebp-quality-60-75-90のビルド済みHTMLという条件を変えずに記録したという一次記録と本文を照合します。結論へ影響する修正では更新日を変更し、何が変わったかを残します。表示速度の記事を完成品として固定せず、サイトの変更とともに追試できる記録として維持します。
表示速度記事の公開前チェック
表示速度の記事では、個別の結果に加えて「単一ファイルの小ささではなく、最初の表示に必要な通信と処理を減らせているか」を公開前の共通確認点にしています。今回の表だけが良好でも、関連する画面やファイルへ悪影響があれば採用しません。変更前の状態を残し、記事で扱った指標と実際の利用場面を往復して確認します。
このチェックは「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」の文字数を増やすためではなく、測定から公開判断までの抜けを減らすために使います。未圧縮と転送時圧縮を区別する、初期表示と遅延読み込みを分ける、外部スクリプトを含む実通信も後から測るを確認し、自動検査だけでは判断できない箇所を画面と文章で読み直します。読者が追試できない説明なら、数値が基準内でも公開しません。
表示速度の記事を更新するときは、結論だけを新しい値へ置き換えず、検証条件、表、本文の参照値、タイトル、descriptionを順番に照合します。以前の手順を再現できなくなった場合は、「3000文字超の記事HTMLを圧縮。14,825bytesがBrotliで4,949bytes」は当サイト一件の測定であり、別の表示速度環境へ同じ数値をそのまま一般化できないという制約がどう変わったかも記録します。どの変更で結果が動いたかを追える状態を優先します。
- 未圧縮と転送時圧縮を区別する
- 初期表示と遅延読み込みを分ける
- 外部スクリプトを含む実通信も後から測る
まとめ
対象記事のHTMLはBrotliで約4.9KBになりました。記事本文の充実と小さなHTML転送量は両立でき、画像や外部スクリプトを含むページ全体の確認が次の課題です。