»

WordPressの高速化について

WordPress特別講座


WordPressを高速化します。 WordPressの高速化の方法は、キャッシュ系のプラグインによる高速化や サーバの設定での高速化などいろいろ方法があります。

 ココでは、一番手軽なプラグインによる高速化について調べます。

 

 

 

 

高速化のプラグインの種類

 ここでは、高速化をおこなうプラグインについての種類などを簡単に説明します。

キャッシュ系などの加速系プラグインの種類の説明図です。

キャッシュ系などの加速系プラグインの種類の説明図です。

 ■ リソースキャッシュ プラグインHead CleanerWp Minifyなど
 コレを使うとスタイルシートやJavaScript 、PHPなどの設定ファイルなどを整理して最適化したり
縮小してコンパクトにすることで記述の無駄などを改善できます。
WebブラウザとWebサーバのやり取りの回数や送るデータ量を減らすことで、サイトの構築を
早くすることが出来るプラグインです。扱うデータを整理などで小さくするだけですので、
動的ページに影響なく高速化できます。

 ■ データベースキャッシュ プラグインDB Cache Reloaded Fixなど
 WordPressは動的にページを作成するときに、頻繁にデータベースにアクセスします。
クエリ数(データベースへのアクセスする命令した回数)が多いと、データベースへの負荷が
大きくなりパフォーマンスに影響します。
DB Cache Reloaded Fix は、データベースのクエリの出力結果など、 データベースとのやり取りを
キャッシュしますのでデータベースとの直接のアクセスが減り、クエリ数を減らす効果があります。
データベースとのクエリ数は減りますが、動作自体は動的ページの様に動作します。
 クエリ数を減らしますので、記事が多くなってきたり、アクセス数が集中したときにパフォーマンスの
低下を抑える効果のあるプラグインです。

 ■ データ分割並列処理 プラグインWP Hyper Response
 PHPの flush() 関数を使うことで分割して同時に処理することで動作が速くなります。
データの転送方法などのやり方を変えるだけですので、その他のプラグインなどに
ほとんど影響なく高速化が可能です。
また、このプラグインは、記事だけでなく管理画面なども高速化されます。 

 ■ オブジェクトキャッシュ プラグインWP File Cache MO Cache など
 一度所得した、PHPの変数(オブジェクト)などをキャッシュして次回以降、それを使いまわす
ことでファイルのロード時間を減らします。
これも結果的にはクエリ数(データベースへのアクセスの回数)を減らす効果があります。

  翻訳キャッシュ プラグイン:MO Cache 001 Prime Strategy Translate Accelerator
 オブジェクトキャッシュの中でも、日本語翻訳ファイルなどに特化したキャッシュプラグインです。 
オブジェクトキャッシュの補助的なプラグインですので利用するときは、必ずオブジェクトキャッシュ系のプラグインと組み合わせて使うようにしましょう。

 効果は、日本語翻訳ファイルをオブジェクトキャッシュして高速化します。
WordPress本体は、元々英語製。WordPress日本語版は、.mo形式の日本語化ファイルを
常に読み込んでいます。なので、本体にいちいち翻訳ファイル読み込み分の動作が必要で その結果、日本語版は英語版より動作が遅くなっています。MO Cache では .mo ファイルを
読み込んだオブジェクトをキャッシュし、次回アクセス以降もそれを使いまわすことによって、
約1/30の時間で .mo ファイルのデータをロードすることが可能になっています。

翻訳キャッシュで有名なプラグインは、MO Cache と 001 Prime Strategy Translate Accelerator です。それぞれとても効果があり、同じぐらい早くすることが出来ます。

 両者の特徴として、MO Cache は設定する項目はなく導入が簡単です。対して、 001 Prime Strategy Translate Accelerator は、キャッシュのより細かい 設定が出来ます。
ですので普通は、 MO Cache を導入するのをおすすめします
 より細かい設定を自分でトコトンやりたい方が 001 Prime Strategy Translate Accelerator  を選ぶと良いと思います。 

 ■ ページキャッシュ プラグインQuick CacheWP Super Cacheなど
 ページ全体をキャッシュして動的ページを静的ページで表示します。
