WordPressが遅い原因を突き止めるのは簡単ではありません。なぜなら、WordPressのサイトには、ウェブサーバーや関連する設定、様々なテーマやプラグインなど、多くの要素が含まれるためです。また、画像、動画、埋め込みなど、最適化されていないコンテンツが原因の場合もあります。

では、パフォーマンス問題の原因をどのように突き止めればよいでしょうか?複数の可能性があるため、何が原因かをすぐに言い当てることは困難ですが、この記事でそれを探索していきます。

ただし、パフォーマンスの悪い原因を突き止めるだけでは終わりません。遅いWordPressサイトを高速化する方法も多数、紹介します。

ワクワクしてきましたか?早速始めましょう。

なぜWordPressが遅いのか?

ウェブ制作者の中には動作が遅いことを理由に、WordPressを完全に否定する人もいます。以前はそうだったかもしれませんが、最近では、これは正確な表現ではありません。現に多くの大手企業が自社サイトのホスティングにWordPressを使用しています。

しかし、多くの要因がWordPressサイトのパフォーマンスに影響を与えます。最も一般的なものをいくつか挙げると、

  • サイトのウェブホスティング事業者
  • サーバーサイドの最適化(PHPバージョン、キャッシュ、圧縮など)
  • 動作が重いWordPressテーマ
  • 遅いWordPressプラグイン
  • 最適化されていないコンテンツ(主に画像)
  • 外部からのHTTPリクエスト過多
  • コンテンツ配信に専用のリソースを使用していない(CDN、動画ホスティングなど)
典型的なWordPressサイトの様々な要素
典型的なWordPressサイトの様々な要素

ウェブホスティング事業者の実装する適切なサーバーの最適化以外にも、サイトの高速化のために実行可能な多くの最適化があります。この記事の後半ではその詳細を説明しますが、まず、サイトの速度を低下させている原因を突き止めましょう。


WordPressサイトの速さを測定する4つの手順

ウェブサイトの速度を低下させている原因が、ホスティング事業者なのか、ウェブサイト自身なのか、その両方なのかを突き止める良い方法は、ウェブサイト上でのテストの実行です。ここでは、実行可能ないくつかのウェブサイトテストを見ていきます。

手順1:ページ読み込み速度テストの実行

サイトの読み込み速度に何秒かかりますか?読み込みに2秒以上かかるウェブページは、ユーザー体験にとって良いものではありません。理想的には、1秒以内の読み込みを目指します。その中間でも十分ですが、常に更なる最適化を行ってください。

この測定に使用できるウェブサイト速度テストツールには、GTmetrix、Pingdom Tools、Google PageSpeed Insights、WebPageTestなどがあります。これらはすべて信頼できるツールです。

ここでは、GTmetrixPingdom Toolsを使用して手順を紹介します。

まず、GTmetrixを起動し、ウェブページをテストしてみましょう。より良い結果を得るために、あなた(またはサイトの訪問者)に最も近いサーバーを選択します(ヒント:無料のGTmetrixアカウントにサインアップすると、より多くのサーバーから選択できます)。

GTmetrixホームページ
GTmetrixホームページ

ここでは、ほとんどのユーザーが訪れるWordPressサイトのトップページをテストしています。トップページには多くのコンテンツがあるため、テストに最適です。

テストが完了すると、以下のようなGTmetrixのパフォーマンスレポートが表示されます。

GTmetrixのレポート例
GTmetrixのレポート例

GTmetrixは、多くの指標に基づいてウェブページを採点します。また、テスト中にページがどのように読み込まれたか、視覚的なタイムラインも表示します。詳細を理解するには、下にスクロールしてください。

GTmetrixレポートの「Summary」タブ
GTmetrixレポートの「Summary」タブ

「Summary(概要)」タブでは、サイトのパフォーマンスに影響を与えるすべての主要な問題がハイライトで表示されます。上の例で最も大きな問題は、「server’s response time(サーバーの応答時間)」です。ほとんどの場合これは、ホスティングプランのアップグレードか、より良いホストへの移行の検討を意味します。しかし、結論に飛びつく前に、他の問題をすべて解決してから再検討した方がよいでしょう。

次の大きな問題は、「Avoid an excessive DOM size(過剰なDOMサイズの回避)」です。これは、ページビルダーの使用時によくある問題です。他の「Avoid large layout shifts(大きなレイアウトシフトの回避)」も、ページビルダーやテーマに関連する可能性があります。

「Avoid enormous network payloads(膨大なネットワークペイロードの回避)」は、画像、スクリプト、CSSファイルなど、負荷の高いアセットを指します。「Page Details(ページの詳細)」セクションに、その概要が示されています。ここでは、ページの総サイズとリクエスト数がかなり多いことがわかります。

WordPressサイトの速度を低下させる、もう一つの大きな原因がCDNの未使用です。この詳細については記事「WordPress CDNを使うべき理由」を参照してください。

「Performance(パフォーマンス)」タブをクリックすると、ブラウザとLighthouse Performanceから報告される、その他の指標が表示されます。

