【2025年版】WordPressが重い/表示速度を高速化する方法

王文暁

以前「WordPressが重い/表示速度を高速化する方法」でWordPressの高速化方法を紹介しましたが、長い時間が経って、色々な新しい方法があるので、今回は合わせてもう一度WordPressの高速化方法を紹介したいと思います。

WordPressが重くなる理由

WordPressサイトは「Nginx(ウェブサーバー)+PHP+MariaDB(データベース)」という構成になっているため、VM、Nginx、PHP、MariaDBのいずれかに問題が発生すると、サイトの速度に影響を与えます。
そのため、WordPressが重くなる理由は複数の要因が絡み合っていることが多いです。

まずWordPressの構造によるものがあります。WordPressは便利で柔軟性の高いCMSですが、多くのプラグインやテーマを使用することで処理が複雑化してページの読み込み速度を低下させます。
VMの性能が低い場合やデータベースの肥大化、キャッシュの未活用なども、WordPressの動作を遅くする要因です。
フロントエンドでは、画像の非最適化や過剰なJavaScript、CSSの読み込みでデータ量が増加し、ページの表示速度を低下させます。また、CDNを使用しない時にも表示が遅くなります。

WordPressを高速化する目的

WordPressを高速化することで様々なメリットがあります。
まずユーザーの利便性を高めます。サイトの表示速度が速いと、訪問者がサイトを閉じてしまう率が下がり、コンバージョン率の向上にもつながります。
次に、Googleなどの検索エンジンは表示速度をランキング要因の一つとしているため、SEO対策としても高速化は重要です。
さらに、サーバー負荷の軽減や運用コストの削減にも効果があります。

WordPress、サーバーサイド、フロントエンドにわけて表示速度の最適化方法を紹介します。

WordPressの高速化

WordPressの最新版を使用

常に最新バージョンのWordPressを利用することで、パフォーマンスの向上だけでなく、セキュリティの強化や新機能の活用も可能になります。特に速度面では、各バージョンでコアの性能最適化が進んでおり、古いバージョンよりも軽快に動作します。
下記は各バージョンで対応したスピード最適化の調整です。

WordPress 6.5: 翻訳の読み込みが高速化、編集体験がよりスムーズになり、AVIF画像形式をサポート。
WordPress 6.6: エディターの読み込みが高速化、ブロックレンダリングの最適化、メモリ使用量の削減。
WordPress 6.7: モードの読み込み速度が向上、データビューでのプレビューが最適化。
WordPress 6.8: 投機的読み込みを導入、編集および閲覧速度が向上、データベースの最適化。

WordPressやテーマ、プラグインをアップデートすることはパフォーマンスだけではなく、セキュリティ的にも重要です。自動アップデート機能を活用するほか、KUSANAGIプラグインでは、テーマ、プラグイン、WordPressのアップデートを一元管理できます。詳細使用方法は【KUSANAGIプラグインでWordPress自動更新を制御する方法】で確認できます。

キャッシュの活用

キャッシュを活用することで、表示を高速化することができます。WordPressにはキャッシュプラグインが複数公開されているので、これらを活用するとよいでしょう。ただし、ECサイトや会員サイトなどでは適切なキャッシュのコントロールが必要です。

bcache

KUSANAGIにもbcache とWordPress用のキャッシュ機能があります。仕組みは既に作られたページを保存しておき、次回以降同じリクエストがあった際に保存済みのページを再利用し、表示の高速化、サーバ負荷の低減を図るものです。

KUSANAGIの環境で下のコマンドを利用して、対象プロファイルに対してbcache機能を有効できます。

# kusanagi bcache on [profile]
Turning bcache on. 
bcache completed.

キャッシュを除外するURLの指定、記事公開時に削除するキャッシュの範囲指定など細かな設定ができます。詳細使用方法は【kusanagi bcache コマンドとその仕組み】で確認できます。

その他のWordPress高速化の方法

軽量なテーマを使用

表示速度に速い軽量テーマ(例:公式テーマなど)を使用することで、不要なCSSやJavaScriptの読み込みを抑え、サイト全体の読み込み速度を向上させます。

使わない機能の禁止/削除

WordPressのデフォルト機能のうち、使用しないウィジェット、絵文字機能、REST APIなどを無効化することで、処理負担を軽減し、パフォーマンスを向上させます。

記事の以前の改訂、無用コメントを削除

古いリビジョンやスパムコメントはデータベースを肥大化させ、サイトの読み込み速度を低下させます。これらを削除・制限してデータベースを最適化します。

1,リビジョン設定:wp-config.php に以下を追加してリビジョン管理を最適化。

define('AUTOSAVE_INTERVAL', 300); // 自動保存間隔を5分に
define('WP_POST_REVISIONS', 3);   // リビジョン保存を3つに制限
define('EMPTY_TRASH_DAYS', 7);    // ゴミ箱の保持期間を7日に

2,WordPressの「コメント」画面で不要なコメントを手動削除。

サーバーサイドの高速化

サーバーサイドのキャッシュの活用

サーバーサイドのキャッシュを活用することでも高速化が可能です。

