レンタルサーバー比較ガイド
guide

WordPress高速化 おすすめサーバー設定【表示速度を3倍にする方法】

T Takeru Fujiwara
WordPress高速化サーバー設定表示速度キャッシュ

「WordPressが遅い…」「ページの読み込みに3秒以上かかっている」

WordPressサイトの表示速度は、SEOにもユーザー体験にも直結する重要な指標です。GoogleはCore Web Vitalsをランキング要因に含めており、表示速度の改善は検索順位の向上にもつながります。

この記事では、サーバーサイドの設定を中心に、WordPressの表示速度を3倍に改善する具体的な方法を解説します。プラグインだけに頼らない、根本的な高速化テクニックをお伝えします。

なぜWordPressは遅くなるのか?

WordPressの表示速度が低下する原因は大きく3つに分けられます。

1. サーバー処理の遅さ(TTFB)

TTFB(Time to First Byte) はサーバーが応答を返すまでの時間です。WordPressはリクエストのたびにPHPを実行し、MySQLからデータを取得するため、サーバースペックが低いとTTFBが悪化します。

目安として:

TTFB評価
200ms以下良好
200〜500ms改善推奨
500ms以上要改善

2. フロントエンドの肥大化

テーマやプラグインが大量のCSS・JavaScriptを読み込むと、ブラウザ側のレンダリングが遅くなります。これはサーバーとは別の問題ですが、後述するCDNやキャッシュ設定で軽減できます。

3. 画像の未最適化

アップロード時に圧縮されていない高解像度画像は、ページサイズを数MBに膨れ上がらせます。WebP変換と遅延読み込みで対策可能です。

サーバーサイド設定の最適化

PHP設定の最適化

WordPressのパフォーマンスに最も影響するのがPHPの設定です。

PHPバージョンを最新に

PHP 8.x系はPHP 7.x系と比べて最大40%の高速化が報告されています。レンタルサーバーの管理画面から変更できます。

サーバーPHP 8.x対応変更方法
エックスサーバー○(8.3対応)サーバーパネル → PHP設定
ConoHa WING○(8.3対応)コンパネ → サイト管理 → PHP設定
さくらのレンタルサーバ○(8.2対応)コンパネ → スクリプト設定
mixhost○(8.3対応)cPanel → MultiPHP Manager
ロリポップ!○(8.1対応)ユーザー専用ページ → PHP設定

php.iniの推奨設定

VPSやSSH接続可能なサーバーでは、php.iniを直接編集できます。

; メモリ制限の引き上げ
memory_limit = 256M

; OPcacheの有効化(PHP実行結果のキャッシュ)
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60

; アップロードサイズ
upload_max_filesize = 64M
post_max_size = 64M

OPcacheはPHPのコンパイル結果をメモリに保持し、次回以降のリクエストでコンパイルを省略する仕組みです。有効にするだけでPHP処理が30〜50%高速化します。

レンタルサーバーの場合、OPcacheはデフォルトで有効なことが多いですが、.user.ini でメモリ制限を調整できるサービスもあります。

PHP-FPMの設定(VPS向け)

VPSを利用している場合、PHP-FPMのプロセス管理を最適化するとさらに効果があります。

; /etc/php/8.3/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 3
pm.max_spare_servers = 10
pm.max_requests = 500

メモリ1GBのVPSなら pm.max_children = 10、2GBなら 20 程度が目安です。VPS比較記事も参考にしてください。

MySQL/MariaDBの最適化

クエリキャッシュの設定

MySQL 5.7以前を使用している場合、クエリキャッシュを有効にすると同一クエリの再実行を省略できます。

; /etc/mysql/my.cnf
query_cache_type = 1
query_cache_size = 64M
query_cache_limit = 2M

ただし、MySQL 8.0ではクエリキャッシュが廃止されています。MySQL 8.0以降ではInnODBバッファプールの最適化が重要です。

; InnoDB バッファプール(MySQL 8.0+推奨)
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M

メモリ2GBのVPSなら innodb_buffer_pool_size を512MB〜768MB程度に設定します。

不要なデータの整理

WordPressのデータベースには、投稿リビジョンや一時データが蓄積します。定期的にクリーンアップしましょう。

