WordPressプラグインで重いサイトを高速化する方法を解説

当ページのリンクには広告が含まれています。

WordPressプラグインが重い原因は、プラグインの入れすぎ、負荷の高いプラグインの使用、不要プラグインの放置、キャッシュの重複、更新不足、全ページでのリソース読み込みの6つに大別されます。対策としては、不要プラグインの削除、軽量な代替プラグインへの乗り換え、キャッシュの適切な設定、画像やCSS/JavaScriptの最適化が効果的です。WordPressは世界中で最も利用されているCMSであり、プラグインによって機能を自由に拡張できることが大きな魅力ですが、導入や運用方法を誤るとサイトの表示速度が著しく低下し、ユーザーの離脱やSEO評価の低下を招いてしまいます。この記事では、WordPressプラグインがサイトを重くする原因を徹底的に分析し、具体的な対策方法と重いプラグインの特定方法、さらにはCore Web Vitalsとの関係やサーバー環境の見直しまで、表示速度を改善するために知っておくべき情報を網羅的にお伝えします。

目次

WordPressサイトが重くなる仕組みとプラグインの影響

WordPressサイトが重くなるのは、動的なWebサイト生成の仕組みに起因しています。ユーザーがページにアクセスするたびに、サーバー側でPHPプログラムが動作し、MySQLやMariaDBといったデータベースから必要なデータを取得してHTMLを生成し、ブラウザに返すという処理が行われます。この一連の処理に時間がかかると、ページの表示が遅くなります。

具体的な流れとしては、まずユーザーがブラウザでURLにアクセスすると、サーバーがリクエストを受け取り、PHPがWordPressのコアファイルを読み込みます。続いて有効化されているプラグインのファイルが読み込まれ、テーマのファイルが読み込まれた後、データベースへのクエリ(問い合わせ)が実行されます。取得したデータをもとにHTMLが生成され、CSS、JavaScript、画像などの外部リソースが読み込まれ、最終的にブラウザがページを描画(レンダリング)します。

この流れの中で、プラグインはPHPファイルの読み込み、データベースクエリの発行、CSS/JavaScriptの読み込みの3つの部分に大きく影響します。プラグインが増えるほど読み込むファイルが増え、データベースへのクエリ数が増加し、外部リソースも増えるため、結果としてページの表示が遅くなるのです。

WordPressプラグインが重い6つの原因

プラグインの入れすぎによる負荷増大

WordPressプラグインが重い最も多い原因は、プラグインの入れすぎです。WordPressの魅力は豊富なプラグインにありますが、初心者ほど「便利そうだから」という理由で次々とプラグインを追加してしまいがちです。プラグインの数が増えると、読み込むPHPファイルが増えてサーバーの処理時間が長くなり、データベースへのクエリ数が増加してレスポンスが遅くなります。さらに、各プラグインが独自のCSSやJavaScriptを読み込むためフロントエンドの負荷が増大し、プラグイン同士が干渉し合って不要な処理が発生することもあります。

プラグインの適正数については、複数の専門サイトの見解を総合すると、小規模サイトでは10個以下、中規模サイトでは15個以下、大規模サイトでも20個を超えないことが理想的とされています。ただし、重要なのは「数」そのものではなく、それぞれのプラグインが本当に必要かどうかを見極めることです。軽量なプラグインであれば数が多くても影響は少ない一方で、重いプラグインが1つあるだけでサイト全体の速度が大幅に低下することもあります。

負荷の高いプラグインがサイト全体の速度を低下させる

一部のプラグインは、実現する機能の割にサーバーへの負荷が非常に大きいことがあります。使用しない機能までパッケージ化されていたり、非効率的なコーディングがされていたりすることがその原因です。

特に重いことで知られているプラグインの代表例として、WordPress Popular Postsが挙げられます。人気記事のランキングを表示するプラグインとして広く利用されていますが、アクセスがあるたびにデータベースに記録を書き込むため、アクセス数が増加するとデータベースへの負荷が急激に高まります。ある検証では、データベースクエリ数がプラグインなしで25件だったのに対し、このプラグインを有効にすると319件まで上昇し、そのうち7割以上をこのプラグイン単体が占めていたという報告があります。