fcache

fcacheはKUSANAGI上でnginxのFastCGIのキャッシュ機能を利用しています。WordPressなどCMSで一番遅いボトルネックになるのは動的なページを行うPHPです、fcacheを使用すれば、記事のキャッシュ一度作成したページを保存し、次回から表示する際に既存ページを読み込むことで高速化を図ります。

KUSANAGIの環境で下のコマンドを利用して、対象プロファイルに対してfcache機能を有効できます。

# kusanagi fcache on (プロファイル名)
Turning fcache on.
reload completed.
fcache completed.

fcacheの詳細使用方法は【kusanagi fcache で超高速 CMS 実行環境を実現する】で確認できます。

Nginx最適化

1,圧縮送信(gzip、brotli利用)

gzip、brotliはレスポンスデータを圧縮するための仕組みで、通信速度の向上と帯域幅の節約に役立ちます。brotliはGoogleによって開発された新しい圧縮アルゴリズムで、Gzip よりも高い圧縮率と高速な展開性能を提供します。
gzipは長年使われてきたデファクトスタンダードの圧縮方式です。

Nginx設定ファイル(例:/etc/nginx/nginx.conf)に以下を追加すれば、HTML、CSS、JSなどファイルを圧縮して送信し、通信量を削減し、表示速度を向上させます。

brotliの設定例:

  brotli on;
  brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript image/vnd.microsoft.icon;
  brotli_static on;

gzipの設定例:

gzip on;
gzip_types text/plain text/css application/json application/javascript image/svg+xml;
gzip_min_length 256;

KUSANAGIではデフォルトにgzipとbrotli二つとも有効にしています。

2、JS、CSS、画像のブラウザキャッシュ

ブラウザがキャッシュを使うことで、同じファイルを再度サーバーから取得しなくて済むため、ページ表示が速くなります。
以下をキャッシュ設定を追加すれば、静的ファイルのキャッシュ期間を30日に設定できます。

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2)$ {
    expires 30d;
    add_header Cache-Control "public";
}

KUSANAGIではデフォルトでブラウザキャッシュを設定しています。

3,HTTP2/HTTP3

HTTP2プロトコルを使うことで、単一のTCP接続上で複数のリクエストとレスポンスを同時に処理できますので,同時接続の高速化や通信の効率化が図れます。

HTTP/3はTCPの代わりにUDPベースのQUICプロトコルを使用します。QUICは接続確立の遅延を減らし、TCPプロトコルの「ヘッドオブラインブロッキング」問題を回避でき、速度が向上します。KUSANAGIではデフォルト有効にしています、詳細紹介は【KUSANAGI 9 が対応した HTTP/3 とは】で確認できます。

PHP

1,PHP最新版使用

最新バージョンを使用することで、セキュリティ強化と同時に、実行速度も大きく向上します。
下記はPHP8各バージョンの性能面の調整です。

PHP8.0: JIT(Just-In-Time)コンパイラの導入、型システムとエラー処理の最適化。
PHP8.1: 列挙型(Enums)の導入、JITと型チェックの最適化。
PHP8.2: メモリ管理とJIT効率の最適化。
PHP8.3: JITとガベージコレクションのさらなる最適化。
PHP8.4: JITの強化、非同期プログラミングとメモリ管理の最適化。

2,PHP-FPM設定

PHP-FPM(FastCGI Process Manager)は、PHPアプリケーション(例:WordPress)のパフォーマンスを最適化するために重要な役割を果たします。

サイトのアクセス規模に合わせて pm.max_childrenpm.start_servers などの値を調整し、リクエスト処理の効率を最適化します。下はPHP-FPMのプロセス関連の設定の説明です。

pm = dynamic //動的プロセス管理
pm.max_children = 30 //最大30プロセスで同時リクエスト制限
pm.start_servers = 4 //起動時4プロセスで応答
pm.min_spare_servers = 2 // 最小2プロセスで応答
pm.max_spare_servers = 6 // 最大6プロセスで応答

3,OPcache、JIT

OPcacheとは、PHPの初回実行時に、PHPの内容をコンパイルした中間コード(opcode)でキャッシュして、次回以降、 同じPHPにアクセスがあった際にキャッシュを利用することで、PHP実行時のCPU負荷の軽減や、PHPの大幅な高速化を図るPHPの拡張モジュールです。
JIT(Just-In-Timeコンパイル)は、PHP 8.0より導入された、OPcacheを基盤にしたさらに高度な最適化機能であり、バイトコードをネイティブの機械語に即時変換することで、実行効率をさらに向上させる仕組みです。
KUSANAGIはデフォルトで有効化しています。
PHP8.0以降、設定ファイル(KUSANAGI環境の場合:/etc/opt/kusanagi/php.d/php.ini)に以下を追加すれば、OPcache、JITをオンに設定できます。

opcache.enable=1 //有効にする
opcache.jit=1205 //JITモードの設定値、KUSANAGIのデフォルト値は安定性重視の「1205」です、より高速化を追求する場合「1254」に設定してください。
opcache.jit_buffer_size=100M //JITメモリーサイズ