-- リビジョンの削除(直近5件を残す)
DELETE FROM wp_posts WHERE post_type = 'revision'
AND ID NOT IN (
  SELECT * FROM (
    SELECT ID FROM wp_posts WHERE post_type = 'revision'
    ORDER BY post_modified DESC LIMIT 5
  ) AS t
);

-- 一時データの削除
DELETE FROM wp_options WHERE option_name LIKE '_transient_%';

wp-config.phpでリビジョン保存数を制限することも有効です。

define('WP_POST_REVISIONS', 5);

Webサーバー設定の最適化

Nginx + FastCGIキャッシュ(VPS向け)

VPSでNginxを使用している場合、FastCGIキャッシュはWordPress高速化の最強の手段です。PHPの処理結果をNginxがキャッシュし、2回目以降のアクセスではPHPを実行せずに応答を返します。

# /etc/nginx/conf.d/fastcgi-cache.conf
fastcgi_cache_path /var/cache/nginx levels=1:2 
  keys_zone=WORDPRESS:100m inactive=60m;

server {
    # キャッシュ設定
    set $skip_cache 0;
    
    # ログインユーザーはキャッシュしない
    if ($http_cookie ~* "wordpress_logged_in") {
        set $skip_cache 1;
    }
    
    # コメント投稿者はキャッシュしない
    if ($http_cookie ~* "comment_author") {
        set $skip_cache 1;
    }
    
    location ~ \.php$ {
        fastcgi_cache WORDPRESS;
        fastcgi_cache_valid 200 60m;
        fastcgi_cache_bypass $skip_cache;
        fastcgi_no_cache $skip_cache;
    }
}

FastCGIキャッシュを導入すると、TTFBが50ms以下になることも珍しくありません。

Apache + mod_expiresの設定

Apacheの場合は .htaccess でブラウザキャッシュの期間を設定します。

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/webp "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
</IfModule>

Gzip/Brotli圧縮の有効化

テキストベースのファイル(HTML・CSS・JS)を圧縮して転送すると、ページサイズを60〜80%削減できます。

# Apache (.htaccess)
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/css
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/json
</IfModule>
# Nginx
gzip on;
gzip_types text/css application/javascript application/json;
gzip_min_length 1000;

# Brotli(対応している場合)
brotli on;
brotli_types text/css application/javascript application/json;

Brotli圧縮はGzipより10〜20%効率が良い新しい圧縮方式です。Nginx + ngx_brotliモジュールで利用できます。

CDNの活用

CDNとは

CDN(Content Delivery Network) は、世界各地のサーバーにコンテンツのコピーを配置し、ユーザーに最も近いサーバーから配信する仕組みです。

WordPressにおすすめのCDN

CDN無料プラン特徴
Cloudflare最もポピュラー。WAF・DDoS対策込み
AWS CloudFront△(無料枠あり)大規模サイト向け。従量課金
Fastlyエッジコンピューティング対応。上級者向け

Cloudflareの無料プランで十分な効果が得られます。設定手順:

  1. Cloudflareにサインアップ
  2. ドメインのネームサーバーをCloudflareに変更
  3. SSL設定を「Full (Strict)」に変更
  4. キャッシュルールを設定(静的ファイルのキャッシュ期間を延長)

ページルールの設定例