Count per Dayはアクセス解析系のプラグインで、サイトの訪問者数を表示する機能を持ちますが、データベースに大きな負荷を発生させることで知られています。Broken Link Checkerはリンク切れを自動的にチェックしてくれる便利なプラグインですが、バックグラウンドで常にリンクの状態を確認するためサーバーリソースを大量に消費します。Jetpackは多機能なプラグインですが、不要な機能を無効化せずにそのまま使用すると読み込むファイル数が増えて表示速度に影響します。また、Slider RevolutionやLayerSliderなどの画像スライダー系プラグインは大量のCSSやJavaScriptを読み込むため表示速度に大きな影響を与え、スライダーが設置されていないページでもリソースが読み込まれてしまうケースがあります。

不要なプラグインの放置がもたらす問題

使用していないプラグインを「無効化」しただけで放置しているケースも問題となります。無効化されたプラグインのファイルはサーバー上に残り続けるため、セキュリティリスクとなるだけでなく、WordPressのアップデートチェック時に余計な処理が発生します。また、一部のプラグインは無効化しても完全にはデータベースのテーブルやオプション情報を削除しないため、データベースの肥大化を招くことがあります。不要なプラグインは無効化にとどめず、完全に削除することが大切です。

キャッシュ機能の重複による逆効果

レンタルサーバーの多くはサーバー側でキャッシュ機能を提供していますが、それに加えてキャッシュ系プラグインを導入すると、キャッシュ機能が重複してしまうことがあります。キャッシュの重複は不整合を引き起こし、かえってパフォーマンスを悪化させる可能性があります。たとえば、エックスサーバーの「XPageSpeed」機能が有効になっているにもかかわらず、W3 Total CacheやWP Super Cacheなどのキャッシュプラグインを追加で導入しているケースがこれに該当します。サーバー側のキャッシュ機能を把握したうえで、プラグインとの併用が適切かどうかを確認することが重要です。

プラグインの更新不足による性能低下

プラグインのバージョンアップデートを怠ることも、サイトが重くなる原因のひとつです。古いバージョンのプラグインは最新のWordPressやPHPとの互換性が低下し、非効率な処理が発生する可能性があります。新しいバージョンではパフォーマンスの最適化が行われていることも多いため、常に最新版を使用することが推奨されます。

全ページでのリソース読み込み問題

多くのプラグインは、実際にその機能が必要なページだけでなく、すべてのページでCSSやJavaScriptを読み込んでしまいます。たとえば、お問い合わせフォームのプラグイン(Contact Form 7など)は、お問い合わせページにのみフォームを設置しているにもかかわらず、トップページや記事ページでも関連するCSSやJavaScriptが読み込まれてしまうことがあります。これは不要なリソースの読み込みとなり、表示速度の低下につながります。

WordPressで重いプラグインを特定する方法

プラグインの1つずつ無効化テストで原因を絞り込む

サイトが重いと感じたとき、まず行うべきはどのプラグインが原因なのかを特定することです。最もシンプルで確実な方法は、すべてのプラグインを無効化した状態でPageSpeed Insightsなどのツールで表示速度を計測し、その後プラグインを1つずつ有効化しながら再計測する方法です。まず現在の表示速度をPageSpeed Insightsで計測して記録し、すべてのプラグインを無効化した後に再度計測してプラグインなしの速度を記録します。その後、プラグインを1つずつ有効化しながらそのたびに速度を計測し、速度が大幅に低下したプラグインを特定します。この方法は確実ですが、プラグインの数が多い場合は時間がかかるという欠点があります。

Query Monitorプラグインでボトルネックを可視化する

Query Monitorは、WordPressの内部で何が起こっているかを詳細に可視化してくれる開発者向けのプラグインです。データベースクエリの実行時間、PHPエラー、読み込まれているスクリプトやスタイルシート、HTTPリクエストなどを、プラグインやテーマごとに分析することができます。

Query Monitorは管理画面の「プラグイン」から「新規追加」を選択し、「Query Monitor」で検索してインストール・有効化するだけで導入できます。有効化すると管理バー(画面上部のバー)の右側にデータベースクエリの実行時間、ページ生成時間、メモリ使用量などの情報が表示されます。クリックすると詳細パネルが開き、各プラグインやテーマが発行しているクエリの数や実行時間を個別に確認できます。