高速化に一番効果がありますが、 動的な機能をWordPressに付加するプラグイン系列と
相性が悪い場合が多いです。また、設定によっては、ページを更新した時など
スグに反映されない場合もありますから 、注意してください。
ページキャッシュで有名なプラグインは、 Quick Cache と WP Super Cache です。
それぞれとても効果があり、同じぐらい早くすることが出来ます。

 両者の特徴として、 Quick Cache は設定する項目は少ないです。対して、WP Super Cache は、キャッシュのより細かい 設定が出来ます。
ですので、普通は、  Quick Cache を導入するのをおすすめします。
 より細かい設定を自分でトコトンやりたい方がWP Super Cache を選ぶと良いと思います。 

これらのプラグインを導入する時のポイントとして、動的動作をする機能がちゃんと動くかなど
確かめて使いましょう。 

実際に効果を確かめる

 設置した場合、実際にどのくらい効果があるのかを計測してみましたので参考にしてみてください。
 計測に使ったサイトは、この本サイトたなブログ WordPress入門講座)です。
測定時の本サイトの状態は、以下の通りです。

計測日:2012/06/04
レンタルサーバ: さくらインターネット スタンダードプラン
WordPress: ver 3.3.2
テーマ:たなブログ オリジナルテーマ
パーマリンク設定 カスタム構造     /%category%/%postname%.html 
導入プラグイン数: 31個

GTmetrixと計測用のテンプレートタグでの導入前の測定結果 

高速化プラグインを入れてない値

トップページでの測定: クエリ数:78 queries.  PHPコンバート:0.692秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(80%)
C評価
(70%) 
3.26秒 779KB 67回 78回 0.692秒

 高速化のプラグインを何も入れていない状態のステータスです。
測定にはGTmetrix、WordPressの計測用のテンプレートタグを使って調べています。

 それでは、高速化プラグインを入れて効果を調べていきましょう。

リソースキャッシュ プラグインHead Cleanerを導入して測定

 まずは、プラグインのHead Cleaner を導入して計測してみます。

Head Cleaner 導入後の測定結果 

head cleaner導入後の結果。

トップページでの測定: クエリ数:78 queries.  PHPコンバート:0.736秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(84%)
C評価
(73%) 
2.60秒 694KB 61回 78回 0.736秒

 Head Cleaner はCSSやJavaScript を改善して、ページのデータ量、そしてブラウザとのやり取りを速くするプラグインです。測定結果では、ページスピードの評価、ページの読み込み時間など
測定値は、何も入れてないときに比べ良くなっています。

データベースキャッシュ プラグインDB Cache Reloaded Fixも導入して測定

 続いて、DB Cache Reloaded Fixも導入します。 

DB Cache Reloaded Fix 導入後の測定結果 

続いてデータベースキャッシュも導入した結果です。

トップページでの測定: クエリ数:27 queries.  PHPコンバート:0.698秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(84%)
C評価
(73%) 
2.65秒 694KB 61回 27回 0.698秒

 DB Cache Reloaded Fix は、クエリ数(データベースへのアクセスする命令した回数)を
改善するプラグインです。Head Cleaner を導入した時と比べると、GTmetrixの評価は、
ほとんど変わっていませんが、クエリ数が大幅に改善されています。

データ分割並列処理 プラグインWP Hyper Responseも導入して測定

 続いて、WP Hyper Responseも導入します。 

WP Hyper Response 導入後の測定結果 

ハイパーレスポンス導入後。

トップページでの測定: クエリ数:27 queries.  PHPコンバート:0.694秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(82%)
C評価
(73%) 
2.63秒 694KB 61回 27回 0.694秒

 WP Hyper Response はページデータなどの送り方が、データを分割して並列処理して
やり取りするプラグインです。測定結果では、すべての値が、誤差範囲内でほとんど変わっていませんでした。ただ、管理画面なども速くなるこのプラグインは入れておくのは悪くない選択だと思います。 

オブジェクトキャッシュ プラグイン:WP File Cacheも導入して測定

 続いて、WP File Cacheも導入します。 

WP File Cache 導入後の測定結果 

オブジェクトキャッシュのプラグインも導入。

