エーデルハーツ

Custom WordPress Support & Development

WordPressサイトが重い!表示速度を改善する5つの方法

4 views

はじめに:表示速度は成果を左右する最重要要素

ページが遅いだけで、直帰率は上がり、CVRは下がります。逆に、速度を改善するとユーザー体験がぐっと良くなり、検索評価(Core Web Vitals)も安定します。ここでは、実案件で効果の高かった「5つの必須対策」を、導入手順と注意点つきでまとめます。なお、運用の基本姿勢(多層防御・設定の見直し)については既公開のガイドを参考にしています。


① サーバー&キャッシュ設計:最初に“土台”を整える

サーバー要件の見直し

  • PHPは 8.1 以上、OPcache有効、HTTP/2/3対応、ライフサイクルの長いマネージド環境を選ぶ。
  • LiteSpeed系なら LSCache、Apache/Nginxなら FastCGI Cache など、サーバー側キャッシュを軸に。

なぜPHP8.1以上が良いのか?

  • パフォーマンス向上:PHP 8.0以降の最適化やJITの効果で処理が速く、サイトの体感速度が向上します。
  • セキュリティサポート:サポートが続くバージョンを使うことで脆弱性リスクを低減。古いPHPの継続利用は攻撃対象になりやすいです。
  • 互換性・安定性:WordPress本体や主要プラグインはPHP 8.1/8.2での検証が進んでおり、最新環境のほうが安定運用しやすいです。
  • 将来の運用コスト削減:長期運用を見据えて最新系を選ぶと、更新時のトラブルや移行作業の手間が減り、結果的にコスト最適化につながります。
  • 機能面のメリット:型関連の改善やエラーハンドリング強化などにより、開発・デバッグ効率が向上します。
  • ホスティングとの相性:最新のマネージド環境はPHP 8系前提で最適化されており、古い環境のままではパフォーマンス劣化非推奨機能エラーの原因になります。
  • サーバー側キャッシュを軸にする理由
    • PHP実行前に返せるため TTFB短縮CPU/メモリ削減
    • プラグイン型より下層で効き、混雑時でも安定
  • 基本ルール
    • キャッシュは原則 ひとつ(多重は競合・反映遅延)。
    • ログイン/カート/フォームは 除外
    • 更新時はURL/タグ単位で 自動パージ
  • LiteSpeed系(LSCache)
    • WPプラグインとサーバーが連携し、HTML+画像最適化・遅延読込まで一括最適化
    • ESIで「一部だけ動的」+全体は高速
    • QUIC.cloud併用でエッジ配信も可能
  • Nginx(FastCGI Cache)
    • PHP応答をディスクに保存し低コスト高速
    • cookieで バイパス、WooCommerce等は 除外
    • Nginx Helper等で パージ連携、ヘッダ X-Cache: HIT で確認。
  • Apache
    • mod_cache(_disk) で実装可だが、Nginx/LiteSpeed比で性能・自由度が劣る
    • 前段NginxやLiteSpeedへ移行すると運用が安定
  • ベストプラクティス
    • 対象:固定・投稿・一覧は積極キャッシュ、会員/決済は 除外
    • TTL:トップ短め・記事長め、更新時は パージ
    • Vary(モバイル/言語)設定・curl -Iで検証。問題時は二重キャッシュを疑う。
  • 選び方の目安
    • LiteSpeed/OLS → LSCache最有力
    • Nginx+PHP-FPM → FastCGI Cache高負荷に強い
    • 共有レンタルのみ → プラグインは一種類に統一(多重はNG)。

ページ/ブラウザキャッシュ

  • キャッシュプラグインは原則ひとつに集約(多重化は競合・不具合の原因)。
  • ブラウザキャッシュ(Expires/Cache-Control)で静的資産の再取得を減らす。

② 画像最適化と配信:体積を“根こそぎ”削る

形式・サイズ・遅延読込

  • サムネイル含め、画像は WebP/AVIF を優先(フォールバック準備)。
  • 実寸にリサイズ。巨大画像の縮小表示は無駄な転送量を生む。
  • loading="lazy"遅延読み込み(JS補助)でFold下を後回し。

CDNの併用

  • 画像CDN(Cloudflare Images / Bunny / Imgix 等)で 自動変換・自動最適化

③ CSS/JS の最適化:描画ブロックを解消する

読み込み戦略

  • クリティカルCSSをインライン化、残りは mediapreload を活用。
  • JavaScriptは deferasync、不要スクリプトは読み込み停止。

まとめ・圧縮

  • ビルドツールやプラグインで minify・圧縮(Brotli/Gzip)。
  • jQuery依存の古いテーマやプラグインは、置き換えないとレンダリング遅延の原因。

④ プラグイン/テーマの棚卸し:ボトルネックを断つ

不要・重複の排除

  • 機能が被るプラグインは統合。多機能すぎる総合系を重ねるのはNG。
  • 使っていないアドオンは停止・削除。自動読込(autoload)肥大にも注意。

計測に基づく判断

  • Query Monitor や New Relic で遅いクエリ/フックを特定し、根拠にもとづき改善。
  • テーマは ブロックテーマや軽量フレームに移行すると中長期で効果大。

⑤ データベース&オブジェクトキャッシュ:バックエンドを軽くする

DB最適化

  • 投稿リビジョン上限、トランジェントの掃除、孤児オプションの削除で クリーンに。
  • 巨大な wp_options(autoload 行が多い)は初期ロードが重くなる要因。定期点検を。

オブジェクトキャッシュ

  • Redis/Memcached を導入し、外部永続化で DB負荷を大幅軽減

実装ステップ(テンプレ)

  1. ステージング環境でテーマ・プラグイン・PHPを更新(失敗時ロールバック準備)。
  2. キャッシュ層(サーバー/ページ/ブラウザ)を設計し、競合のない構成に。
  3. 画像の一括最適化&CDN導入、CSS/JSの読み込み戦略を適用。
  4. 計測→ボトルネック除去(クエリ、フック、プラグイン)。
  5. DB/Redisでバックエンドを最適化し、再計測で効果検証

よくあるつまずきと対策

  • キャッシュを重ねすぎて表示崩れ:一層ずつON、差分検証。モバイルも確認。
  • 画像CDNで404/混在コンテンツ:リライト規則とHTTPS設定を統一。
  • ミニファイでJSエラー:問題ファイルを除外、順序を保持。

まとめ:速度は継続運用で着実に伸びる

一気に完璧を目指すより、計測→改善→再計測のサイクルが最短距離です。技術的に不安があれば、専門家にレビューを依頼するのも近道。あなたのサイトも、今日から 軽快で気持ちいい 体験へ。


執筆者: 合同会社エーデルハーツ(WordPressパフォーマンス最適化・保守)