PageSpeed Insightsとかで推奨されてるgzipを.htaccessで設定するやり方です
gzipとは?
gzip(ジー・ジップ)は、データ圧縮プログラムのひとつ、およびその圧縮データのフォーマットである。「GNU zip」の略であり[1]GNUプロジェクトによって開発・メンテナンスされている。ほぼ全てのUNIXに標準搭載されていたcompressはLZWを使用しているため特許侵害の危険があるので、安全・安心な代替としてGNUプロジェクトが初期に開発にとりかかったもののひとつである(当時のGNU bullitinではyabbaが紹介されていたがそれを差し置いてリリースされたのがgzipである)。
要するにUNIXで使用してる圧縮形式で、これをサーバとブラウザ間の通信に使用して通信速度を速くしようということです
主にHTML、CSS、JS、XML、フォントファイルを圧縮して高速化を図ります
画像は既に圧縮されている状態なのでgzipで圧縮する意味がほとんどありませんし、サーバの負荷になるので今回は除外します
通信の仕組みに関してはこちらのサイトが分かりやすく説明されてます
.htaccessでサーバにgzip圧縮させる
サーバの設定
サーバ側で処理させるには条件があります、ApacheまたはNginx等で「mod_deflate」が有効になっており、かつ.htaccessファイルでの設定が許可されている必要があります
AWSのEC2インスタンス等webサーバを自分で用意している場合は設定が必要ですが、レンタルサーバの場合はホスティングサービス側ですでに設定されている場合もあります
各レンタルサーバの仕様をご確認下さい
.htaccessファイルの記述方法
.htaccessファイルに下記を記述します、.htaccessファイルは記述ミスすると500エラーが出てサイトが見られなくなったりするのでバックアップは必ず作りましょう
<IfModule mod_deflate.c> SetOutputFilter DEFLATE #古いブラウザ対策 BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch \bMSIE\s(7|8) !no-gzip !gzip-only-text/html #画像は圧縮しない GIF、JPEG、PNG、ICO SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary #圧縮するファイル AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/js AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-httpd-php AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-font-woff AddOutputFilterByType DEFLATE application/x-font-opentype </IfModule>
「<IfModule mod_deflate.c></IfModule>」で「mod_deflate」が使用できるかを判定し、使用できる場合は内部の設定を適用させます
古いMozillaのブラウザやIE8以前のバージョンは圧縮しない、あるいはhtmlのみに圧縮を適用させてます
gzip圧縮されているか確認する
.htaccessファイルに記述を追加したら、gzip圧縮が適用されているか確認します
SYNCER様の「Gzipチェッカー」にURLを入力すると確認できます
まとめ
gzip圧縮はサイト表示高速化にかなり効果を発揮します、圧縮率を計測された方がいるのでそちらもご紹介します
おおよそ7〜8割程度圧縮することが出来る模様です
wordpressのキャッシュプラグイン等にも同じ機能を持っているものも多いのですが、「プラグイン使いたくない」とか「gzip圧縮だけしたい」とかの場合は.htaccessファイルで設定するのが良いと思います
参考サイト
.htaccessファイルでgzip圧縮させてサイト表示速度を向上させる方法
gzipの各圧縮レベルでの圧縮率と処理時間の計測
gzip圧縮のしくみ
コメント