GTmetrixレポートの「Performance」タブ
GTmetrixレポートの「Performance」タブ

ご覧のように、このテストウェブページでは何一つうまくいっていません。レポートの「Structure(構造)」タブ、「Waterfall(ウォーターフォール)」タブで、さらに多くの洞察を得られます。

次は、これも人気のある速度テストツール「Pingdom Tools」です。ここでも同じサイトのホームページをテストします。


Pingdom Toolsウェブサイト速度テストツール

Pingdom Toolsは、ウェブページのテストに独自のアルゴリズムを使用します。ここでもこのサイトの結果はあまり良くありません。

Kinstaのワンクリックステージング機能
Pingdom Toolsの速度テストの結果

下にスクロールすると、サイトのパフォーマンスを向上する方法が表示されます。それぞれの推奨事項を展開すると、どこをどのように改善すればよいか、より詳細な情報を得られます。

Kinstaのワンクリックステージング機能
Pingdomのパフォーマンス改善推奨事項

速度テストツールはそれぞれ独自のパフォーマンス指標を持つため、ある速度テストの結果と他の速度テストの結果は、直接比較できません。どのツールを選ぶにせよ、1つを使い続けることが重要です。

最後に、サイトの知覚されるパフォーマンスと実際のパフォーマンスの違いについても考慮する必要があります。詳細については、ウェブサイト速度テストの実行に関する記事をお読みください。

手順2:ウェブサイトの読み込みテスト

ウェブサイトの負荷テストを行うことで、現実世界での速度に関する新しい情報を得られます。ここでは、システム上でローカルに実行できる、フリーでオープンソースの負荷テストツール「k6」を使用します。
A screenshot of the k6 speed testing tool's homepage.
k6 FOSS速度テストツール

k6の無料版を使用するには、多少のコマンドラインの知識が必要ですが、一度使い始めるとかなり強力です。(注意:代わりにk6の有料クラウドソリューションや、Loader.ioのようなシンプルなクラウドベースの負荷テストツールも使用できます。)

優れたk6 Reporterエクステンションと組み合わせることで、負荷テストを実行し、その正確な結果をHTML形式として取得できます。

A screenshot of the k6 load testing results showing the Request Metrics.
k6負荷テスト結果─Request Metrics(リクエスト指標)

上の結果は、最大50人の仮想ユーザーで10分間、同じサイトに負荷テストをかけたものです。ダッシュボードには、その他にも有用な統計情報が示されます。

A screenshot of the k6 load testing results showing Other Stats.
k6負荷テストの結果─その他の統計情報

ほとんどのリクエストが失敗していることに注目してください。おそらく、サーバーがリクエストを処理できていないことを示しています。

k6スクリプトで閾値やチェックも設定できます(例:ページの読み込みが1.5秒未満、ユーザーがログインできるかどうか等)。これらの指標もダッシュボードにきちんと表示されます。

下の画像は別のサイトの負荷テスト結果です。明確な対比となるよう同じ条件を使用しています。

A screenshot of the k6 load testing results for another website showing the Request Metrics.
k6負荷テストツール─第2ラウンド

失敗したリクエスト数「28」は悪い数字に見えるかもしれませんが、リクエストの総数を考えると違ってきます。すなわち、失敗したリクエストは、ローカルマシンから送信されたすべてのリクエストの0.25%にすぎません。つまりこの結果は、このサイトのホスティング事業者は、かなりの数の同時ユーザーに対してサービスを提供できることを示しています。

手順3:WordPressのテーマやプラグインの調査

パフォーマンス問題を発見する、次の大きな手順が、WordPressサイトのテーマやプラグインのテストです。テーマやプラグインは多種多様ですが、その中には、他のものよりも非常によく最適化されたものが存在します。

速度テストのセクションでは結果のレポートから、問題のあるテーマやプラグインを発見しました。しかし、もっと直接的な方法があります。一度に一つのテーマやプラグインを無効にして、速度テスト、負荷テスト、またはその両方でサイトのパフォーマンスをテストするのです。

問題が解決しない場合は、更にテーマやプラグインを無効にしてテストを再実行し、原因がわかるまで、この作業を続けます。

ただし、この方法は本番サイトでは実行できません。このような場合にステージングサイトがあると便利です。特定の機能を追加、変更、削除することで、本番サイトを様々にイテレーションテストできます。

ほとんどのホスティング事業者、特に安価な共用ホスティングプランは、デフォルトでステージング機能を提供しません。そのため、ステージングサイトを手動で構築するか、WordPressステージングプラグインを使用する必要があります。

Kinstaでサイトを運営されている場合、KinstaにはすべてのWordPressサイトに専用のステージング環境が付帯しています。MyKinstaにアクセスしてサイトを選択し、環境を「本番」から「ステージング」に変更するだけで切り替えられます。

Kinstaのステージング環境
Kinstaのステージング環境

このステージングサイトは、サーバーからサーバーサイドの設定に至るまで、事実上お客様の本番サイトと完全に同じものです。本番環境に影響を与えることなく、ウェブサイトの改修やテストに利用できます。

