WordPressの高速化について
WordPressの高速化の方法は、キャッシュ系のプラグインによる高速化や サーバの設定での高速化などいろいろ方法があります。
ココでは、一番手軽なプラグインによる高速化について調べます。
高速化のプラグインの種類
ここでは、高速化をおこなうプラグインについての種類などを簡単に説明します。
■ リソースキャッシュ プラグイン:Head Cleaner、Wp 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 Cache、WP 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 導入後の測定結果
トップページでの測定: クエリ数: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 導入後の測定結果
トップページでの測定: クエリ数: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については、次のページを参考にしてください。
おまけ さくらインターネットでGZipを使い高速化
さくらインターネットなどでは、PHPでコンテンツをgzip圧縮する簡単な方法があって
ちょっとphp設定をするだけで、速くすることが出来るようです。
設定すると、gzip でコンテンツを圧縮することで、ネットワークの負荷を軽減させることができます。
やり方は簡単です。
まずは、サーバコントロールパネルにログインしてください。
そして、パネルメニューの中の「アプリケーションの設定」 「PHP設定の編集」を選択しましょう。
そうすると、 「php.ini 設定ファイル編集 」という入力項目が表示されます。
ソコに以下の記述をコピペしてください。
zlib.output_compression=1
これで、保存すれば完了です。ちょっとだけ高速化されます。
以上で高速化については終了です。
Pingback: WordPressにインストールしているプラグイン一覧-2012年9月版 | かっぱふぅ雑記帳()