WordPressが重い、遅い!?
WordPressのサイトが重い、読み込みが遅いので高速化したい、という相談をよく受けます。
本シリーズでは、実際の高速化の実例を元に、事前調査から対応までの手順をご紹介します。
WordPressが遅い原因
経験上、WordPressが遅い原因の80%以上はプラグインの過剰使用です。
プラグインの多くはページにアクセスする度に何らかの初期処理を行っており、そのほとんどはその度にデータベースにアクセスします。
有効なプラグインの数が多すぎるのももちろんですが、単一のプラグインでも速度に大きく影響するものもあります。
WordPressの高速化のアプローチとしては、プラグインを利用してキャッシュを生成したり、画像を最適化する方法などがよく紹介されていますが、
私はまず、「プラグインを減らして本質的にスリム化する」というアプローチを推奨しています。
とはいえ、長く運用しているサイトであれば、どれが使っているプラグインなのか、止めた時にどんな影響があるのかわからない、というケースも多いでしょう。
それを、ひとつひとつ調査・検証しながら停止していくのは、非常に労力がかかります。
WordPressが遅い原因・重いプラグインの調査①
そこで、初めに、プラグインを停止することによってどれくらい速度改善が期待できるのか、検証することを考えましょう。
手っ取り早い方法のひとつは、Plugin Performance Profiler (P3) というプラグインを使用することです。
百聞は一見にしかず。実際に検証に使用したキャプチャをご覧ください。
プラグインがどれくらい読み込み速度に影響しているのか、特にどのプラグインが重いのかが、表示されます。
何と、プラグインの影響が80%以上、という結果が表示されました。
ということは、プラグインを全て停止すれば、表示速度が5分の1になる・・・?
この数字を、このまま真に受けるのは少し怖いですね。
とはいえ、ページにアクセスする度に、プラグインが100回近くもデータベースにアクセスしているというのは、衝撃です。
WordPressが遅い原因・重いプラグインの調査②
そこで、一時的にプラグインを全て停止して、速度を比較してみることにしました。
結果がこちら。
トップページ、固定ページ、個別投稿ページ(と管理画面)に、5回ずつアクセスして中央値を取りました。
もちろん、毎回キャッシュはクリアします。
計測値は、Google Chrome の Developer ツールを使い、Waiting (と Content Download)の時間を見ています。
停止前と再開後の両方を計測したのは、時間帯によるサーバ負荷の変化に、調査結果が影響されないようにするためです。
結果、80%とはいきませんでしたが、全てのページで Waiting の時間が半分以下になりました。
これは、プラグインの過剰使用によって、WordPressが重く、遅くなっていると言って良さそうです。
※プラグインを全停止する前には、データベースのフルバックアップを取っておくことをおすすめします。
プラグインの過剰使用で重くなったサイトの改善
言うまでもなく、使ってないプラグインは停止しましょう。
判断が難しい場合も多いと思いますが、こちらの記事を参考に、地道に取り組んでみてください。
問題は、使用しているプラグインです。
プラグインはできるだけ汎用的に使えるように作られているため、実現したいことに対して、機能や実装が冗長であることが多いです。
本当に必要な機能だけを、適切なテーマのカスタマイズで実装したほうが、当然高速になります。
次の記事以降で、よく使われるいくつかのプラグインを、テーマのカスタマイズに置き換えていく方法を解説していきます。
※「このプラグインの対応方法も知りたい」というご要望があれば、ぜひお寄せください。