また、複数のステージング環境が必要な場合もご安心を。Kinstaでは、プレミアムステージング環境を追加することもでき、必要に応じて、最大5つのステージング環境を作成することができます。

手順4:アプリケーションパフォーマンス管理(APM)ツールの使用

速度テストやロードテストツールとAPMツールを組み合わせることで、ウェブサイトの診断能力を大幅に向上できます。

ステージングサイトを立ち上げ、どのプラグインやテーマを無効にするかを一つずつ推測する代わりに、優秀なAPMツールを使用すれば、サイト上で何も変更せずに、パフォーマンス低下の原因を特定できます。遅いトランザクション、データベースクエリ、外部リクエスト、WordPressフック、プラグインなどを追跡、分析できます。

MyKinstaでのKinsta APMの有効化
MyKinstaでのKinsta APMの有効化

一般に、APMツールの使用は初心者に優しいものではありません。専門の開発者でも、効率的に使用するにはトレーニングが必要です。さらに、ほとんどのAPMツールは実行にライセンスが必要なため、常に追加のコストが発生します。

過去に記事「最高のAPMツール」を紹介しましたので、そちらもご覧になってください。無料のQuery Monitor WordPressプラグインを使用するのも一つの方法です。

サイトがKinstaでホストされている場合、無料のKinsta APMを使用して、パフォーマンス問題を診断できます。Kinsta APMは、WordPressサイトのためにカスタム設計されたパフォーマンス監視ツールで、WordPressのパフォーマンス問題の特定を支援します。

Kinsta APMの機能実証のために、意図的に最適化されていないサイトを作成しました。MyKinstaでこのサイトのKinsta APMを有効化し、2、3の負荷テストを実行して、データを取得しました。その結果がこちらです。

insta APMの「トランザクション」タブ
insta APMの「トランザクション」タブ

「トランザクション」タブには、監視期間中に最も時間がかかったリクエストがリストされます。サイトの最適化を始める場合は、ここから始めると良いでしょう。上の例では、「wp-cron.php」が最も遅いリクエストです。これは、WordPress自体、任意のテーマ、プラグインによってトリガーされる可能性があります。

WP-Cronを無効にして、システムクーロンに置き換えることで、サイトのパフォーマンスを向上できます。

次は、Kinsta APMの「WordPress」タブです。ここでは、最も遅いWordPressのプラグインとフックを見つけられます。

Kinsta APMの「WordPress」タブ
Kinsta APMの「WordPress」タブ

もし、ここに不要なプラグインや、機能が重複するプラグインがあれば、WordPressサイトから削除できます。例えば、ここには連絡先フォームのプラグインが2つあり、ウェブサイトに必要ないポートフォリオプラグインがあります。

このタブをさらに下にスクロールすると、最も遅いWordPressフックが表示されます。

Kinsta APMの示す低速なWordPressフック一覧
Kinsta APMの示す低速なWordPressフック一覧

Kinsta APMの最も役立つ機能の一つが、低速なWordPressフックの追跡です。フック項目をクリックすると、そのトランザクションサンプルを見られます。

Kinsta APMでの低速なフックのトランザクション例
Kinsta APMでの低速なフックのトランザクション例

どのプラグイン、テーマ、フックがパフォーマンスのボトルネックになっているかを正確に把握することで、サイトパフォーマンスを向上し、ページの読み込み時間を短縮できます。

WordPressウェブサイトの速度を改善する17の方法

知るだけでは、半分の勝利です。知識に基づいて行動することで初めて結果が見えてきます。上で紹介したテストをすべて実施した上で、ここからは、低速なWordPressサイトを改善する可能性のある潜在領域を探って行きます。

以下のリンクから、興味のあるセクションに移動できます。

1. WordPressサイトを最新に保つ

WordPressサイトのメンテナンスで最も重要なのが、サイトの更新です。当たり前に聞こえるかもしれませんが、それでも強調します。

WordPressのアップデートには、セキュリティの修正、最新機能、パフォーマンスの修正が含まれます。

サイトの自動更新は、wp-config.phpファイルで有効にできます。サイトの安全性を保つため、常にWordPressの最新バージョンに更新することをお勧めします。

同様に、すべての有効なプラグインとテーマも更新する必要があります。ウェブサイト上のプラグインやテーマが1年以上更新されない場合は、他の代替を検討してください。

2. ウェブサイトの画像を最適化する

HTTP Archive(2022年3月1日)によると、WordPressサイトのページサイズの中央値は2,408KBで、そのうち画像は、ほぼ1,117KB(総ページサイズの46.38%)を占めます。

WordPress:画像の統計情報(原典:HTTP Archive)
WordPress:画像の統計情報(原典:HTTP Archive)

大きな画像があるとウェブサイトの速度が低下し、ユーザー体験が悪化することは明らかです。手動、またはプラグインを使用して画像を最適化することで、ページの読み込み時間を大幅に短縮できます。

