WordPressでサイト作りをしているとどうしても増えてしまう便利なプラグインたち。当サイトでも現在有効化しているプラグインは相当な数にのぼります。
サイト内ではたくさんのプラグインをできるだけ分かりやすく紹介しているコンテンツがたくさんありますから
[search_live]
でプラグイン名を入れてライブ検索してみてください。ちなみにこのライブ検索も「Search Live」というプラグインを使っています)。紹介記事があればすぐにヒットします(紹介記事は随時追加していますので時折訪問してくださいね)。それから、プラグインは日本語化した方が設定や表示が圧倒的に便利になりますので、日本語ファイルのないプラグインについては極力日本語化ファイルを配布させていただいておりますのでそちらも是非利用してください。
いろいろと他の方がWordPressで使用しているプラグインについて書いた情報を見ていますが、皆さん結構少ないようで、私からしたら「ホンマかいな?」と感じてます。恐らくそういった情報を書いた記事を公開するときの数であって現在の数ではないのでしょうね。
・・・すっかり脱線してしまいました。では本題へ。数値的な確定検証ではなく、あくまで経験上の話ですから参考程度に読んでいただけると幸いです。
サイトの表示が遅くなるのは結局サーバーとコンテンツ数
いきなり結論になってしまいますが、結局はこの2つが大きな原因です。WordPressはデータベースを使い、アクセスがあると必要なパーツを検索してページを作るという仕組みになっています。この速度を決めるのはサーバーの性能と検索対象となるコンテンツ(投稿や固定ページ)の数。
しかもWordPressでは投稿も固定ページもカスタム投稿タイプもすべて同じ「wp_post」というテーブルに格納され、ポストタイプというデータ列で投稿なのか固定ページなのかを判断しているだけですから、コンテンツの数が多くなればなるほど目的のコンテンツを引っ張り出して表示させるまでに時間がかかるのです。これによる速度の低下は、余分な投稿などを削除する方法が一般的ですが、せっかく作ったコンテンツを削除するのはもったいない話ですから、より高性能なサーバーに引っ越す以外に改善策はありません。
速度低下を招く恐れのあるプラグイン
では巷でたくさん情報が出ているプラグインの影響はどうでしょうか?いくつかのサイトを同じ環境と同じテーマで作ってみて感じた「速度低下を引き起こす可能性のあるプラグイン」は
- 画像を表示する機能を持つもの
- ランダムで何かを表示するもの
のようです。
画像関係では特に凝った表示をするものやいろいろな表示方法が選択できるもの、スライダー系のプラグインなどを導入すると結構表示速度の低下が発生します。サイトに彩りを与えるという意味では画像やスライダーなどは必要かもしれませんが、それが原因で表示速度が落ち、訪問してくれた人がイライラして他へ行ってしまうようであれば使用は控えたほうがいいかも知れません。
それから、画像を圧縮しないまま使っていると大きなファイルを読み込むことになりますから、画像のクオリティは下がりますが、できれば「Imsanity」などの圧縮プラグインを使うと表示速度が改善されます。
ランダム表示系のプラグインではランダムに表示させる項目が増える(選択肢が増える)ほど表示に遅延が発生する原因になりますからこれも表示速度に影響があるようなら外したほうがいいと思います。
必ずすべてのプラグインが読み込まれているわけではない
よくプラグインではなくスニペットでfunctions.phpへ直接書いた方が速くなるという話を聞きますが、果たしてそうなのか?冒頭で一覧表示したようにこのサイトでも実にたくさんのプラグインを使っています。でも、ほとんどが管理側のプラグインで、閲覧画面で使われるのは実はそれほど多くありません。
プラグインは例えばショートコードなどが画面表示の要素として含まれている場合に「このプラグインを読み込みなさい」となり、プラグインの中で設定などを読み込んで表示するのですから、表示画面(フロントエンド)側で重いものを使っていなければそれほど速度に影響はないのでは?と思います。そして、設定項目のない「決め打ち」のプログラムであればfunctions.phpへ直接記述したほうが、わざわざプラグインを呼び出す必要がない分表示速度が速くなるというのがカラクリのようです。
逆にfunctions.phpへあまりフロントエンドで使わないような記述をたくさんすると、functions.phpのファイルはテーマ読み込みの際に必ず呼び出されるのでかえって遅くなるのかもしれませんね。

諸悪の根源は「外部ファイルの読み込み」
画像系でもない、ランダム表示でもないとすると・・・私の考える表示速度低下の原因は
外部データやファイルの読み込み
が根源では?と思います。
例えば
- 外部の画像やファイルをURLで挿入している
- 外部(はてな)のブログカードをリンクに使用している
- 広告を多数表示している
といったケースです。これらは全て表示段階で一度外部のサイトなりサーバーなりにリクエストを行い、返って来たデータを表示するのですから、数が多ければ多いほど時間がかかります。現に外部から情報を取得する部分の多いページとそうでないページではこのサイトでも表示速度が違います。できれば自分のサーバー内で処理できるものだけを表示したり、なるべく外部を読みにいかなくてもいいようにすることが高速化の近道かもしれません。
WordPressの高速化にキャッシュ系のプラグインを勧められることが多いのですが、キャッシュにも時間がありますから、1時間保持するように設定していて1時間に1回程度しかないページであれば毎回表示とキャッシュ作成が繰り返されることになるわけですから逆に遅くなることもあるので注意が必要です。
さいごに
検索エンジンクローラーはサイトやページの表示速度もユーザーにとって有用かどうかの判断基準に入れているようですから、表示速度は速いほうが有利になるとは思いますが、必要な要素や常に最新の情報を外部から取り込んで表示したい場合などは無理に手作業にしてしまってはCMSを使う意味(WordPressを使う意味)が半減してしまいますので、適度に自動化をしつつ時折サイトの表示を実際に見て確認しながら調整していくといいと思います。