WordPress 0.777秒! ~KUSANAGI超素人セッティング

この記事は約6分で読めます。

KUSANAGI for ConoHa, WordPressカスタマイズ

kusanagiのイメージキャラクター草薙 沙耶 ©PRIME STRATEGY
kusanagiのイメージキャラクター草薙 沙耶 ©PRIME STRATEGY

WordPress1秒切り!

この記事の続きです。

kusanagiのセッティング完了しました。
色々なトラブルがありました。
上記記事がIT関連で初めてはてな新着エントリに載った直後500エラーを食らうという不運もありました(なお、自ら招いた人災です)。
本日までに何度サーバー作り直したかわかりません。

しかし苦労した甲斐はありました。

KUSANAGI for ConoHaで1秒切り(0.777秒)の画像

 

 

質問者の写真

フィーバー!?
 

0.777秒、見た瞬間びっくりしました(二重の意味で)
トップページ限定ではありますけど、概ね0.7~1.1秒で安定してます。
投稿ページでも2秒前後。
モバイルはともかくPCなら、ほぼストレスなく巡回できると思います。

ただしPageSpeed Insights の数字はさほどでもないです。

 

さほどでもないどころか、KUSANAGI移行前と比べて……

質問者の写真

スコアが下がってる!? それも5~10だなんて……
 

対策とるまではさらに10近く低かったです。

GTmetrixも……

 

やっぱり5~6ほど下がってます。
しかも、こちらだと3.5秒も掛かってる。
(記事全体を計測するからですが、それでも掛かりすぎ)

どうしてこうなるのか? 体感では歴然とした差があるのに。
まあベンチの数字よりも実用の使い勝手、これで良しとしておきます。

私のセッティング

1 fcache(FastCGI)をONにする

絶対ONにする、とにかくONにする

NginxにおけるFastCGIは圧倒的な効果があります。
KUSANAGIですと、次のコマンドで実装できます。

# kusanagi fcache on

Apacheを使っていても自動的にNginxへ切り替わります。
FastCGIの具体的な効果はあちこちで書かれているので割愛します。

キャッシュの削除については、プラグインを入れて管理します。
私はNginx Helper を使っています。

Nginx Helperは、ダッシュボードからキャッシュを削除できる優れものプラグイン。

便利なので是非是非インストールすることを推奨します。

bcacheとfcacheは両方ONにしていいの?

私の環境では、fcacheとbcacheを両方ONにすると、モバイル側のキャッシュがおかしくなる現象が発生しました。

どうもパージされた後に新しいキャッシュが生成されていないようで。
しかもbcache使おうと使うまいと、数字も体感も全く変わりませんでした。
突き詰めれば原因見つけられるんでしょうけど、面倒なので放置することにしました。

(なお、wp-config.phpで定義してないとかパーミッション間違えているとか、いかにも素人の私がやらかしそうなオチでないことは付記させていただきます)

ここからは素人考えなんですけど……
bcacheって、FastCGIのないApacheで使うとき用じゃないですかね?
単純にキャッシュのキャッシュって感じでおかしくなる気がするんですけど。

(null)

この説明を読むと、

特徴1 ページキャッシュを使わなくても速い

特徴2 ページキャッシュ(bcache)を使うともっと速い

特徴3 ページキャッシュ(fcache)を使うとさらに速い

特徴1が2や3と同時に成立しない以上、「この3つからどれかを選びなさい」と言ってるんじゃないかなあと。
この理解で「間違ってるよ!」という場合は教えていただけると幸いです。

bcacheの代わりに他のページキャッシュプラグインを使った場合

WP Fastest Cache がNginx対応らしいので入れてみましたが、逆に遅くなりました。

体感で明らかにわかり、計測するまでもないくらい。
一方でPageSpeed InsightsやGTmetrixのスコアは変わらず。
全く入れる意味がないので外しました。
他のキャッシュプラグインは試してませんが、同じじゃないですかね?

2 Autoptimize以外の高速化プラグインを全て外す

Autoptimize はhtml、js、cssを圧縮や結合してくれるプラグイン。

入れないとPageSpeed Insightsで「縮小しろ!」と怒られるので。
これによってスコアが3ほど上がりました。

前項でも触れましたがキャッシュ系プラグインは効果なし。
だったら余計なリソースを食わさないために、1つでも減らす方が賢い選択だと思いました。

3 KUSANAGIプラグインの翻訳をONにする

中身は有名な高速化プラグイン001 Prime Strategy Translate Accelerator と同じです。
(作ってる会社が同じ)。

既に上記プラグインをインストールしている場合は外して下さい。

4 ブラウザキャッシュの期限を設定する

デフォルトでは期限が設定されていないのでgoogle先生から「ブラウザキャッシュを活用しなさい」と怒られます。
そこで次のページを参考にして設定しました。

etc/nginx/conf.dにある【あなたのプロファイル名】_ssl.conf(SSL化している場合)から次の行を見つけて

	location ~* \.(jpg|jpeg|gif|png|css|js|swf|ico|pdf|svg|eot|ttf|woff)$ {
		access_log off;
	}

バックアップをとり、一行加えて書き換えます(数字は任意の物を)。

	location ~* \.(jpg|jpeg|gif|png|css|js|swf|ico|pdf|svg|eot|ttf|woff)$ {
		access_log off;
		expires 30d;
	}

これでgoogle先生から怒られなくなり、スコアが7ほど上がりました。

5 画像を圧縮する

これは、KUSANAGIにかかわらず通用する対策。
画像圧縮プラグインEWWW Image Optimizerですが、デフォルトのまま使っている方が多いと思います。
実はこのプラグイン、「高度な設定」タブで色々できます。

はぴすぷ様の下の記事に詳しいので、参考にしながら調整するといいです。

まとめ

実はほとんど何もしていないことにお気づきでしょうか?

作業といえるのはブラウザキャッシュの設定くらい。
むしろ触らない・減らす、この方向でセッティングしました。
KUSANAGIは導入さえしてしまえば、あとは楽。
これで1秒切れるのだからありがたいです。

皆様もテストだけでも試してみてください。
ConoHa for KUSANAGIなら1日30円程度で爆速ぶりを体感できます。
(入会金ゼロ&時間課金なので、テスト終えてサーバー削除するとホントに30円程度です)。

よろしければ下の画像経由で入会してください。

美雲このは (C)GMO Internet, Inc. 再利用禁止
美雲このは (C)GMO Internet, Inc. 再利用禁止

1000円分のクーポンがもらえます。
今ならキャンペーンとあわせて2000円分もらえると思うので、事実上2か月分が無料になります。