Query Monitorで特に注目すべきポイントとしては、ページ生成時間が長い場合はサーバー側の処理に問題があり、ピークメモリ使用量が高い場合はメモリを大量に消費するプラグインがあると判断できます。遅いクエリとして表示されるものはデータベースの処理がボトルネックになっており、コンポーネント別のクエリ数を確認すると、どのプラグインが最も多くのクエリを発行しているかがわかります。

実際の改善事例として、ある検証ではQuery Monitorで数百のデータベースクエリのうち8割を2つのプラグインが占めていたため、一時的にそれらを停止した結果、データベース読み込み時間は80パーセント、ページ表示時間は32パーセント改善したという報告があります。また、過去に削除したキャッシュ系プラグインの残骸ファイル(object-cache.php)が問題を引き起こしていたことがQuery Monitorによって判明した事例もあります。プラグインを削除しても関連ファイルが完全に消えない場合があるため、こうした残骸の検出にもQuery Monitorは有効です。

Query Monitor自体のパフォーマンスへの影響は最小限に最適化されており、情報は管理者にのみ表示されるため一般の訪問者の体験には影響しません。ただし、本番環境では調査が完了したら無効化しておくことが推奨されます。

PageSpeed Insightsで具体的な改善点を把握する

Googleが無料で提供しているPageSpeed Insightsは、Webページのパフォーマンスを分析し具体的な改善提案を表示してくれるツールです。URLを入力して「分析」をクリックするだけで、モバイルとデスクトップの両方でスコア(0~100点)を確認できます。

PageSpeed Insightsでは「ラボデータ」と「フィールドデータ」の2つの観点からサイトの状況を分析します。ラボデータは特定の環境下でのシミュレーション結果であり、フィールドデータは実際のユーザーの環境でのアクセス情報を集約した結果です。スコアの目安として、90以上が良好(緑)、50~89が要改善(オレンジ)、49以下が不良(赤)とされており、80以上を目指すことが望ましいです。

診断結果には「レンダリングを妨げるリソースを排除してください」「未使用のJavaScriptを削除してください」「未使用のCSSを削除してください」といった具体的な指摘が表示されます。これらの指摘の多くは特定のプラグインが原因であることが多いため、どのリソースが問題なのかを確認することで原因プラグインを特定できます。

ブラウザの開発者ツールで詳細を分析する

Google ChromeやFirefoxの開発者ツール(F12キーで起動)を使用すると、ページ読み込み時にどのリソースがどれだけの時間を要しているかを詳細に確認できます。「Network」タブでは各ファイルの読み込み時間やサイズを視覚的に把握でき、特に時間のかかっているプラグイン関連のファイルを特定するのに有効です。

Core Web Vitalsとプラグインの関係を理解する

Googleは2021年からCore Web Vitals(コアウェブバイタル)をランキング要因に組み込んでおり、サイトの表示速度やユーザー体験は検索順位にも影響しています。2024年3月に指標が更新され、現在はLCPINPCLSの3つの指標が重視されています。

指標正式名称内容良好の基準
LCPLargest Contentful Paint最大コンテンツの表示時間2.5秒以内
INPInteraction to Next Paintユーザー操作への応答時間200ミリ秒以内
CLSCumulative Layout Shiftレイアウトのずれ0.1以下

LCPはページ内で最も大きなコンテンツ要素(メイン画像やテキストブロックなど)が表示されるまでの時間を測定するもので、プラグインが大量のCSSやJavaScriptを読み込むとレンダリングが遅延しLCPが悪化します。INPはユーザーのクリックやタップ、キー入力などの操作に対するページの応答時間を測定する指標で、2024年3月にFID(First Input Delay)から置き換えられました。重いJavaScriptを実行するプラグインがあると、ユーザーの操作に対する応答が遅れINPが悪化します。CLSはページ読み込み中に発生するレイアウトのずれ(要素の位置が突然変わること)を測定するもので、広告プラグインや遅延読み込みを行うプラグインが適切に設定されていないと悪化します。