画像を最適化する場合は、非可逆圧縮、または可逆圧縮を使用します。多くの画像編集ソフトは、最適な画像圧縮の実現に、保存の際の画質調整機能を備えています。非可逆圧縮は、ほとんどの場合、画像の細部を保持しながらファイルサイズを小さくする完璧なバランスを実現します。

適切な画像ファイル形式の選択は重要です。PNGはコンピュータで作成されたグラフィックに適し、JPEGは写真に適しています。GIF、SVG、JPEG XR、WebPなど、他にも様々な画像形式があります。すべてのブラウザで広くサポートされているものもあれば、そうでないものもあります。よく調べてから選択してください。

WordPressの「設定」>「メディア」>「画像サイズ」
WordPressの「設定」>「メディア」>「画像サイズ」

WordPressはデフォルトでレスポンシブ画像に対応しています。好みの画像サイズを設定し、あとはWordPressにお任せできます。しかし、ディスクスペースを節約したい場合は、Imsanityなどの無料のWordPressプラグインを使用して、大きな画像を設定したサイズに自動で縮小できます。

WordPressの画像最適化プラグインとしては、ImagifyShortPixelが人気のある選択肢です。その他のプラグインについては、ウェブ用に画像を最適化する詳細な記事で紹介しています。

3. 必要な場合のみ、注意してプラグインを使用する

プラグインはWordPressとコミュニティの命です。しかし、WordPress.orgに掲載された54,000以上の無料プラグインや、その他の数千ものプラグインからなる素晴らしいライブラリも、インストールすることでサイトを破壊する可能性があります。

最適化されていないWordPressプラグインにより、サイトのパフォーマンスは低下し、ページの読み込み時間が増加するかもしれません。

しかし、一方でサイトのパフォーマンスを損なわずに、何十ものWordPressプラグインをインストールできます。これにはプラグインが適切にコーディングされ、パフォーマンスのために最適化されていなければなりません。さらに重要な点として、プラグイン開発者がプラグイン同士の連携を最適化している必要があります。

Kinstaが厳選したWordPressのプラグインリスト
Kinstaが厳選したWordPressのプラグインリスト

様々なユースケースに合わせてKinstaが厳選した最高のWordPressプラグインリストを参照ください。SEOプラグインSNSプラグイン連絡先フォームプラグインECプラグインと、目的にあったプラグインが必ず見つかるはずです。

サイトに何個プラグインをインストールしているかによらず、常にこの記事の手順3、または手順4を参照して、プラグインに問題がないかを注意してください。

4. 高速なWordPressテーマを選択する

高速なWordPressテーマを選択することは、ウェブサイトのパフォーマンスとユーザー体験にとって非常に重要です。レイアウト、ナビゲーションメニュー、カラーパレット、フォント、画像配置などのテーマの機能は、訪問者が最初に目にする機能です。

こうした機能が正しく最適化されていなければ、仮に美しいサイトを作っても、それは単に、美しく遅いサイトでしかありません。

人気のあるWordPressテーマ「Hello Elementor」
人気のあるWordPressテーマ「Hello Elementor」

WordPressのテーマを選ぶ前に、ウェブサイトに必要な機能をすべてリストアップしてください。そして、自分の条件に合うテーマを調査して、書き出します。

調査では常に、高い評価と優れたカスタマーサポートを持つ信頼できる開発者に注目してください。また、更新頻度の悪いテーマは避けてください。

無料テーマでも有料テーマでも、ウェブサイトの目標を達成するテーマを選びます。便宜のため、WooCommerceのテーマを含む、数十のWordPressテーマをテストし、最もパフォーマンスの高いものをリストアップしました。

対象の「テーマ」を絞った、シンプルで軽量なテーマを選びましょう。不必要に肥大化していない、機能的で、美しいテーマが多数存在します。逆に言えば、ページビルダープラグインを使用した中途半端なテーマは避けましょう。

すでに稼働中のWordPressサイトの場合は、ステージングサイトをセットアップし、本番への移行前にテーマをテストしてください。

5. ウェブサイトを最適化するキャッシュを構成する

様々なウェブサイトのキャッシュ
様々なウェブサイトのキャッシュ

キャッシュは複数のレイヤーからなる複雑な技術です。キャッシュが何かを説明する目的のためだけの記事もあります。簡単に説明するとキャッシュは、頻繁にアクセスされるデータを保存し、再利用して、ウェブサイトを高速化するプロセスです。

WordPressはPHPとMySQLで動作しており、キャッシュを採用しなければ、どちらも肥大化する可能性があります。つまりサイトの速度は、あなた、あなたのホスト、キャッシュの共同作業の賜物です。

Kinstaを含むほとんどのマネージドWordPressホストは、サーバーレベルでキャッシュを管理するため、自分で実装する必要はありません。しかし、キャッシュがない場合も、常に無料のWordPressキャッシュプラグインを使用できます(例:WP Super CacheW3 Total Cache)。

Kinstaでホストしているサイトのキャッシュの有無による相違
Kinstaでホストしているサイトのキャッシュの有無による相違