トップページでの測定: クエリ数:16 queries.  PHPコンバート:0.674秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(82%)
C評価
(73%) 
2.60秒 694KB 61回 16回 0.674秒

 WP File Cache は、クエリ数(データベースへのアクセスする命令した回数)を
改善するプラグインです。導入前と比べると、GTmetrixの評価は、ほとんど変わっていませんが、
クエリ数が大幅に改善されています。

日本語訳キャッシュ プラグイン:MO Cacheも導入して測定

 続いて、MO Cacheも導入します。  

MO Cache 導入後の測定結果 

MOキャッシュも導入。

トップページでの測定: クエリ数:16 queries.  PHPコンバート:0.643秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(83%)
C評価
(73%) 
2.53秒 694KB 61回 16回 0.643秒

 MO Cache は日本語翻訳ファイルをキャッシュするプラグインです。測定結果では、あまり
効果がわかりませんでしたが、全体的に気持ちパフォーマンスは向上してるようです。
他のプラグインに悪影響は与えませんのでとりあえず導入したほうが良いと思います。 

ページキャッシュ プラグインQuick Cacheも導入して測定

 続いて、Quick Cacheも導入します。  

Quick Cache 導入後の測定結果 

クイックキャッシュも導入

トップページでの測定: クエリ数:16 queries.  PHPコンバート:0.649秒

Page Speed
での評価
YSlow
での評価
ページの
読込時間
ページの
データ量
ブラウザとの
やり取りの数
クエリ数
データベースへ
のアクセス回数 
PHP→HTML
変換時間 
B評価
(82%)
C評価
(73%) 
2.09秒 694KB 61回 16回 0.649秒

 Quick Cache はページをキャッシュして、静的ページとして表示するプラグインです。
ページの読み込み時間が、とても大幅に改善されました。

 このようにプラグインを導入するだけでも、かなりのところ高速にできますので、ぜひドンドン導入していきましょう。

おまけ 画像を最適化して高速化

 お手軽にさらなる高速化をしたいなら、画像を最適化して容量を減らすのが効果的です。
画像の最適化なんて、そんな効果ないと思うかもしれませんが、アクセス数が多くなるほど、
記事が増えるほど 画像を最適化する恩恵はより大きくなります。

 このサイトも画像を最適化する前と後では、ウェブマスターツールなどのパフォーマンスの平均速度が最適化することで1秒近く 速くなりました。(当サイトが画像が多いということもありますが。)

  画像の最適化は、WP Smush.it というプラグインで簡単に出来ますので試してみましょう。
 WP Smush.itについては、次のページを参考にしてください。

  WP Smush.itについて

 

おまけ さくらインターネットでGZipを使い高速化

 さくらインターネットなどでは、PHPでコンテンツをgzip圧縮する簡単な方法があって
ちょっとphp設定をするだけで、速くすることが出来るようです。

設定すると、gzip でコンテンツを圧縮することで、ネットワークの負荷を軽減させることができます。

やり方は簡単です。

まずは、サーバコントロールパネルにログインしてください。
そして、パネルメニューの中の「アプリケーションの設定」 「PHP設定の編集」を選択しましょう。
そうすると、 「php.ini 設定ファイル編集 」という入力項目が表示されます。
ソコに以下の記述をコピペしてください。 

※記述部分をダブルクリックすると記述が全て選択されます。右クリックで保存して貼り付けてください。

zlib.output_compression=1

 これで、保存すれば完了です。ちょっとだけ高速化されます。

以上で高速化については終了です。

 

»

