WordPress高速化 おすすめサーバー設定【表示速度を3倍にする方法】
「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の無料プランで十分な効果が得られます。設定手順:
- Cloudflareにサインアップ
- ドメインのネームサーバーをCloudflareに変更
- SSL設定を「Full (Strict)」に変更
- キャッシュルールを設定(静的ファイルのキャッシュ期間を延長)
ページルールの設定例
# 管理画面はキャッシュしない
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%削減できるフォーマットです。
| フォーマット | 同等画質のサイズ比 | ブラウザ対応 |
|---|---|---|
| JPEG | 100%(基準) | 全対応 |
| WebP | 65〜75% | 97%以上 |
| AVIF | 50〜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 SSD | HDDや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 Insights | Google公式。Core Web Vitals測定 | pagespeed.web.dev |
| GTmetrix | 詳細なウォーターフォール分析 | gtmetrix.com |
| WebPageTest | 複数拠点からの測定。上級者向け | webpagetest.org |
測定時の注意点
- キャッシュを無効にして測定(初回訪問を想定)
- 3回以上測定して平均を取る(1回だけでは偶然の変動を含む)
- モバイルとデスクトップの両方を測定(Googleはモバイルファーストインデックス)
目標値
| 指標 | 良好 | 要改善 | 不良 |
|---|---|---|---|
| LCP | 2.5秒以下 | 2.5〜4.0秒 | 4.0秒超 |
| FID / INP | 100ms以下 | 100〜300ms | 300ms超 |
| CLS | 0.1以下 | 0.1〜0.25 | 0.25超 |
| TTFB | 200ms以下 | 200〜500ms | 500ms超 |
まとめ:高速化の優先順位
限られた時間でWordPressを高速化するなら、以下の順序で実施するのがおすすめです。
| 優先度 | 施策 | 効果 | 難易度 |
|---|---|---|---|
| 1 | PHPバージョンを最新に | ★★★★ | 低 |
| 2 | OPcacheの有効化確認 | ★★★★ | 低 |
| 3 | CDN(Cloudflare)導入 | ★★★★ | 低〜中 |
| 4 | 画像のWebP変換 | ★★★ | 低 |
| 5 | ブラウザキャッシュ設定 | ★★★ | 中 |
| 6 | Gzip/Brotli圧縮 | ★★ | 中 |
| 7 | MySQL最適化 | ★★ | 中〜高 |
| 8 | FastCGIキャッシュ(VPS) | ★★★★★ | 高 |
最も効果が高いのはPHPの最新化とOPcache。サーバーの管理画面から変更するだけで、明確な速度改善が期待できます。
さらに根本的なパフォーマンスを求めるなら、高速なサーバーへの乗り換えも選択肢です。レンタルサーバー おすすめ5選で各社の性能を比較していますので、ぜひ参考にしてください。
関連記事
※本記事はアフィリエイトプログラムによる収益を得ています。掲載情報は定期的に更新しておりますが、最新情報はサービス公式サイトをご確認ください。