これらの指標を改善するためにはプラグインの最適化が不可欠であり、特に不要なCSSやJavaScriptの読み込みを削減し、レンダリングをブロックするリソースを最小限にすることが重要です。

WordPressプラグインが重いときの具体的な対策9選

不要なプラグインは無効化ではなく削除する

最も簡単で効果的な対策は、不要なプラグインを削除することです。現在有効化されているプラグインの一覧を確認し、各プラグインについて「本当に必要か」を検討します。不要と判断したプラグインは「無効化」ではなく「削除」することが重要です。類似の機能を持つプラグインが複数ある場合は1つにまとめましょう。

整理の対象となりやすいのは、テーマに標準搭載されている機能と重複するプラグイン、ほとんど使用していない機能を提供するプラグイン、過去に試用したが現在は使っていないプラグイン、テーマの機能やコードのカスタマイズで代替可能なプラグインです。

重いプラグインを軽量な代替プラグインに置き換える

重いことが知られているプラグインについては、より軽量な代替プラグインへの乗り換えを検討するとよいでしょう。主な代替案を以下の表にまとめます。

重いプラグイン代替案代替の利点
WordPress Popular Postsテーマ内蔵ランキング機能またはSimple GA4 RankingGA4データを利用するためDBに負荷をかけない
Count per DayGoogle Analytics(外部サービス)サーバーへの負荷が少ない
重い関連記事プラグインRelated Posts for WordPress比較的軽量に動作する
Jetpack(一部機能のみ使用)機能特化型の軽量プラグイン不要なリソース読み込みを削減できる

WordPress Popular Postsはデータベースに直接アクセスログを記録するため負荷が高い一方、Simple GA4 RankingはGoogle Analytics 4のデータをもとにランキングを生成するため、サイトのデータベースには負荷をかけません。アクセス解析についても、サイト内のプラグインで行うよりもGoogle Analyticsなどの外部サービスを利用するほうがサーバーへの負荷が少なくなります。Jetpackのような多機能プラグインの特定の機能のみを使用している場合は、その機能に特化した軽量なプラグインに置き換えることで、不要なリソースの読み込みを削減できます。

キャッシュを適切に設定して表示速度を向上させる

キャッシュとは、一度生成されたページデータを保存しておき、次回アクセス時にはデータベースへの問い合わせやPHPの処理を省略して保存済みのデータを直接返す仕組みです。適切にキャッシュを活用することで、表示速度を大幅に改善できます。

ただし、サーバー側のキャッシュ機能とプラグインのキャッシュ機能が重複しないよう注意が必要です。動的コンテンツ(ログイン後の表示、カートの内容など)にはキャッシュが適用されないよう適切に除外設定を行い、導入後は必ず動作確認を行いましょう。代表的なキャッシュプラグインの特徴は以下の通りです。

プラグイン名価格特徴
WP Rocket有料初心者向けの使いやすさに加え、CSS/JS最適化や遅延読み込みも統合的に対応
LiteSpeed Cache無料LiteSpeedサーバー専用で高性能なキャッシュ機能を提供
W3 Total Cache無料上級者向けの詳細オプションがあり多層的なキャッシュ戦略が可能
WP Fastest Cache無料シンプルで使いやすくデフォルト推奨設定が適用される
WP Super Cache無料Automattic社開発で信頼性が高く初心者でも扱いやすい

WP Rocketは有料ですが、初心者でも扱いやすいインターフェースを持ち、キャッシュだけでなくCSS/JavaScriptの最適化や画像の遅延読み込みなども統合的に行えます。複数の調査でWordPress高速化プラグインの表示速度ランキング上位を獲得している実績があります。LiteSpeed CacheはLiteSpeedサーバー環境専用ですが、無料とは思えない高性能なキャッシュ機能を提供しており、LiteSpeedサーバーを使用している場合は最適な選択肢となります。

画像を最適化してページ読み込みを高速化する

画像ファイルの容量はページの表示速度に大きな影響を与えます。EWWW Image Optimizerは、アップロードした画像を自動的に圧縮してくれるプラグインで、JPEGファイルで約15パーセント、PNGファイルで約50パーセントのサイズ削減が可能とされています。既存の画像も一括で圧縮できる「一括最適化」機能も備えています。