この記事へのコメント

  • Pingback: WordPressにインストールしているプラグイン一覧-2012年9月版 | かっぱふぅ雑記帳()

  • Macchan0708

    初めまして。wordpressを高速化しようと思い検索したところ、こちらのサイトに分かりやすくまとめてあったので、参考にさせて頂きました。ありがとうございます。

    私は今wordpress3.1.4をマルチサイト化して利用しているのですが、こちらで紹介されているプラグインはマルチサイト化していても使えますか?またプラグインを利用する以外の高速化の方法をご存知でしたらぜひ教えていただけませんか。自分で調べたんですが、eAcceleratorがなんやらこうやら‥と検索結果には表示されるのですが、こちらのサイトほど分かりやすく解説しているサイトが見つけられない状態なんです。。

    • 管理人

      初めまして。参考になったようで幸いです。
      マルチサイトは、サイト運営上行なっていませんのでテストは していませんが、

      高速化プラグインの中では、WP File Cach と相性が悪いようです。
      マルチサイトでは使うのは、止めたほうが無難のようです。
      WP File Cachを止めるのでMO Cacheではなく、
       001 Prime Strategy Translate Acceleratorの翻訳キャッシュのプラグインを
      使うといいと思います。

      プラグイン以外での高速化の方法となると、サーバーをカスタマイズする必要が
      ありますが、サーバーの構築はいろいろと大変です。
      例えば、さくらサーバーのVPSなどを借りればサーバーをいろいろといじれたり
      しますが、素人知識ではキビしかったりします。

      eAcceleratorなどのPHPを高速に動作させる設定なども、サーバーを構築する
      段階で行なう設定のひとつですが、とてもムズかしいと思います。

      ですので、サーバーを伴う高速化をしたい場合は、素直に高性能のサーバーを
      レンタルするのが、良いと思います。
      エックスサーバーやさくらレンタルサーバーの上位プランなどなら、
      1日に数万PVがあっても耐えれる性能だそうですので、アクセス数が膨大になり
      キツくなってきたら、変えるとよいでしょう。

      • 管理人

        あまり具体的な答えになってませんでしたね。スミマセン、わかりずらくて。

        まぁ、簡単に言うと、管理人の私もこれ以上の高速化は良くわかっていません。

        サーバーをカスタマイズすれば、さらに高速化を狙えるというのは調べてみて
        わかったのですが、それを行なうには、お金+知識 がさらに必要とのことで、
        私の運営する規模のサイトでは、分不相応、つまり、

        高速化を追求するより、もっと記事の内容を充実させて
        高アクセス数で困るぐらいの規模のサイトにする方が先 という結論に達し

        サーバーのカスタマイズは、ぜんぜん勉強しませんでした。

        • 管理人

          ココでの高速化のプラグインのほかに、おすすめなものは、
          WP-DBManager です。
          このプラグインは、データベースのバックアップをとるのが
          メインの機能なのですが、そのほかに定期的に、
          データベースの最適化をしてくれる設定があります。

          最適化することで、データベースの動作が遅くなるのを
          防いでくれますので、とてもオススメです。

          WP-DBManager は、そのうち記事ページで特集を組んで
          説明する予定ですので、もし記事ができたら参考にしてみてください。

  • Macchan0708

    返信ありがとうございます! 今日ここにあるプラグインを入れてみたところ、page speed grade,yslow gradeともにランクが上がりました。
    私がマルチサイトで利用した結果です。(wordpress3.1.4)QuickCache バージョン 111203→マルチサイト◯(色々なサイトでもマルチサイトOKの記事あり。) 
    DB Cache Reloaded Fix バージョン 2.3
    →マルチサイト◯(マルチサイトで使えるというブログは見つからなかったが、使ってみて今のところ問題なさそう)
    Head Cleaner バージョン 1.4.2.10
    →マルチサイト△(問題なく使えるが、他のプラグインと違い全てのサイトごとに設定する必要がある)WP Hyper Response バージョン 1.3
    →マルチサイト◯(マルチサイトで使えるというブログは見つからなかったが、使ってみて今のところ問題なさそう) WP File CachとMO Cacheは管理人さんのコメントにあるように保留にしました。次はWP-DBManagerも試してみます。とても丁寧なコメントありがとうございました。

【コメントの投稿の仕方について】

   このサイトでは、「Disqus」と呼ばれるコメント機能を使っています。
  ツイッターやフェイスブックなどにアカウントをお持ちの方は、ログインすることで
  自分の各プロフィールでコメントすることが出来ます。
  なんのアカウントもない人もメールアドレスさえ入力すればコメントできます。
  (入力したメアドはコメント投稿には表示されません。)
  また、コメント欄には画像を張ることも出来ます。


ひと言コメントや、記事の質問や感想など お気軽にお書きください。
  なにか書いていただけると管理人が嬉しがります。