mod_deflateでgzip圧縮

通信にかかる時間を減らす為には、ファイル数を減らすのと共に有効なのが、ファイルの容量を削減することです。
CSSやJSのminifyも効果的ですが、GoogleのPageSpeed Insightsはgzip圧縮しろって言ってきます。
スコア100にしなくてはならないわけではないのですが、対応しやすい部分は対応しておいても良いですよね。

圧縮したものをローカルで展開するので、当然ローカル側には負荷がかかるのですが、今時の端末はそれを気にするほど低性能じゃないので大丈夫です。
昔はJavaScriptにいろいろ処理させると激重になったりしたものですが。。。

 

古いブラウザ対策はもうしなくてもいいような気もしますが、数行入れるだけなので一応入れておきましょう。

<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE

  # 古いブラウザ対策
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

  # gzip圧縮してもあまり意味がないファイルは除外。展開コストがかかるだけなので。
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary

  # 以下のファイルはgzip圧縮する
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/x-httpd-php
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE application/x-javascript

  # 以下は必要に応じて。必要無くても、記述しておいて問題ないです。
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/atom_xml
</IfModule>

これを.htaccessに書いておけば(サーバが対応していれば)gzip圧縮したものを提供するようになります。
簡単なので、入れておいて損はないと思います。

© 2018- Saruzie.