.htaccessでwordpressの圧縮、キャッシュ設定をやってみた!

speedup_htaccessimg

今まで、Wordpressの高速化はプラグインをあれやこれやと入れ替えながら調整してみましたが、体感速度でパキッと速くなったと感じたのは無かった気がします(笑)

先日、PageSpeed Insightsが日本語化されて試しに使ってみた結果、改善箇所には、ブラウザのキャッシュの活用とサーバの応答時間を短縮することが書かれてありました。
暇をみていろいろ探ってみた結果、.htaccessファイルでコンテンツの圧縮とキャッシュ設定を行うのが良さそうだったので、試してみました。

.htaccessでWordpressを高速化させる!

やり方は凄く簡単。
FTPソフトでサーバへアクセスし、.htaccessファイルをダウンロード。
以下のソースを追記するだけでOKでした。

AddType image/x-icon .ico
 
<IfModule mod_deflate.c>
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
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
#DeflateCompressionLevel 4
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>
 
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
ExpiresByType application/x-shockwave-flash "access plus 216000 seconds"
</ifModule>
 
FileETag none
 
<FilesMatch "^(wp-config\.php|wp-mail\.php|install\.php|\.ht)">
order allow,deny
deny from all
</FilesMatch>

via:WordPressサイト用の.htaccess例 | dogmap.jp

それぞれの設定には意味がありますので、詳しくは参考にさせて頂いたサイトでご確認ください。
かなり詳しく、理由が書かれておられます。

但し、私が使っているサーバは、さくらインターネット。
このサーバは、mod_deflate(上記コードの前半部分)が使えないので、圧縮設定は別の方法を取ります。

phpの拡張 zlib で圧縮

こちらもそれほど手間無く設定できました。
FTPソフトでサーバへアクセスし、PHPの設定ファイル php.iniをダウンロードし、下記コードを追記するだけでOK。

zlib.output_compression=1

via:PHPでコンテンツをgzip圧縮する方法 zlib編

※設定後は、必ずきちんと表示されるかどうかのチェックを行って下さい。

表示速度を計ってみる

計測前の感じとしてはややスムーズに表示されるのを感じますよ!!!
では、今まで何度かページの表示速度をチェックしてきたGTmetrixで計測してみます。
(GTmetrixの使い方はホームページの表示速度をチェックするツールでご確認ください。)

speedup_htaccess

おっ!!
速くなってますねえ〜!

Page Speed Gradeが、C から B になってます。
ただし..YSlow Gradeが、C から D に下がってる (・ω・`*)アーア

今度は、YSlow Gradeの対策をせねば…。

まとめ

.htaccessを使って圧縮、キャッシュ設定するのは効果がありました!
私の場合、さくらインターネットのサーバなので、php.iniにも設定を行いましたが、どちらも効果ありだと思います。

設定も、コードをコピーしてそれぞれのファイルへ追加して貼付けるだけなので、それほど複雑ではありません。
Wordpressをお使いなら、是非やっておいた方が良い設定だと思います。

さて、次の対策もぼちぼち進めていきます。
また、良い結果が出るものがありましたら、記事にします!

【オススメ関連記事】
プラグインを使わずWordPressを高速化させる3つのこと
Javascriptを非同期化させてWordPressを高速化!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です