上のサイトは適切に最適化されているため、キャッシュが無効な状態でも非常に高いパフォーマンスを示しています。しかし、キャッシュの有効後は、パフォーマンスが23%向上しています。何千人ものユニークな訪問者にサービスを提供する場合、この読み込み時間の改善率は更に上がります。

6. 外部HTTPリクエストとAPIコールを削減する

WordPressサイトのテーマやプラグインには、様々な外部リソースへのリクエストを含むものがあります。一般にこのリクエストでは、スタイルシート、フォント、スクリプトなど、外部でホストされているファイルが読み込まれます。

CSSはレンダリングを妨げるリソースになる
CSSはレンダリングを妨げるリソースになる

また、分析、SNS共有などの機能を追加する場合もあります。

これらのうちいくつかを使用する分には問題ありませんが、多すぎるとサイトの速度が低下します。HTTPリクエストの数を減らし、読み込み方法を最適化すると、ウェブサイトの速度は向上します。

詳細な方法については、記事「HTTPリクエストを減らす方法」をご覧ください。

7. ウェブサイトのスクリプトとスタイルシートを圧縮する

コードの圧縮(ミニファイ)は、コードから不要な要素を削除するプロセスです。WordPressサイトでは、主にJSスクリプトCSSスタイルシートが圧縮されます。

圧縮で削除される要素は、人間(またはウェブ開発者)の読みやすさのためのコードの一部です。簡単な例は、コードのコメントです。こうした要素は、機械(またはウェブブラウザ)には必要ありません。

ウェブサイトのコードを圧縮することで、小さなサイズのJavaScriptやCSSファイルを作成できます。読み込みが速くなるだけでなく、ブラウザによる解析も速くなります。これによりページの読み込み速度を大幅に向上できます。

ほとんどのWordPressのパフォーマンスプラグインはこれをユーザーに代わって行います。人気のあるプラグインの1つが、無料のAutoptimizeプラグインです。この記事の執筆時点で、100万以上のアクティブインストールがあります。

Kinstaのお客様は、コードの圧縮の利用に、サードパーティのプラグインをインストールする必要はありません。MyKinstaから直接コードを縮小できます。

MyKinstaでの「コード圧縮」の利用
MyKinstaでの「コード圧縮」の利用

この圧縮は、Kinsta CDNも動作する、Cloudflareのエッジネットワークで行われますが、そこではキャッシュも行われます。Cloudflareがコードの圧縮を行い、最も近いエッジサーバーから訪問者にファイルを提供するため、サーバーリソースは解放されます。詳細については、コード圧縮のドキュメントをご覧ください。

8. 各ページの読み出しで必要なスクリプトのみを読み込む

ほとんどのWordPressのテーマやプラグインのリソースは、一部のページでしか必要ないにもかかわらず、すべてのページで読み込まれ、実行されるものがあります。たとえば、連絡先フォームプラグインの中には、連絡先フォームのあるページ(例:問い合わせページ)だけでなく、すべてのページでアセットを読み込むものがあります。

こうしたスクリプトを圧縮して結合すれば、サイトのパフォーマンスは多少向上します。しかし、そもそも不要なスクリプトやスタイルは読み込まないようにすべきです。

そこで、無料のAsset Cleanupプラグインの使用をお勧めします。このプラグインは、ページに読み込まれたすべてのアセットをスキャンします。そして、特定のページに必要のないCSSファイルやJSファイルを選択し、肥大化を抑えます。

Asset CleanUpプラグインの使用
Asset CleanUpプラグインの使用(原典: WordPress.org)

Asset Cleanupはキャッシュと組み合わせて使用すると効果的です。ウェブサーバーで最適化したページを繰り返し生成する必要がなくなります。

9. WordPress管理画面の速度を改善する

通常、バックエンドの最適化は、フロントエンドの最適化から始めます。フロントエンドを高速化すると、ほとんどの場合、バックエンドのパフォーマンスの問題も解決されるためです。

WordPressの管理画面が遅い場合は、これを逆に行います。バックエンドのパフォーマンスの問題を解決すると、訪問者のためにサイトを高速化できます。

このシナリオでは、サーバーレベルのAPMツールを使用すると便利です。追加のプラグインをインストールすると、ウェブサイトの速度がさらに低下する可能性があるためです。

Kinsta APMで低速なトランザクションを探す。
Kinsta APMで低速なトランザクションを探す。

WordPressサイトのパフォーマンスにおける一般的なボトルネックは、Admin-Ajaxの多用です。しかし、WordPressの管理画面の遅さは、WordPressのバックアップやWP-Cronなどのバックグラウンドタスクに起因する場合もあります(先ほどの例と同様です)。あるいは、管理画面にあまりにも多くのバナーを追加する肥大化したプラグインが原因かもしれません。

Kinsta APMを使用すれば、推測に頼る必要はありません。サイト全体の正確なパフォーマンスデータを参照でき、問題の把握に役立ちます。