次世代画像フォーマットであるWebPへの変換も効果的な対策です。WebPはGoogleが開発した画像フォーマットで、従来のJPEGやPNGと比較して約30パーセントのファイルサイズ削減が可能です。EWWW Image Optimizerを使用すると、既存の画像をWebPに変換することもできます。

また、表示サイズよりも大幅に大きい画像をアップロードしている場合、ブラウザ側でリサイズされますが転送されるデータ量は元の大きなファイルのままとなります。あらかじめ表示サイズに近い解像度にリサイズしてからアップロードすることが望ましいです。なお、WordPress 5.5以降では画像の遅延読み込み(Lazy Load)が標準機能として組み込まれており、画面に表示される画像のみを先に読み込み、スクロールして表示される画像は後から読み込む仕組みとなっています。この機能については特別な設定やプラグインの追加は基本的に不要です。

CSS/JavaScriptを最適化してフロントエンド負荷を軽減する

プラグインやテーマが出力するCSSやJavaScriptを最適化することで、フロントエンドのパフォーマンスを向上させることができます。Autoptimizeは、CSSやJavaScriptのコードから不要な改行やスペースを削除(ミニファイ)し、複数のファイルを結合して圧縮することでHTTPリクエスト数を削減し転送データ量を減らすプラグインです。設定もチェックボックスで有効化するだけで基本的な最適化が行われるため、導入の敷居が低いのが特徴です。

特定のページでのみ必要なプラグインのリソースが全ページで読み込まれている場合は、Asset CleanUpPerfmattersといったプラグインを使用して、ページごとに不要なCSSやJavaScriptの読み込みを無効化することができます。これにより、各ページで本当に必要なリソースだけを読み込むようになり、表示速度が改善されます。

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

WordPressは記事の下書きやリビジョン(更新履歴)を自動的に保存するため、これらのデータが蓄積するとデータベースが肥大化し、クエリの処理時間が長くなります。Optimize Database after Deleting Revisionsというプラグインを使用すると、不要なリビジョンや下書き、ゴミ箱の記事、スパムコメントなどを一括で削除し、データベースのテーブルを最適化できます。

リビジョンの保存数を制限するには、wp-config.phpに「define(‘WP_POST_REVISIONS’, 5);」という記述を追加します。この設定により、各記事のリビジョンが最大5件まで保存されるようになります。また、プラグインが生成する一時的なキャッシュデータ(トランジェント)がデータベースに残留している場合は、Delete Expired Transientsなどのプラグインで定期的に削除するとよいでしょう。

CDNを活用してコンテンツ配信を高速化する

CDN(コンテンツ配信ネットワーク)とは、画像やCSS、JavaScriptなどの静的コンテンツを世界中のエッジサーバーにキャッシュし、ユーザーに地理的に近いサーバーから配信する仕組みです。データの転送距離が短くなることで読み込み時間が短縮されます。代表的なCDNサービスとしてはCloudflare(無料プランあり)が広く利用されており、WordPressプラグインとの連携も容易で導入のハードルは比較的低くなっています。

サーバー環境を見直して根本的に改善する

プラグインの最適化だけでは限界がある場合、サーバー環境自体を見直すことも重要な選択肢です。PHPのバージョンを最新にすることで処理速度が大幅に向上するケースが多く、特にPHP 7系からPHP 8系への移行は効果的です。レンタルサーバーの管理画面からPHPのバージョンを変更できる場合が多いので、最新の安定版を使用することが推奨されます。

データ量の多い大規模なコンテンツを運用しているにもかかわらずレンタルサーバーの最安プランを使用している場合は、サーバーの処理能力が追いついていない可能性があります。プラン変更やサーバーの乗り換えを検討するとよいでしょう。KUSANAGI環境などWordPressに最適化されたサーバー環境の利用や、エックスサーバーの「XPageSpeed」やConoHa WINGの「WEXAL」などサーバー側で提供されている高速化機能の活用も有効な手段です。

WordPressとプラグインを定期的にアップデートする

