Tips
WordPressが重い時に最初に確認すること
2025-11-05
この記事が解決する状況
| あなたの状況 | 読むべきセクション |
|---|---|
| 「なんとなく重い」と感じている | 最初にやること:測定 |
| キャッシュプラグインを入れたが効果がない | やってはいけない高速化 |
| 高速化したらエラーが出た | やってはいけない高速化 |
| PageSpeedスコアを上げたい | 原因の切り分け |
| どのプラグインを入れればいいかわからない | 対処1〜5 |
「高速化プラグインを入れれば速くなる」は幻想。まず何が遅いかを測定する。
やってはいけない高速化
先に言っておく。これらは「効果がある」と書かれているが、事故率が高い。
❌ 理解せずにキャッシュプラグインを複数入れる
事故例: WP Super Cache + W3 Total Cache + LiteSpeed Cache を全部有効化
結果: キャッシュの競合でサイト真っ白、管理画面にもアクセス不能
キャッシュプラグインは1つだけ。 複数入れても速くならない。
❌ 動的コンテンツをキャッシュ対象にする
事故例: ECサイトでカートページをキャッシュ
結果: 他人のカート内容が表示される(個人情報漏洩)
| キャッシュ除外すべきページ |
|---|
| カート・決済ページ |
| マイページ |
| ログインが必要なページ |
| 日時で表示が変わるページ |
❌ 遅延読み込み(Lazy Load)を全画像に適用
事故例: ファーストビューの画像も遅延読み込み
結果: LCP(Largest Contentful Paint)が悪化、PageSpeedスコア低下
ファーストビューの画像は遅延読み込みから除外する。
❌ 「とりあえずminify」
事故例: 全てのJS/CSSを結合・圧縮
結果: JavaScriptエラーでサイトが動かない
minifyは効果があるが、壊れやすい。テスト環境で確認してから本番適用。
最初にやること:測定
| ツール | URL | 確認内容 |
|---|---|---|
| PageSpeed Insights | pagespeed.web.dev | Core Web Vitals、改善提案 |
| GTmetrix | gtmetrix.com | ウォーターフォールで遅い箇所を特定 |
| Query Monitor | プラグイン | 遅いDBクエリ、重いフック |
「何となく重い」ではなく、数値で把握する。
Core Web Vitalsの目標値
| 指標 | 良好 | 改善が必要 | 不良 |
|---|---|---|---|
| LCP(最大コンテンツ描画) | ≤2.5秒 | ≤4.0秒 | >4.0秒 |
| INP(次のペイントへのインタラクション) | ≤200ms | ≤500ms | >500ms |
| CLS(累積レイアウトシフト) | ≤0.1 | ≤0.25 | >0.25 |
原因の切り分け
| 測定結果 | 示唆する原因 | 対処 |
|---|---|---|
| TTFB(最初の1バイト)が遅い | サーバー、DB、PHPの問題 | 対処1,4,5 |
| 画像の読み込みが遅い | 画像サイズ、最適化の問題 | 対処2 |
| JSの実行が遅い | プラグイン、外部スクリプトの問題 | 対処3 |
| 全体的に遅い | サーバースペック不足 | 対処5 |
TTFBの目安
| TTFB | 評価 |
|---|---|
| 〜200ms | 良好 |
| 200〜500ms | 普通 |
| 500ms〜1s | 改善推奨 |
| 1s以上 | 要改善 |
優先順位付き対処法
1. キャッシュプラグイン導入(効果大・作業小)
2. 画像最適化(効果大・作業中)
3. 不要プラグイン削除(効果中・作業小)
4. DB最適化(効果中・作業中)
5. サーバー移行(効果大・作業大)
上から順に試す。1で解決すれば2以降は不要。
対処1: キャッシュプラグイン
最もコスパが良い。まずこれを試す。
| プラグイン | 特徴 | 判断 |
|---|---|---|
| WP Super Cache | シンプル、初心者向け | 設定に自信がないなら |
| W3 Total Cache | 高機能、設定複雑 | 細かく制御したいなら |
| LiteSpeed Cache | LiteSpeedサーバー用 | 対応サーバーなら最速 |
サーバー別の推奨
| サーバー | 推奨プラグイン |
|---|---|
| Xserver | WP Super Cache or LiteSpeed Cache |
| ConoHa WING | LiteSpeed Cache |
| さくら | WP Super Cache |
| ロリポップ | WP Super Cache |
注意: 日時切り替えなど動的コンテンツがあるページは除外設定が必要。
対処2: 画像最適化
DevTools → Network → Img でサイズ確認。1枚500KB以上は要対策。
チェックリスト
| 項目 | 対処 |
|---|---|
| 画像サイズ | 横幅1920px以下にリサイズ |
| フォーマット | WebPに変換 |
| 遅延読み込み | loading="lazy"(WP5.5以降は標準) |
| ファーストビュー | 遅延読み込みから除外 |
画像最適化プラグイン
| プラグイン | 特徴 |
|---|---|
| ShortPixel | 自動圧縮、WebP変換 |
| EWWW Image Optimizer | ローカル処理可能 |
| Imagify | シンプル、3段階圧縮 |
効果の目安
| 対策 | 期待できる改善 |
|---|---|
| WebP変換 | ファイルサイズ 25〜35% 削減 |
| 適切なリサイズ | ファイルサイズ 50〜80% 削減 |
| 遅延読み込み | 初期読み込み時間短縮 |
対処3: プラグイン整理
Query Monitorで重いプラグインを特定。
よくある重いプラグイン
| プラグイン | 対処 |
|---|---|
| Jetpack(全機能) | 必要な機能だけ個別導入 |
| Revolution Slider | 静的画像か軽量スライダーに |
| 未使用のSEOプラグイン | 1つに統合 |
| 使っていないプラグイン | 削除 |
無効化ではなく削除。 無効化だけではファイルが残り、セキュリティリスクになる。
対処4: DB最適化
リビジョン制限
// wp-config.php
define('WP_POST_REVISIONS', 5);
不要データ削除
-- リビジョン削除
DELETE FROM wp_posts WHERE post_type = 'revision';
-- ゴミ箱削除
DELETE FROM wp_posts WHERE post_status = 'trash';
-- 孤立したメタデータ削除
DELETE FROM wp_postmeta
WHERE post_id NOT IN (SELECT ID FROM wp_posts);
⚠️ 実行前に必ずバックアップ。
autoload肥大化の確認
SELECT SUM(LENGTH(option_value)) as size
FROM wp_options WHERE autoload = 'yes';
1MB以上なら要対策。 不要なオプションのautoloadをnoに変更。
対処5: サーバー見直し
上記で改善しない場合。
| 項目 | 推奨 |
|---|---|
| PHPバージョン | 8.0以上 |
| メモリ | 256MB以上 |
| サーバー種別 | VPSまたは高速共有サーバー |
PHPバージョン確認
<?php echo phpversion(); ?>
7.4未満なら更新を検討。
PHPバージョンアップの効果
| バージョン | PHP 7.4比の速度 |
|---|---|
| PHP 7.4 | 基準 |
| PHP 8.0 | 約10%向上 |
| PHP 8.1 | 約15%向上 |
| PHP 8.2 | 約20%向上 |
外部リソースの確認
DevTools → Network で外部ドメインへのリクエストを確認。
よくある重い外部リソース
| リソース | 対処 |
|---|---|
| Google Fonts | ローカルホスト |
| SNS埋め込み | 遅延読み込み |
| 外部広告 | 非同期読み込み |
Google Fontsのローカル化
@font-face {
font-family: 'Noto Sans JP';
src: url('./fonts/NotoSansJP-Regular.woff2') format('woff2');
font-display: swap;
}
やらなくていいこと
| 「高速化」と言われるが効果薄い | 理由 |
|---|---|
| 絵文字の無効化 | 削減できるのは数KB |
| バージョン情報の削除 | 速度には無関係 |
| ヘッダー最適化系プラグイン | 効果より副作用が大きい |
| 「○○を無効化」系の設定を大量に | 壊れるリスクが上がるだけ |
労力に対して効果が見合わないものは後回し。
まとめ
- 対処前に測定(PageSpeed Insights、Query Monitor)
- キャッシュプラグインは1つだけ、複数入れない
- 動的コンテンツはキャッシュから除外
- 画像は1枚500KB以下、WebP推奨
- 不要プラグインは無効化ではなく削除
- 「とりあえず高速化プラグイン」は事故の元
関連記事
- WordPressアイキャッチ画像の縦伸びを直す前に確認すること — 画像最適化の詳細
- wp-config.phpを編集する前に決めること — リビジョン制限などの設定