Freigeben über


Azure WebSites の WordPress サイトをスピードアップさせる 10 の方法

このポストは、8 月 11 日に投稿した 10 Ways to Speed up your WordPress site on Azure websites の翻訳です。

ページの読み込みに時間がかかると、閲覧者はストレスを感じて、その Web サイトをまた訪れようという気にはならなくなるものです。多くの検索エンジンでは、検索結果をランク付けする際に読み込み時間も考慮するので、検索結果で Web サイトが表示される順番にも影響を及ぼします。Azure WebSites 上で WordPress の Web サイトを実行しており、サイトの最適化によって読み込み時間を短縮したいとお考えの方は、これからご紹介する手軽で簡単な方法をぜひ試してみてください。

1. WebSites とデータベースを同じデータ センターに配置する

Azure WebSites で WordPress サイトを実行する場合は、データベースと WebSites を必ず同じデータ センターに配置するようにしてください。WebSites から遠くのデータベースを呼び出さなければならないと、ネットワークのレイテンシによってページの読み込みに時間がかかる場合があります。WebSites とデータベースを同じデータ センターに配置することで、ネットワークのレイテンシを抑えて、Web サイトのページ読み込み時間を短縮できるようになります。

2. 無料の MySQL データベースは使用しない

WebSites のアプリケーション ギャラリーから WordPress をインストールすると、無料の MySQL データベースが付属しています。サイトを作成する場合、これを利用することもできますが、しかし、本番用のサイトにはあまりお勧めできません。この無料のデータベースには以下の特徴があります。

  • データベース用として最大 20 MB のストレージを提供
  • 最大接続数は 4 (max_connections)
  • パフォーマンスが低い

代わりにお勧めしたいのが、こちらのページ (英語) でご覧いただける ClearDB です。さまざまなオプションが用意されているので、推定されるユーザー トラフィックの量に応じて適切なデータベースを選択できます。Azure ストアから ClearDB を利用してデータベースをプロビジョニングする方法については、こちらのページ (英語) をご覧ください。ClearDB のデータベースの中にニーズに合うものがない場合は、MySQL を実行するよう Azure VM をセットアップして、このサーバーをデータベースに使用できます。Azure VM に MySQL をインストールする方法については、こちらのページをご覧ください。

3. データベースを最適化する

WordPress ではあらゆるものが自動保存されますが、その難点は、記事のリビジョンやトラックバック、ピンバック、コメント、その他不要なアイテムでデータベースがすぐにいっぱいになってしまうため、手動で定期的なクリーンアップを実施する必要があるという点です。また、WebSites で使用しているデータベースのプランに応じて、データベースに割り当てられるストレージ サイズに制限が設けられているので、データベースを定期的にクリーンアップしなければ、この上限にも達してしまいます。

しかし、WP-Optimize (英語) という便利なプラグインを利用すれば、データベースを定期的にクリーンアップできるため、データベースが効率化でき、必要なものだけを保存できるようになります。手動でクエリを発行することなくデータベースの最適化やクリーンアップが可能なので、時間を大幅に節約できます。

4. 画像を圧縮する

画像のせいで WordPress サイトが重たい場合、サイトの帯域幅のほとんどを画像が消費している可能性があります。このような場合には、いくつかの対処法があります。

  • すべてのメディアコンテンツを Azure Storage BLOB に格納する : Azure Storage プラグイン (英語) を使用すれば、WebSites では新しいコンテンツを、WordPress サイトの uploads ディレクトリではなく Azure Storage に格納できます。メディア コンテンツが重たいサイトでは、Azure Storage と Azure CDN を併用して帯域幅を削減することで大きな効果が期待できます。
  • 画像を圧縮する : WP Smush.it (英語) は、画像をメディア ライブラリにアップロードする際に自動で圧縮してくれる優れたプラグインです。圧縮時にデータ損失は一切ないので、画質に差は生じません。メディア ライブラリに何千件もの画像を保存する場合は、このプラグインを実行すれば、扱いやすいサイズに画像を圧縮できます。

5. HTTP リクエストの数を減らす

