まあWordPressに限らない方法なんだけどね。
PageSpeed InsightsというGoogle製のサイトの表示速度を調べてくれるサイトを知りました。何年も前からあったみたいだけど。
ともかく、ここにURLを入れたら速度が遅くなってる原因がわかります。便利だね。
このブログのTOPページを試してみたらモバイルが57/100、PCが67/100でした。スコア低いなあ。なので「修正が必要」と書かれている2つの対処法を試してみた。
圧縮を有効にする
これはサーバからブラウザへ転送するデータをGZIPで圧縮しろってことです。Apacheにmod_deflateなるものを入れる必要があるんだけど、うちの環境だと最初から入ってた。なのでネット情報を参考に.htaccessに以下を追加。
<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)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary </IfModule>
GZIPに対応していないブラウザなどを除外してるね。
ブラウザのキャッシュを活用する
画像などに有効期限を付ければブラウザキャッシュが効くよということです。これも同じくApacheにmod_expiresが入っていたので、やはりネット情報を参考に.htaccessに追加。
<ifModule mod_expires.c> ExpiresActive On ExpiresDefault A1 ExpiresByType image/gif A604800 ExpiresByType image/jpeg A604800 ExpiresByType image/png A604800 ExpiresByType image/x-icon A604800 ExpiresByType text/css A604800 ExpiresByType text/javascript A604800 ExpiresByType application/x-javascript A604800 ExpiresByType application/x-shockwave-flash A604800 </ifModule>
A604800は有効期限をアクセスした時から604800秒(1週間)後にするって意味です。
結果
.htaccessに上の2つを記述しただけでモバイルが73/100、PCが86/100になりました。結構良いスコアになったね。
「修正を考慮」という所に他の対処法も載っていて、その中で「サーバーの応答時間を短縮する」というのが気になりました。サーバが古いので遅いのは仕方ないとして、多分これはWordPressが重いせいだな。
実はWordPressのプラグインでキャッシュ系を幾つか試してみたんだけど、うちの環境ではうまく動かなかった。そんな訳でWordPress以外でも使える手法のみになっちゃいました。