これまでKinstaでは、Kinsta APMを使用してWordPressのパフォーマンスのボトルネックを発見する様々な使用例を発表してきました。その中には、低速なWordPress管理画面を修正する記事もあります。この記事では、Kinsta APMを使用してWordPress管理画面のパフォーマンスのボトルネックを見つける方法を学べます。

Kinsta APMの特に優れた特長として、どのような種類のWordPressサイトでも動作します。Kinsta APMは、WooCommerceの他に、WordPressのマルチサイト、会員制サイト、学習管理システム(LMS)サイトのパフォーマンスの問題発見に使用できます。

10. サーバーの所在地と構成

ウェブサーバーの所在地とその構成は、ウェブサイトの表示速度に大きな影響を与えます。

たとえば、ウェブサーバーが米国にある場合、ヨーロッパやインドからの訪問者は、米国からの訪問者よりもウェブサイトの読み込み速度が遅くなります。

これを軽減するには、以下を使用します。

Kinstaでホストするすべてのウェブサイトは、Google Cloudによって提供されています。35ヶ所のグローバルデータセンター(この数は定期的に増え続けています)の中から訪問者にもっとも近いデータセンターを選択し、ウェブサーバーを配置できます。

Google Cloudの世界ゾーン
Google Cloudの世界ゾーン(出典: Google)

世界中にユーザーを抱えるサイトであれば、コンテンツデリバリーネットワーク(CDN)を選択することで、その速度をさらに向上できます。Kinsta CDNを実装するCloudflareについては、次のセクションで説明します。

次は、サーバー構成です。ここで質問ですが、どのようなハードウェアとソフトウェアスタックを使用していますか?高速なWordPressホスティングのために設計されていますか?

サーバーリソースは大規模なウェブサイトのプール間で共用されていますか、または専用に分離されていますか?

予測できないトラフィックの急増がある場合、サーバーのリソースはオートスケールしますか、それともそのたびに、新しいプランにアップグレードする必要がありますか?

以上はすべて、評判の良いレンタルサーバーなら熱心に回答したい質問です。ユーザーは常に積極的に問いかける必要があります。

Kinstaでは、サーバーハードウェアからソフトウェアスタックまで、最高の技術だけを使用しています。サイトはすべてGCPのコンピューティング最適化C2 VMでホストされています。ほとんどのWordPress関連のプロセスはシングルスレッドですが、このシングルスレッドで比類ない性能を発揮します。Google Cloudによると、「コアあたりのパフォーマンスが最も高いコンピューティングエンジン」です。

このマシンをNginxウェブサーバー、8.1、LXDコンテナ、MariaDBなどの最先端のソフトウェアと組み合わせることで、ウェブサイトを一瞬で読み込みます。

11. コンテンツデリバリーネットワーク(CDN)を使用する

ウェブサイトを高速化する最も簡単な方法の1つが、高速で信頼性の高いCDNの利用です。

CDNは、コンテンツを訪問者に直接配信することによって、ウェブサーバーの負荷を軽減します。CDNは、サーバーのネットワーク(POPとも呼ばれる)で、画像、スタイルシート、フォント、スクリプト、動画など、サイトのコンテンツのコピーをホストし、配信するために設計されています。

すべてのKinstaのウェブサイトをパワーアップするCloudflare CDN
すべてのKinstaのウェブサイトをパワーアップするCloudflare CDN

パフォーマンスの高速化のため、すべてのウェブサイトは、少なくとも何らかのCDNを利用すべきです。

Kinsta+Cloudflare=高速で安全なウェブサイト
Kinsta+Cloudflare=高速で安全なウェブサイト

Kinstaでは、無料のCloudflare統合により、すべてのサイトを保護しています。Cloudflareは、エンタープライズレベルのファイアウォールとDDoS保護を提供するだけでなく、高性能のHTTP/3 CDNでウェブサイトをスピードアップします。

Kinsta CDNがどれほど速いか、ご自身でお確かめください。信じられない速さです。

ヒント:もしウェブサイトで人気のあるオープンソースのJavaScriptライブラリ(例:jQuery、D3.js、three.js、Web Font Loader)を使用している場合、Google Hosted Libraries CDNを使用して配信速度を向上できます。

12. 不要なURLリダイレクトを削除する

新しい投稿やページでウェブサイトを更新する場合、しばしばURL構造を変更します。このとき、URLリダイレクトはありがたい存在です。しかし、WordPressのリダイレクトのベストプラクティスに従わなければ、サイトのユーザー体験と検索エンジン最適化(SEO)に悪影響を及ぼします。

URLリダイレクトの誤った設定による最も一般的な問題が、リダイレクトの連鎖です。時にはこの連鎖が、無限リダイレクトループになります。リダイレクトの連鎖は、多くの場合、ページの読み込み時間を増加させます。

また、URLリダイレクトの設定ミスは、404エラー「Page not found」の原因にもなります。サイトが多くの404エラーを生成する場合、この応答は通常キャッシュされないため、サイトのパフォーマンスにも影響を与えます。

MyKinstaには、リダイレクトと404エラーの正確な数を確認できるアナリティクスツールが含まれています。

