2026年5月20日
2026年5月20日
WordPressが重い・遅い場合の原因を特定する方法【パフォーマンス診断】
はじめに
WordPressのサイトが重くなる原因はさまざまです。プラグインの過多・データベースのクエリ数・画像の最適化不足・サーバースペック不足・外部リクエストなど、複数の要因が重なっていることも多いです。まず計測して原因を特定することが解決の近道です。
症状の分類
- フロントエンドが遅い:訪問者が感じる表示速度
- 管理画面が遅い:管理作業の効率に影響
- 特定のページだけ遅い:そのページ固有の問題
- 特定の時間帯だけ遅い:トラフィック集中・WP-Cronの影響
ステップ1:表示速度を計測する
外部ツールで計測:
- Google PageSpeed Insights: pagespeed.web.dev
- GTmetrix: gtmetrix.com
- WebPageTest: webpagetest.org
Core Web Vitalsの目標値:
- LCP(最大コンテンツの描画):2.5秒以下
- FID/INP(応答性):100ms以下
- CLS(視覚的安定性):0.1以下
ステップ2:Query Monitorプラグインで原因を特定
プラグイン「Query Monitor」をインストール
→ 管理バーに診断情報が表示される
確認ポイント:
- Queries(クエリ数):100以上は要注意、500以上は深刻
- Query time(クエリ時間):合計1秒以上は最適化が必要
- HTTP API calls:外部APIへのリクエスト数
ステップ3:プラグインの影響を特定
// プラグインを1つずつ無効化してPageSpeedスコアを比較
// 管理画面が重い場合はWP_DEBUG_DISPLAYをtrueにして
// 各ページの読み込み時間を計測
プラグインを半分ずつ無効化(バイナリサーチ方式)で原因を素早く特定できます。
ステップ4:データベースを最適化
-- 不要なリビジョンを削除
DELETE FROM wp_posts WHERE post_status = 'auto-draft';
DELETE FROM wp_posts WHERE post_type = 'revision';
-- 自動下書きの削除
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);
WP-CLI使用時:
wp db optimize
wp post delete $(wp post list --post_type=revision --format=ids)
ステップ5:サーバーのリソースを確認
# CPU・メモリ使用率を確認(VPS)
top
htop
# ディスク使用率
df -h
# MySQLの接続数
mysql -u root -p -e "SHOW STATUS LIKE 'Threads_connected';"
主な改善策
| 問題 | 解決策 |
|------|--------|
| 画像が重い | WebP変換・遅延読み込み |
| クエリ数が多い | クエリキャッシュ・不要プラグイン削除 |
| 外部リクエストが多い | 不要なフォント・スクリプト削除 |
| サーバーが遅い | PHP-FPM・OPcacheの有効化 |
| データベースが遅い | インデックス最適化・不要データ削除 |
まとめ
WordPressが遅い原因の特定は①PageSpeedで計測→②Query Monitorでクエリ数確認→③プラグインを順次無効化の手順で行います。プラグインが原因のケースが最多で、次にデータベースのクエリ最適化・画像最適化が続きます。
関連記事: