wpX のキャッシュ設定と mod_deflate による GZIP 圧縮

レンタルサーバー

wpX での GZIP圧縮

wpX では、2015/7/30の機能追加・仕様変更にて、.htaccess ファイルで AddOutputFilterByType, SetOutputFilter が使用出来るようになりました。
これらを使用することで、コンテンツや静的ファイルをGZIP圧縮してブラウザに返すことができるようになります。

当サイトでは、これらを使用するように設定していますので GZIP圧縮されるはずです。
あわせて、wpXのキャッシュを有効にもしています。

ところが、GTmetrix で当サイトを計測したところ、PageSpeed タブで、Enable gzip compression のスコアが低いことに気づきました。
指摘では、CSS, JS ファイルを圧縮しろと言われています。

20151001-1

Waterfall タブで詳細を確認してみると指摘の通り、HTMLは圧縮されていますが、CSS, JS ファイルでは圧縮が行われていないようです。

20151001-2

cURLコマンドにて確認してみると、キャッシュを
・有効にしたときは圧縮されず、
・無効にしたときは圧縮される
という結果になりました。

このことについて、wpXカスタマーサポート に問い合わせたところ、以下のような残念な回答を頂きました。

本件について技術スタッフに確認いたしましたところ
「キャッシュ設定」を有効にされた場合、
cssファイルは圧縮されないという状況は
現在の仕様であり、回避は困難とのことでございました。

本件についてはて補正の対応を検討してはおりますが
恐れながら、対応時期などについては未定の状態でございますこと
ご了承くださいますようお願い申し上げます

「補正の対応を検討している」とのことなので、今後に期待したいと思います。

影響はあるの?

キャッシュを有効にするとGZIP圧縮されないのは残念ですが、実害はありません。
せっかく仕様変更でGZIP圧縮が使えるようになったのに、「もったいない」という気持ちの問題でしかありません。
強いて言うなら、PageSpeed での評価が下がるだけです。
圧縮して減少するサイズは 250KB 程度なので、体感できる違いは生じないですし、
GZIP を効かせるためにキャッシュを無効にしてしまっては返って遅くなってしまいます。

今後に期待したいと思います。

.htaccess の設定

# Gzip圧縮の設定
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE

# 画像など圧縮済みのコンテンツは再圧縮しない
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
# プロクシサーバーが間違ったコンテンツを配布しないようにする
Header append Vary Accept-Encoding env=!dont-vary

AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE image/svg+xml
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
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
</IfModule>

cURLコマンドの結果

----「キャッシュ設定」を無効での取得結果 ----
> curl -H "Accept-Encoding:gzip,deflate" https://miscblog.estable.jp/wp-content/themes/simplicity/style.css > mgng.css.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14075  100 14075    0     0  69334      0 --:--:-- --:--:-- --:--:-- 69334
----
> curl -I -H "Accept-Encoding:gzip,deflate" https://miscblog.estable.jp/wp-content/themes/simplicity/style.css
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Mon, 28 Sep 2015 07:13:18 GMT
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Cache-Control: max-age=604800
Expires: Thu, 08 Oct 2015 13:35:30 GMT
Content-Length: 14075
Content-Type: text/css
Accept-Ranges: bytes
Date: Thu, 01 Oct 2015 13:35:30 GMT
Age: 0
Connection: keep-alive
X-Cache: MISS
----
> curl https://miscblog.estable.jp/wp-content/themes/simplicity/style.css > mgng.css.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 55656  100 55656    0     0   158k      0 --:--:-- --:--:-- --:--:--  158k
----
> curl -I https://miscblog.estable.jp/wp-content/themes/simplicity/style.css
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Mon, 28 Sep 2015 07:13:18 GMT
Accept-Ranges: bytes
Content-Length: 55656
Vary: Accept-Encoding
Cache-Control: max-age=604800
Expires: Thu, 08 Oct 2015 13:35:30 GMT
Content-Type: text/css
Accept-Ranges: bytes
Date: Thu, 01 Oct 2015 13:35:30 GMT
Age: 0
Connection: keep-alive
X-Cache: MISS


----「キャッシュ設定」を有効での取得結果 ----
> curl -H "Accept-Encoding:gzip,deflate" https://miscblog.estable.jp/wp-content/themes/simplicity/style.css > mgng.css.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 55656    0 55656    0     0   165k      0 --:--:-- --:--:-- --:--:--  165k
----
> curl -I -H "Accept-Encoding:gzip,deflate" https://miscblog.estable.jp/wp-content/themes/simplicity/style.css
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Mon, 28 Sep 2015 07:13:18 GMT
Vary: Accept-Encoding
Cache-Control: max-age=604800
Expires: Thu, 08 Oct 2015 13:21:03 GMT
Content-Type: text/css
Date: Thu, 01 Oct 2015 13:21:03 GMT
Age: 0
Connection: keep-alive
X-Cache: HIT
----
> curl https://miscblog.estable.jp/wp-content/themes/simplicity/style.css > mgng.css.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 55656    0 55656    0     0   249k      0 --:--:-- --:--:-- --:--:--  249k
----
> curl -I https://miscblog.estable.jp/wp-content/themes/simplicity/style.css
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Mon, 28 Sep 2015 07:13:18 GMT
Vary: Accept-Encoding
Cache-Control: max-age=604800
Expires: Thu, 08 Oct 2015 13:21:03 GMT
Content-Type: text/css
Date: Thu, 01 Oct 2015 13:21:04 GMT
Age: 1
Connection: keep-alive
X-Cache: HIT
----

 

 

 

コメント