あらゆる Web サイトでは、JS ファイルや CSS ファイル、あるいはサード パーティ製のサービスやライブラリに複数の依存要求を発行します。すべての JavaScript を 1 つの JavaScript ファイルに、また、すべての CSS を 1 つの CSS ファイルに格納すれば、大幅な効率アップにつながり、可能な限り依存要求を減らせます。CSS/JS スクリプトについては、Better WordPress Minify (英語) のような軽量化プラグインを実行して、スタイル シートと JavaScript ファイルすべてを 1 つにまとめることで、ブラウザーが発行する要求を減らせます。また、サイトでサード パーティのライブラリを使用している場合は、ライブラリをローカルにコピーして、このライブラリを提供するサービスに要求を発行することで、帯域幅を削減できます。

6. テーマが原因でサイトの速度が遅くなっていないかを確認する

記述が洗練されていないテーマは、プラグインと同様、サイトの速度低下の原因となる場合があります。ページの読み込みに時間がかかる場合は、テーマに原因がないか確認することをお勧めします。そのためには、WordPress の既定のテンプレートである Twenty Fourteen にテーマを戻してから、ページの読み込み時間が改善されるかどうかを確認します。もし改善されれば、テーマが犯人である疑いが濃厚です。これを解決するには、別のテーマを選択します。以前のテーマに戻してもページの読み込み時間に差がない場合は、このブログで紹介している他の方法を試してください。

7. プラグインが原因でサイトの速度が遅くなっていないかを確認する

特に記述や構成が洗練されていないプラグインは、サイトの速度低下の原因となる場合があります。P3 (英語) のようなプラグインを利用すれば、アプリケーションで使用されているすべてのプラグインがページの読み込み時間にどの程度影響を及ぼしているかを把握でき、スピード改善に必要な対策を講じることができます。たとえば、使用していないプラグインが含まれている場合、WordPress は有効なプラグインすべてを読み込もうとするため、ページの読み込み時間に影響を及ぼします。使用していないプラグインは、いずれもクリーンアップまたは削除してください。Web サイトの向上に役立つプラグインだけを使用するようにして、サイトのパフォーマンスを損なうことのないように気をつけましょう。

8. ピンバックやトラックバックを使用していない場合は、無効に設定する

WordPress では、ピンバックやトラックバックという方式を用いて、自分の記事からリンクを張った他のブログに対して通知を行います。

  • ピンバックは、ピンバックが有効に設定されているブログ記事に対してリンクを張った場合に作成される一種のコメントです。
  • トラックバックは、リンクを張ったブログ記事が従来のブログ システムを用いている場合に通知を行います。

これらはページの速度を低下させる原因となる可能性があるので、必要がないのであれば、通常は無効に設定しておくことをお勧めします。ピンバックとトラックバックの詳細については、こちらのページ (英語) をご覧ください。

9. 画像サイズを指定する

エンド ユーザーにコンテンツを表示するにあたって、ブラウザーでは画像周辺でコンテンツをどうレイアウトするかを決める必要があります。画像のサイズが不明だと、ブラウザーが確認しなければならないため、時間が余計にかかります。画像のサイズを指定するようにすれば、ブラウザーのこうした手間が省けるため、スピードアップが図れます。

10. キャッシュを利用する

サイトのユーザー トラフィックが大幅に増加し始めたと感じたら、サイトに何らかのキャッシュを追加して、トラフィックの急増に対処できるようにしておくことも考慮しなければなりません。キャッシュには、IIS 出力キャッシュや WP Super Cache プラグインを利用できます。いずれも静的ファイルをキャッシュするものです。

  • IIS 出力キャッシュ: 構成やセットアップが簡単です。サイトのスループットを大幅に向上させますが、コメント送信時に確認メッセージが表示されない場合があります。IIS 出力キャッシュの詳細については、こちらのページ (英語) をご覧ください。
  • WP Super Cache (英語): サイトのスループットを大幅に向上させ、コメント送信など、サイト訪問者の操作を適正に処理します。IIS 出力キャッシュに比べると、セットアップや構成が若干複雑です。IIS で Super Cache を構成する方法については、こちらのページ (英語) をご覧ください。

ここでご紹介した最適化の作業は、どれもわずか数分間でできることばかりですが、Web サイトのパフォーマンスを劇的に改善することができます。ぜひ、お試しください。