Gzip圧縮とは?|SEO関連用語集

読み方: ジーズィップ(Gzip)圧縮
目次
概要
Gzip圧縮とは、広く使用されている圧縮アルゴリズムで、HTML、CSS、JavaScriptなどのテキストファイルを圧縮してWeb転送を高速化します。
詳細説明
Gzip(GNU zip)とは、1992年に開発された圧縮形式で、テキストベースのファイル(HTML、CSS、JavaScript、JSON、SVGなど)を70〜90%圧縮できます。HTTP/1.1で標準サポートされており、すべてのブラウザとWebサーバーで利用可能です。圧縮レベルは1〜9で設定でき、レベル6がデフォルトで、速度と圧縮率のバランスが最適です。現在ではBrotli圧縮がより効率的(Gzipより15〜25%高圧縮)ですが、古いブラウザ(IE11、Android 4.x以前など)との互換性のため、Gzipは依然として重要なフォールバック手段として使用されています。実装が簡単で、ほぼすべてのホスティング環境とCDNでサポートされています。
重要性
Gzip圧縮が重要な理由は以下の通りです。
- ファイルサイズを削減することで、ページ読み込み速度が向上し、LCP、TTFB、FCPなどのCore Web Vitals指標が改善される
- 特にJavaScriptやCSSファイルが大きいサイトでは、Gzip圧縮が大きな効果を発揮し、バンドルサイズを70〜90%削減できる
- すべてのブラウザでサポートされているため、確実に適用できる最適化手法である
- 帯域幅コストの削減により、大規模サイトでの運用コスト削減に貢献する
- Brotli非対応の古いブラウザに対するフォールバックとして必須である
具体例・実践方法
Gzip圧縮の実践的導入方法
- Apacheでの有効化
- `.htaccess`に以下を追加
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json image/svg+xml
- Nginxでの有効化
gzip on;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
gzip_min_length 1000;
gzip_vary on;
- Node.js/Expressでの実装
const compression = require('compression');
app.use(compression());
- 圧縮レベル調整
- レベル1: 最速だが圧縮率は低い
- レベル6: デフォルト、速度と圧縮率のバランスが最適
- レベル9: 最高圧縮率だが遅い(通常は非推奨)
- CDNでの自動圧縮
- ほとんどのCDN(Cloudflare、Fastly、CloudFrontなど)はGzip圧縮をデフォルトでサポート
- Brotli非対応時の自動フォールバック
- ファイルタイプの選択
- 圧縮すべき: HTML、CSS、JavaScript、JSON、SVG、XML、テキスト
- 圧縮不要: JPEG、PNG、GIF、MP4、WebP、AVIF(すでに圧縮済み)
関連用語
注意点・補足
Gzip圧縮を使用する際の注意点は以下の通りです。
- 画像や動画など、すでに圧縮済みのファイル(JPEG、PNG、MP4、WebPなど)には効果がなく、逆にCPUリソースを無駄にする
- 動的コンテンツの圧縮にはCPUリソースを消費するため、サーバー負荷が高い場合は圧縮レベルを下げる(レベル4〜6推奨)
- 現在ではBrotliが優先され、Gzipはフォールバックとして使用されることが一般的
- 非常に小さいファイル(1KB未満)は圧縮せず、`gzip_min_length`で最小サイズを設定すべき
- `Vary: Accept-Encoding`ヘッダーを設定し、キャッシュの問題を回避する必要がある
最新トレンド(2025年)
2025年現在のGzip圧縮に関する状況は以下の通りです。
- Gzipは後方互換性のためのフォールバック手段として位置づけられ、モダンブラウザではBrotliが優先される
- ほぼすべてのホスティング環境とCDNで依然として標準的にサポートされており、基本的な最適化として重要
- Brotli対応ブラウザ(95%以上)が増えたため、Gzipのみに頼る必要性は減少しているが、完全な互換性のため併用が推奨される
- モダンなホスティングプラットフォーム(Vercel、Netlify、Cloudflare Pagesなど)では、BrotliとGzipの両方が自動的に適用される