# 管理画面はキャッシュしない
URL: example.com/wp-admin/*
設定: Cache Level = Bypass

# 静的コンテンツは積極的にキャッシュ
URL: example.com/wp-content/*
設定: Cache Level = Cache Everything, Edge Cache TTL = 1 month

CDN導入だけで、体感速度が1.5〜2倍改善することも多いです。

画像最適化

WebP変換

WebPはJPEGと同等の画質でファイルサイズを25〜35%削減できるフォーマットです。

フォーマット同等画質のサイズ比ブラウザ対応
JPEG100%(基準)全対応
WebP65〜75%97%以上
AVIF50〜60%92%以上

WordPressでWebPを利用する方法:

  • EWWW Image Optimizer(プラグイン): アップロード時に自動変換
  • ShortPixel(プラグイン): クラウド処理で高速変換
  • サーバー側(VPS): cwebp コマンドで一括変換

遅延読み込み(Lazy Loading)

画面外の画像を初期表示時に読み込まないことで、初期表示速度を改善します。

WordPress 5.5以降は <img> タグに自動で loading="lazy" が付与されますが、ファーストビュー(画面上部)の画像には loading="eager" を明示的に設定することでLCP(Largest Contentful Paint) が改善します。

// functions.php でアイキャッチ画像のlazy loadingを制御
function optimize_featured_image_loading($attr, $attachment, $size) {
    if (is_single() && has_post_thumbnail()) {
        $attr['loading'] = 'eager';
        $attr['fetchpriority'] = 'high';
    }
    return $attr;
}
add_filter('wp_get_attachment_image_attributes', 'optimize_featured_image_loading', 10, 3);

適切なサイズでの配信

アップロードした画像をそのまま表示すると、不要に大きなファイルを転送してしまいます。WordPressのメディア設定で適切なサイズを定義しましょう。

// functions.php
add_image_size('blog-hero', 1200, 630, true);
add_image_size('blog-thumbnail', 400, 300, true);

記事本文の画像は横幅1200px以下に統一するのが推奨です。

サーバー選びで高速化する

どれだけ設定を最適化しても、サーバー自体の性能が低ければ限界があります

高速化に有利なサーバーの特徴

特徴効果
NVMe SSDHDDやSATA SSDに比べて読み書きが高速
LiteSpeed対応Apache比で最大6倍のWordPress処理速度
HTTP/3対応接続確立が高速化
PHP OPcache標準搭載追加設定不要で高速化

おすすめサーバー

設定の手軽さとパフォーマンスの両立なら、以下のサーバーがおすすめです。

エックスサーバー

NVMe SSD・HTTP/3対応・KUSANAGI技術導入で総合力が高い。国内シェアNo.1の安定感も魅力。詳しくはエックスサーバーのレビュー記事をご覧ください。

エックスサーバー の詳細を見る →

ConoHa WING

WEXAL Page Speed Technology搭載で、管理画面からワンクリックで高速化設定が完了。初心者でも扱いやすい。ConoHa WINGの詳細レビューも参考にしてください。

ConoHa WING の詳細を見る →

mixhost

国内で唯一LiteSpeedを採用し、WordPress処理速度はトップクラス。LiteSpeed Cacheプラグインとの組み合わせで最速を狙えます。mixhostのLiteSpeed検証記事もご覧ください。

mixhost の詳細を見る →

各サーバーの実測ベンチマーク結果はレンタルサーバー 表示速度ベンチマークで詳しく比較しています。

高速化の効果を測定する

設定変更の前後で必ず速度を測定し、効果を確認しましょう。

おすすめの測定ツール

ツール特徴URL
PageSpeed InsightsGoogle公式。Core Web Vitals測定pagespeed.web.dev
GTmetrix詳細なウォーターフォール分析gtmetrix.com
WebPageTest複数拠点からの測定。上級者向けwebpagetest.org

測定時の注意点

  • キャッシュを無効にして測定(初回訪問を想定)
  • 3回以上測定して平均を取る(1回だけでは偶然の変動を含む)
  • モバイルとデスクトップの両方を測定(Googleはモバイルファーストインデックス)

目標値

指標良好要改善不良
LCP2.5秒以下2.5〜4.0秒4.0秒超
FID / INP100ms以下100〜300ms300ms超
CLS0.1以下0.1〜0.250.25超
TTFB200ms以下200〜500ms500ms超

まとめ:高速化の優先順位

限られた時間でWordPressを高速化するなら、以下の順序で実施するのがおすすめです。

優先度施策効果難易度
1PHPバージョンを最新に★★★★
2OPcacheの有効化確認★★★★
3CDN(Cloudflare)導入★★★★低〜中
4画像のWebP変換★★★
5ブラウザキャッシュ設定★★★
6Gzip/Brotli圧縮★★
7MySQL最適化★★中〜高
8FastCGIキャッシュ(VPS)★★★★★

最も効果が高いのはPHPの最新化とOPcache。サーバーの管理画面から変更するだけで、明確な速度改善が期待できます。

さらに根本的なパフォーマンスを求めるなら、高速なサーバーへの乗り換えも選択肢です。レンタルサーバー おすすめ5選で各社の性能を比較していますので、ぜひ参考にしてください。

関連記事

※本記事はアフィリエイトプログラムによる収益を得ています。掲載情報は定期的に更新しておりますが、最新情報はサービス公式サイトをご確認ください。