サイトをもっと高速に!速度チェックからプラグイン、サーバ移行まで、WordPressの高速化チューニングまとめ
「最近、ページの表示が遅くなった気がする・・・」
サイトを公開した当時は気にならなくても、アクセス数が増えたり、ページ数が多くなってきたり、様々なプラグインを導入したりすると、サイトの表示速度が遅く感じる場合があります。
最近はWordpressに最適化したサーバなども多いため、以前よりは「Wordpressを導入してから表示が遅くなった」という声も聞かなくなっていますが、それでもサイト運営者にとって、サイトの表示スピードを上げることは、重要な業務だと言えるでしょう。
この記事では、高速化のメリットを整理した後、次に具体的な方法を4つ紹介していきたいと思います。
目次
高速化のメリットとは?
WordPressを高速化するメリットをユーザーとサイト管理者に分けて考えていきましょう。
ユーザーにとって
- 特にスマホでスムーズなサイト閲覧ができる
- サイトの表示が待たされず、一定時間でより多くのサイトに訪問できる
- イライラなど精神的なストレスを軽減できる
サイト管理者にとって
- SEOでより優位になれる(Googleは表示速度を評価の基準にしている)
- 管理画面の動きが早くなり、作業効率が向上する
- 余分な離脱率の削減等、リスティングなどの広告費用の単価削減につながる(AdSenseなど)
このように、高速化は、単にストレスなくサイトを閲覧できるというだけでなく、直接売上に関わってくることも少なくありません。
キャンペーンページなど、一時的に多くのアクセスを集めるページを運用する場合、バースト対応(一時的なデータの急増に対応して通常仕様以上の負荷に耐えられるようにすること)可能なサーバが利用されているのも上記のような理由があるからです。
高速化チェックのために利用したい測定方法
高速化においては、体感での変化も重要ですが、具体的な数値などで計測すると、なぜいいのか(悪いのか)の根拠と改善方法を具体的に知ることができます。
URLを入力してOKボタンを押せば、どちらも点数が表示されます。数値が大きいほど優れています。
GTMetrics
PageSpeed Insights
高速化チューニングの前の数値を測定したら、具体的な施策を行って行きましょう。
WordPressのプラグインを導入
WordPressには高速化のための様々なプラグインがあります。ここでは、キャッシュ系と静的ファイルの外部化系を紹介します。
万一の場合に備え、WordPressに新規プラグインの導入前に、サイトデータのバックアップをとるようにしましょう。
また同じ機能のプラグインを複数インストールすると、プログラムが競合し不具合が発生することがあるため注意しましょう。
キャッシュ関連
キャッシュとは、ページのデータ(HTML等)を一定の場所に蓄えておくことで、蓄えたキャッシュデータにアクセスしてもらうことで高速化を実現することです。
通常、Wordpressは、該当ページにアクセスすると
1.Wordpressの初期処理をPHPで行う
2.Wordpressのプラグイン処理をPHPで行う
3.URL構造から該当ページのデータをDBから呼び出す
4.DB側で必要な情報を出力するための処理をする
5.PHPで作成されたテーマファイルをDBのデータと合わせてHTMLページとして表示する
といったプロセスで処理をしています。
(実際はデータベースへのアクセスやPHPの処理は、上記の流れよりも何重も多く行われています。)
キャッシュを利用すると、上記のようなプロセスが
1.あらかじめHTMLとして生成されたファイルをページとして表示する
と非常にシンプルになり素早くページを表示できるようになります。
キャッシュは、上記のような手法で高速化をしているため、検索ページやカート部分、その他ユーザーによって動的に内容を変更するようなページには利用できないという点は注意しましょう。
W3 Total Cache (無料)
このカテゴリーの代表的なプラグインです。
もっとも機能が豊富で、無料でも優れた総合版といえるでしょう。
設定項目は非常に多いですが、わかりやすくまとめられています。初級者から中級者向けです。
主な機能
- 表示ページそのもののキャッシュ
- オブジェクト(この場合PHP)のキャッシュ
- ブラウザに対して指示するキャッシュ
WP Fastest Cache (無料)
設定の項目が比較的少ないわりに、高速化の効果を出しやすいなど、利用者の良い評判をネット上で多く見かけます。
どちらかというと、初級者向けです。
主な機能
- 表示ページのGzip 圧縮
- 表示ページそのもののキャッシュ
- ブラウザに対して指示するキャッシュ
WP Super Cache (無料)
設定画面の説明文章がとても丁寧です。設定項目も、初級者用に簡易設定、中級者用は詳細設定とレベル分けされています。
主な機能
- 表示ページそのもののキャッシュ
- オブジェクト(この場合PHP)のキャッシュ
- ブラウザに対して指示するキャッシュ
画像データ関連
画像は文字に比べてデータサイズが大きいため、大量の画像ファイルがあるページだとデータの通信量が多くなり、ぺージ全体の表示速度が落ちてしまうケースです。
画像データ関連の高速化ではCDNの利用が非常に有用ですが、下記のようなプラグインでも一定の効果を出すことができます。
EWWW Image Optimizer (画像データの圧縮)
画像ファイルの軽くするには通常、WordPressのメディア・ライブラリにアップロードする前に、加工ソフト等で調整し画像データを圧縮しますが、このプラグインは自動的に画像データの圧縮率を調整してくれます。
主な機能
- 新規に画像データをアップロードすると、自動的に圧縮される
- 圧縮前のデータを一括で圧縮することができる
- 圧縮した結果を管理画面上でチェックできる
Lazy Load(画像の遅延表示)
画像データを多用したサイトを開く場合に、それらの画像を全部読み込んだ後にサイト全体を表示するため、ページ全体の待ち時間が長くなります。
そこで、スクロールして実際に見えている部分の画像データのみを表示し、他の画像データを後で表示するようにしておけば、高速化ができます。
Lazy Loadをインストールするだけで、すぐに利用を開始できるのも大きなメリットです。
プラグインのダイエットを考えよう
ここまでWordpressのプラグインの説明をしてきて矛盾するようですが、大量にインストールしているプラグインが原因で表示が遅くなっている場合があります。
インストールしているプラグインがどんどん増えていくのは、
- 入れれば簡単に機能拡張ができるから
- 高性能だから
- ほとんどが無料だから
といった理由が多いため、本当に必要かどうかをしっかりと吟味することが重要です。
下記のようなチェックポイントを元にプラグインのダイエットを考えましょう。
- 使っていないプラグインはないか
- SEOやカテゴリーのカスタマイズ等、同じ目的のプラグインを複数導入していないか
- ひとつのプラグインで複数のプラグインの機能を満たせないか
- サイト本来の目的以外で機能を拡張していないか
- CSSやPHPのファイルに直接記述することで簡単に実装できないか(※中級者から上級者向け)
CDNサービスを利用する
プラグインの画像データ関連でも触れましたが、画像やスタイルシートなどの静的なデータファイルの高速化には、CDNが非常に重要です。
CDN(コンテンツデリバリネットワーク)とは、Webサイト表示の高速化や同時アクセス数を増加するために設置された、中継するサーバーとそれを含む全体の仕組みをさしています。
CDNを使うと、画像等は、UPしたサーバから取得されるのではなく、世界中に分散して配置されている中継サーバから、もっとも高速に通信できるサーバから取得されることで、サイト全体の負荷分散をすることができ、高速化につなげることができます。
CloudFlare
無料版サービスの代表ともいえるCDNサービスです。
Amazon CloudFront
有料版サービスの代表ともいえるアマゾンのCDNサービスです。
Photon
CDNはもともと大規模サイトの高速化のために生まれたサービスのため、CloudFlareもCloudFrontも、DNSの設定変更やCDNに載せたコンテンツの管理等が必要になったりと中級者から上級者向けのテクニックといえます。
しかし、Wordpressの開発元がリリースしているプラグインJetpackを利用すればPhotonというCDNサービスを利用できます。
使い方も簡単で、Jetpackをインストールしてユーザー登録後、Photonを有効化するだけです。
ここまできてからレンタルサーバーのプラン変更を
これまで紹介したプログラムの方法で改善がみられないときや、さらなる改善を目指すときには、ハードウェア(サーバー機器)あるいはレンタルサーバなどの見直しを検討する必要があるかもしれません。
レンタルサーバを見直すときのポイント
レンタルサーバを使っている場合、見直しのむずかしさは、サーバ会社がたくさんあることと、企業ごとのサービスの料金と機能が比例しないことです。
サーバの性能が高くてサポートがメールのみの場合と、サーバの性能がいまいちでもサポートが充実している場合は、後者の方が料金が高くなることがあります。
また、サービスによって、管理画面での調整の範囲、これまで説明したプラグインやCDN等のサービス利用の可否なども変わってくるでしょう。
サーバのスペックを見直すポイントとしては下記のような点になるかと思います。
- CPUやメモリーのスペック
- ストレージはHDDよりもSSD
- サーバのバックボーン回線の太さ
- 共有サーバの場合、1サーバあたりの使用者数
- PHPなどのアクセラレターや高速化機能の有無
- WordPressに最適化されている等の機能の有無
- Webサーバにnginxを使用している等のサーバサイドの高速化がされている
- サーバの容量はそれほど重要ではない
ただし、実際には使ってみないとわからないというのが本当のところで、そのあたりに詳しいエンジニアや企業に相談するのが確実かもしれません。
まとめ
ここまでいかがでしたか。
WordPressの高速化には、多くの手段があります。
まずは、実行可能な部分から試してみて、サーバサイドなど難しい部分はシステム会社に任せる等、長期的な視点で高速化に取り組むようにしましょう。