データベース最適化

MariaDB

1,Query Cacheの導入​

以下を設定して、SELECT文の実行結果をメモリにキャッシュし再利用可能です。サーバーの総メモリの5~10%を目安に設定ほうがいいと思います。KUSANAGIでは自動的にVMに合う値を設定できます。

[mysqld]​
query_cache_size = 64M​

2,InnoDBのキャシュー拡大

InnoDBエンジン使用する時、MariaDB設定ファイルに以下を追加して、データベースクエリの処理速度を向上させます。サーバーの総メモリの50~70%を目安に設定ほうがいいと思います。KUSANAGIでは自動的にVMに合う値を設定できます

innodb_buffer_pool_size = 1G

その他の方法

適当な仮想マシン(VM)選択

サイトのトラフィックに応じて適切なVMのスペックを選ぶことで、サーバーの処理能力を最適化し、応答速度を向上させます。

Redis利用

Redisをオブジェクトキャッシュとして使用し、データベースへのクエリを削減、ページ生成時間を短縮します。

サーバーにRedisをインストールして、Redis Object Cache プラグインをインストールし有効化して利用できます。

フロントエンドの高速化

画像サイズの最適化

画像はサイトの読み込み速度に大きく影響します。適切なサイズと形式に圧縮することで、データ量を削減します。

KUSANAGIでは、画像最適化機能を使用して、適切なサイズ圧縮して、表示速度を向上できます。

CDN

CDNは静的コンテンツ(画像、CSS、JSなど)を世界中のサーバーにキャッシュし、ユーザーに近い場所から配信することで読み込み時間を短縮します。

WordPressプラグイン(例:CloudflareCDN Enabler)をインストールし、CDNのAPIキーを入力して統合して利用できます。

CSS、JSファイルを合併

複数のCSSやJSファイルを1つに統合することで、HTTPリクエスト数を減らし、ページの読み込みを高速化します。

HTML、CSS、JSファイルを圧縮、スペースとコメント削除

不要なスペースやコメントを削除し、ファイルを圧縮することで、ファイルサイズを削減し、転送時間を短縮します。

WEXAL利用

WEXAL Page Speed Technology は、AI 駆動の最適化(戦略 AI「David」)により、CDN 連携、画像の WebP 変換、CSS/JS の統合・圧縮、HTML のミニファイを自動化し、WordPress のフロントエンドを効率的に高速化します。

WEXALを使用すれば、フロントエンドの高速化簡単に設定できます。WEXALの詳細紹介は【kusanagi fcache で超高速 CMS 実行環境を実現する】で確認できます。

全部やるのは大変!?

WordPressのサーバーサイドでの高速化処理は、非常に有効な手段である反面、サーバーやOSやプログラミングの知識を幅広く持っていないとなかなか大変です。
また、上記をすべて手順を踏んで対応をするには時間も掛かってしまいます。
そこでおすすめしたいのが、弊社プライム・ストラテジーの開発している超高速CMS 実行環境「KUSANAGI」です。

ここまで説明してきた高速化の手法(KUSANAGIと記載しているもの)がONにするだけですぐに利用できます。NginxとPHPなどの設定について、KUSANAGI環境を作成する時に最適化するので、一つ一つの対応を何日も手間ひま掛けて行うような高速化・チューニング作業が、KUSANAGIを導入するだけで実現できるシステムと言えます。

KUSANAGIの実力

KUSANAGIの実力 – 数値で証明されたパフォーマンス

高速

KUSANAGIは、同じミドルウェアを使用した AlmaLinux OSと比べ、ページキャッシュ利用時に最大260倍の高速化を実現。
キャッシュが使えない環境やWordPress管理画面でも、キャッシュなしで約2倍のスピードを発揮 し、快適な操作を提供します。

高パフォーマンス(安定)

KUSANAGI は、同時接続1000の高負荷環境において、ページキャッシュ利用時に8ms以下の表示速度、秒間80,000件以上の処理性能を発揮。
アクセス集中時でも安定したパフォーマンスを維持し、サイトの遅延やダウンタイムを防ぎます。

まとめ

以上の方法を組み合わせることで、WordPress サイトのサーバーサイド(VM、Nginx、PHP、MariaDB、Redis)、フロントエンド(CDN、画像、CSS/JS、HTML)を最適化設定して、ページ読み込み速度を大幅に向上させます。

「KUSANAGI」を用いることで、手軽にサーバサイドの最適化が行われた環境でWordPressを運用することが可能です。

参考資料

https://kusanagi.tokyo/about

関連記事

Webサイト運用の課題解決事例100選 プレゼント

Webサイト運用の課題を弊社プロダクトで解決したお客様にインタビュー取材を行い、100の事例を108ページに及ぶ事例集としてまとめました。

・100事例のWebサイト運用の課題と解決手法、解決後の直接、間接的効果がわかる

・情報通信、 IT、金融、メディア、官公庁、学校などの業種ごとに事例を確認できる

・特集では1社の事例を3ページに渡り背景からシステム構成まで詳解