MyKinstaでの404エラーとリダイレクトの分析
MyKinstaでの404エラーとリダイレクトの分析

クリエイティブな404エラーページをデザインして逃げることもできますが、長い目で見れば意味がありません。

Kinstaの404エラー「Page not found」ページ
Kinstaの404エラー「Page not found」ページ

ここで、不要なリダイレクトを作らない方法を紹介します。

  • 適切なURLプレフィックスを使用する(HTTPまたはHTTPS)。
  • URLから「www」サブドメインを維持、または削除する(混ぜない)。
  • URLに投稿IDやページIDを使用しない。
  • URLのパス全体を含める。
  • トップレベルドメイン(TLD)は1回のリダイレクトで解決するようにする(リダイレクトがないのが理想的)。

WordPressには、多数のリダイレクト設定方法があります。そのうちの1つが、John Godley氏による無料の人気プラグイン「Redirection」です。

無料のWordPressプラグイン「Redirection」の使用
無料のWordPressプラグイン「Redirection」の使用

サイトがKinstaでホストされている場合は、MyKinstaでリダイレクトを管理できます。この機能はサーバーレベルでルールを実装するため、リダイレクトの設定として優れています。また、インストールするサードパーティプラグインが1つ、少なくて済む利点もあります。

MyKinstaでのリダイレクトルールの追加
MyKinstaでのリダイレクトルールの追加

管理したいサイトに移動し、「リダイレクト」タブをクリックします。次に、大きな「リダイレクトルールの追加」ボタンをクリックして、新しいリダイレクトを追加します。

リダイレクトのカスタマイズに正規表現を使用可
リダイレクトのカスタマイズに正規表現を使用可

ウェブホストがApacheサーバーを使用している場合、リダイレクトの設定に、.htaccessファイルを編集する必要があります。.htaccess Generatorサイトを使用して、サイトに適切なリダイレクトルールを生成してください。

13. WordPressの混合コンテンツ警告(HTTP/SSLエラー)を修正する

WordPressサイトをHTTPSプロトコル上で動かすことは、今日では必須です。しかし、HTTPからHTTPSへ移行すると、いくつかの問題に直面します。最も一般的な問題が、「混合コンテンツ警告」アラートです。

混合コンテンツ警告は、ページにHTTPとHTTPSコンテンツが含まれている場合に発生します。リソースを安全でない方法で読み込むことは、セキュリティ上の懸念だけでなく、潜在的なパフォーマンスの問題になります。

ウェブサイトで混合コンテンツエラーが発生した場合、Why No Padlockなどの無料ツールを使用して、どのリソースの読み込みが安全でないかを表示できます。

次に、検索と置換を実行して、潜在的な原因をすべて修正します。例えば、無料のBetter Search Replaceプラグインを使用して、これを実行できます。Kinstaのお客様であれば、MyKinstaから検索と置換機能を利用できます。

MyKinstaの「検索と置換」機能
MyKinstaの「検索と置換」機能

単純な検索と置換で、混合コンテンツの警告はすべて解決できるはずです。しかし、警告が残る場合は、おそらくハードコードされたスクリプトがあるため、これを見つけて手動で更新する必要があります。または、この作業を行う開発者を雇ってください。

14. WordPressデータベースを定期的に最適化する

WordPressサイトのデータベースには、サイトのすべての重要な情報が保存されています。定期的なメンテナンスを行わなければ、サイトの動作は遅くなります。

たとえば、WordPressのデータベースには、サイトを立ち上げた数年前の情報が残っている場合があります。また、投稿やページのリビジョン、下書き、ゴミ箱に捨てられたコメント、削除された投稿なども含まれます。これらは、最近の投稿を編集して公開する際には役立ちますが、時間が経つにつれ、データベースに大量の不要なデータとして蓄積され、肥大化していきます。

したがって、WordPressのデータベースの最適化は、ウェブサイトのパフォーマンスを向上し、維持するには必須です。

また、プラグインやテーマによっては、設定を簡素化し、自動で読み込むために、wp_optionsテーブルにデータを追加するものもあります。しかし、あまりに多くのデータが自動ロードされると、ページの応答時間は遅くなります。

WordPressのデータベースの最適化には、様々なテクニックを使用できます。phpMyAdminAdminerを使用して、古くなったデータベース項目を手動でクリアするのも一つの方法です。また、WP-OptimizeWP-SweepAdvanced Database CleanerなどのWordPressデータベース最適化プラグインも使用できます。

「Advanced Database Cleaner」プラグインの使用
「Advanced Database Cleaner」プラグインの使用

Kinstaでは、お客様のニーズに応じてサイトのデータベースを自動的に最適化します。通常、1週間に1回実施し、お客様のデータベースが最高の状態にあることを確認します。自動化されたプロセスで何か異常が見つかると、Kinstaの管理部門に通知し、管理部門がこれを調査します。

15. クラウドベースのWordPressセキュリティサービスを選択する

毎日、何千ものWordPressサイトがハッキングされています。したがって、WordPressサイトにとってセキュリティは重要な問題であり、常に最新の注意を払う必要があります。

