Webサーバの最適化!gzip圧縮とコンテンツキャッシュを有効にして高速化実現

Webサーバの最適化!gzip圧縮とコンテンツキャッシュを有効にして高速化実現
2023年10月20日2023年10月20日

ウェブページの読み込み速度は、ユーザーエクスペリエンスに大きく影響します。

遅いページは、訪問者の離脱を招き、コンバージョン率を低下させる可能性があります。

このガイドでは、Webサーバの最適化手法の一つであるgzip圧縮とコンテンツキャッシュの設定方法を紹介します。

gzip 圧縮での高速化

gzip圧縮は、ウェブサーバとブラウザ間で転送されるデータのサイズを減らす技術です。

.htaccess ファイルかApacheのhttp.confファイルに下記を記述します。一番下に記述で問題ありません。

# gzip settings
# HTML, plain text, CSS, JSON, JavaScript, and SVGをgzip圧縮する設定
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json  
AddOutputFilterByType DEFLATE text/javascript application/x-javascript application/javascript image/svg+xml

これにより、指定されたMIMEタイプのコンテンツはgzipで圧縮されて送信されます。

コンテンツキャッシュを追加

ブラウザは、一度ダウンロードしたリソースを再利用するためにキャッシュします。サーバは、どれだけの期間リソースをキャッシュすべきかを指示することができます。

.htaccess ファイルかApacheのhttp.confファイルに下記を記述します。一番下に記述で問題ありません。

# expire settings
# Expiresヘッダーを有効にする
ExpiresActive On  

# デフォルトのキャッシュ期間を1週間に設定
ExpiresDefault "access plus 1 week"  

# HTMLのキャッシュ期間を1時間に設定
ExpiresByType text/html "access plus 1 hour"  

# CSSのキャッシュ期間を1ヶ月に設定
ExpiresByType text/css "access plus 1 month"  

# JavaScriptのキャッシュ期間を1ヶ月に設定
ExpiresByType application/javascript "access plus 1 month"  

# JPG画像のキャッシュ期間を1年に設定
ExpiresByType image/jpg "access plus 1 year"  

# JPEG画像のキャッシュ期間を1年に設定
ExpiresByType image/jpeg "access plus 1 year"  

# PNG画像のキャッシュ期間を1年に設定
ExpiresByType image/png "access plus 1 year"  

# GIF画像のキャッシュ期間を1年に設定
ExpiresByType image/gif "access plus 1 year"  

# SVG画像のキャッシュ期間を1年に設定
ExpiresByType image/svg+xml "access plus 1 year"

Apache側に記述した場合は、Apacheを再起動して、新しい設定を適用します。

$ systemctl restart httpd

動作確認

今回の設定では、ウェブサーバとブラウザ間でのデータ転送サイズを圧縮し、ブラウザキャッシュを最適化しています。

Webブラウザからアクセスして、表示速度にどれだけ改善が見られるか確認してください。体感として、ページの読み込み速度が向上していることを実感できるはずです。

最後に

ウェブページの読み込み速度はユーザー体験に大きく影響します。

今回、ウェブサーバとブラウザ間でのデータ転送サイズを圧縮し、ブラウザキャッシュの最適化を行いました。

この変更により、ページの読み込み時間が短縮され、サイト訪問者はよりスムーズな閲覧体験を得ることができるでしょう。実際の効果を確認するために、ページへのアクセス速度を試してみてください。

コメント

コメントを残す

お名前(任意)
コメント:新規