gzip圧縮をしてウェブサイトの表示スピードを上げる方法
ウェブサイトの表示スピードを上げる方法の1つとして、gzip圧縮での配信があります。
gzip圧縮とはなにか?
gzip圧縮は、テキストファイルの圧縮に強力な圧縮方式です。
一般的によく見られる圧縮方式にzip形式がありますが、gzipはテキストファイルであれば9割近くまでサイズを減らせます。
拡張子は「.gzip」「.gz」「.tar.gz」「.tgz」など様々で、ウェブサイトで言われる場合はサーバー上で自動的にgzip形式に圧縮して配信する意味も含んでいる場合が多いです。
テキストファイルの圧縮に適しているのでHTML・CSS・JavaScriptファイルの圧縮ができます。
gzip圧縮されているか確認
「Check GZIP Compression」というサイトがあり、そこで対象のウェブサイトがgzip圧縮されているかどうか簡単に確認できます。
サイトにアクセスしたら、真ん中の入力項目にURLを入力し、「Test Now」をクリックします。
gzip圧縮されているサイトなら「Congatulations! Your Website Have GZIP Encryption」モーダルが表示され、下には圧縮率などの情報が表示されます。
圧縮されていないサイトなら「Damn! Your Website Doesn’t Have Any Encryption」モーダルが表示されます。
gzip圧縮が利用できるか確認
「HTTP Compression Test」というサイトで、使っているサーバーでgzip圧縮が利用できるかどうか確認できます。
「URL Compression Test」にURLを入力し、「Test」をクリックします。
利用できる場合は「○○ is Compressed」というメッセージが表示されます。
最近のサーバーでは基本的に利用可能ですが、念のため確認してから設定するようにしましょう。
gzip圧縮する方法
mod_deflateを使う場合
.htaccessファイルに「mod_deflate」というアクセス検知時にサーバーがファイルを自動圧縮するモジュールを使用します。
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
この記述を追加すると、gzip圧縮してくれます。
WordPressプラグインを使う場合
WordPressのキャッシュ系プラグインである「W3 Total Cache」を使うと、「ブラウザキャッシュ」設定の中に「Enable HTTP (gzip) compression(gzip圧縮を有効にする)」項目があるので、チェックを入れるだけで簡単に設定できます。
他にもキャッシュ系プラグインの「WP Rocket」はインストールするだけで自動で設定されます。
ただ、キャッシュ系のプラグインは他のプラグインと相性が良くない場合も多く、バッティングしてしまう可能性もあるので導入する前には必ずバックアップを取っておくようにしましょう。