ファイアウォールを使用してWordPressサイトを保護するには、主に2つの方法があります。

  1. 実績のある安全なウェブホスティングサービスを選択する
  2. サードパーティーによる専用のセキュリティサービスを利用して、ウェブサイトを保護する

最初の選択肢は明快です。信頼できるWordPressホスティング事業者が、サイトのセキュリティ対策のほとんどを引き受けてくれます。

しかし、2番目の選択肢を選ぶ場合、更に2つの選択肢があります。

  1. WordPressのセキュリティプラグインを選択する(例:Wordfence)
  2. DNSファイアウォールを使用する(例:Cloudflare)

WordPressのセキュリティプラグインは、常時オンであり、定期的なスキャンが必要なため、ウェブサイトのリソースを消費します。

代替として、Cloudflareのようなクラウドベースのセキュリティソリューションを使用します。これはまた、ボット、DDoS攻撃、プロキシトラフィックに対する特別な保護も提供します。

Kinstaのお客様であれば、Cloudflareとの統合により、サーバーレベルのセキュリティ対策とクラウドベースのファイアウォールの両方によって保護されます。Kinstaでホストされるすべてのサイトは、Cloudflareのエンタープライズレベルのファイアウォールで保護されます。

さらに、Kinstaは二要素認証(2FA)とIPジオロケーションブロックをサポートします。また、1分以内に6回のログイン試行が失敗したIPは禁止します。さらに、完全に暗号化された接続(SFTP、SSH、HTTPS)の使用を強制し、すべての新しいWordPressのインストールに強力なパスワードを要求し、ハッキング対処保証を提供しています。

16. 最新のPHPバージョンに更新する

WordPressは、主にサーバーサイドプログラミング言語「PHP」で動作しています。テーマやプラグインも、主にPHPで書かれています。

一般に、新しいバージョンのPHPは、古いバージョンのものよりも高速です。Kinstaでもお客様には、最新のサポートされているPHPバージョンの使用を推奨しています。最新のバージョンは、多くのパフォーマンス改善を提供し、またより安全です。

Kinstaの年次PHPベンチマークでは、PHP 8.1でのWordPressは、PHP 8.0よりも47.10%高速です。PHP 7.2と比較するとさらに速く、1秒間に50%を超えるリクエストを処理できます。

WordPress 5.9-RC2 PHPベンチマーク
WordPress 5.9-RC2 PHPベンチマーク

この記事の執筆時点では、ほとんどのWordPressプラグイン、テーマ、開発ツールが、まだPHP 8.1をサポートしていません。本番サイトの環境をPHP 8.1にアップグレードする場合は、まずステージング環境で徹底的にテストして、サイトを破壊しないことを確認してください。

ただし、サーバーがまだPHP 7.xバージョンの場合は、PHP 8.0にアップデートしても、ほとんど同じ利点を享受できます。

Kinstaはすべての環境でPHP 8.1をサポートしているため、アップグレード前にPHP 8.1でサイトを十分にテストできます。もしお使いのホストが最新のPHPバージョンにアップデートするオプションを提供しない場合、ホスティング事業者を見直しても良いでしょう。

17. 信頼できるマネージドWordPressホストに切り替える

これまでのすべての手順を試しても、まだWordPressサイトの動作が遅い場合は、信頼できるマネージドWordPressホスティング事業者に切り替えるしかありません。

通常、マネージドWordPressホスティングには、WordPressサイトを効率的、安全、かつ迅速に運営する複数の機能が搭載されています。技術的なノウハウはすべて専門家に任せ、お客様はビジネスの運営に専念できます。

マネージドWordPressホスティングのプランは通常、共用ホスティングやDIY VPSホスティングよりも高額ですが、金額分の価値はあるはずです。人気のあるマネージドWordPressホストには、Kinsta(私たちです)、WP EngineFlywheelPressablePagelyがあります。

どのサイトでホストするかによらず、正しく検討し、希望するウェブサイトの要件に適合していることを確認してください。Kinstaを含む、ほとんどのマネージドWordPressホストは、無料の移行も提供しています。ダウンタイムなしで簡単に既存のサイトを新しいホストに移行できます。


まとめ

パフォーマンスの悪いWordPressサイトの修正には、数多くの手順が必要ですが、あなたでもできるはずです。高速なサイトは、SEO、ユーザー体験、コンバージョン率の向上に役立ちます。その上、誰もが高速なウェブサイトが大好きです。

新しいウェブホストに移行する前に、この記事で説明したすべての問題を解決してください。切り替えを決めた場合も、投資に値するだけの適切なツールとサポートが新しいホストで提供されることを確認してください。

もし、遅いWordPressサイトを修正した経験があれば、コメントでお知らせください。また、記事「WordPressサイトを高速化する」では、遅いウェブサイトを最適化するための、さらに広いエリアをリストアップしています。是非ご覧ください。

Salman Ravoof Kinsta

Salman Ravoof is a Technical Editor at Kinsta. He's a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.