WordPress本体やプラグイン、テーマを最新版に保つことは、セキュリティだけでなくパフォーマンスの観点からも重要です。新しいバージョンでは処理の効率化やバグの修正が行われていることが多くなっています。WordPress 6.8では投機的読み込み(Speculative Loading)が導入され、ユーザーがリンクをクリックする前にリンク先のページを事前に読み込む機能が追加されました。このようにWordPress本体のアップデートだけでも表示速度の改善が期待できます。

ただし、アップデート前にはバックアップを取得し、テスト環境で動作確認を行うことが推奨されます。プラグインのアップデートによって他のプラグインやテーマとの互換性が崩れるケースもあるため、慎重に対応する必要があります。

WordPressサイト高速化の正しい進め方

サイトの高速化は「計測→施策→再計測」のサイクルで進めることが重要です。闇雲に対策を行うのではなく、まず現状を数値で把握し、施策の効果を検証しながら進めることで、効率的に成果を出すことができます。

最初のステップとして、PageSpeed Insightsでモバイルとデスクトップの両方のスコアを計測します。特にモバイルのスコアは通信速度や端末スペックの影響で低く出やすいため注目すべきです。スコアだけでなくLCP、INP、CLSの各指標も確認しましょう。

次に改善の優先順位を決定します。手間が少なく効果が出やすい順に取り組むことが効率的です。一般的には、不要なプラグインの削除が最も簡単で即効性があり、次いで画像の最適化(圧縮とWebP変換)、キャッシュの設定CSS/JavaScriptの最適化データベースの最適化CDNの導入、そしてサーバー環境の見直しという順番になります。

各施策を実施するたびにPageSpeed Insightsで再計測し、スコアの変化を確認します。効果が確認できた施策は維持し、効果が見られない施策は見直すか別のアプローチを検討しましょう。一度高速化を達成した後も、新しいプラグインの追加やコンテンツの増加によって再び表示速度が低下することがあるため、定期的なモニタリングを継続することが大切です。

新たにWordPressプラグインを導入する際の選定ポイント

今後新たにプラグインを導入する際に気を付けるべきポイントについても触れておきます。まず、「あったら便利かもしれない」程度の機能のためにプラグインを追加するのは避けるべきです。テーマの標準機能やCSSのカスタマイズ、短いコードの追加で代替できないかをまず検討しましょう。

WordPress公式プラグインディレクトリでは、各プラグインの評価、レビュー、有効インストール数、最終更新日を確認できます。更新が長期間行われていないプラグインや低評価が多いプラグインは避けるべきです。すでに導入しているプラグインと機能が重複するプラグインの追加も処理の重複を招きパフォーマンスが低下するため注意が必要です。

同じ機能を提供するプラグインが複数ある場合は、よりリソース消費の少ない軽量なプラグインを選択します。プラグインの公式ページやレビューでパフォーマンスに関する言及がないか確認するとよいでしょう。そして新しいプラグインを導入したら、必ずPageSpeed Insightsで速度を計測し導入前と比較することが大切です。大幅な速度低下が見られる場合は、別のプラグインへの乗り換えやそのプラグインの使用自体を再検討しましょう。

まとめ

WordPressプラグインがサイトを重くする原因は、プラグインの入れすぎ、重いプラグインの使用、不要なプラグインの放置、キャッシュ機能の重複、プラグインの更新不足、全ページでのリソース読み込みの6つです。重いプラグインを特定するには、プラグインの1つずつ無効化テスト、Query Monitorの活用、PageSpeed Insightsの診断、ブラウザの開発者ツールの4つの方法が有効です。

具体的な対策としては、不要なプラグインの削除、重いプラグインの代替、キャッシュの活用、画像の最適化、CSS/JavaScriptの最適化、データベースの最適化、CDNの導入、サーバー環境の見直し、定期的なアップデートの9つが挙げられます。最も重要なのは「計測→施策→再計測」のサイクルを継続することです。一度きりの対策で終わらせるのではなく、定期的にサイトのパフォーマンスを確認し、必要に応じて最適化を行うことで、常に快適な表示速度を維持することができます。

WordPressサイトの表示速度は、ユーザーの満足度、直帰率、SEO評価に直結する重要な要素です。プラグインの適切な管理と最適化を通じて、訪問者にとって快適なサイトを構築していきましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次