WordPressが重い原因は、だいたい決まった順番で見つかります。効果が大きく手間が少ないものから順に並べました。上から3つやるだけで、体感がはっきり変わります。
大前提——施策の前後で同じ条件で測って比べること。Googleの無料ツール(PageSpeed Insights)やブラウザ開発者ツールのLighthouseで、まず現状の数字を記録してから始めます。
1. 画像を見直す(効果:大/手間:小)
ページが重い原因の第1位は、大きすぎる画像です。
- 表示サイズまで縮小——横1200pxで表示する写真に4000pxの元画像は不要
- 圧縮してからアップロード——見た目を保ったまま容量を半分以下にできる
- 形式を選ぶ——写真はWebP、図やロゴはSVG・PNG
- アイキャッチのサイズ指定——一覧に
fullを使わずmediumにする
テーマ側では、一覧で読みこむサイズを指定するだけでも変わります。
<?php the_post_thumbnail('medium'); ?> <!-- fullではなくmedium -->WordPressはsrcsetと遅延読みこみ(loading="lazy")を自動で付けてくれるので、関数で出力するかぎり難しい設定は要りません。
2. プラグインを整理する(効果:大/手間:小)
使っていないプラグインは削除します(無効化ではなく削除)。目安はこうです。
- 同じ役割が重複していないか——SEO系・キャッシュ系を2つ入れると干渉する
- 1つの機能のためだけに入れていないか——数行のコードで置きかえられることが多い
- 更新が止まっていないか——重い・危ないの両面でリスク
「どのプラグインが遅いのか」は、1つずつ無効化して測るのがいちばん確実です。
3. サーバーとPHPバージョンを確認する(効果:大/手間:中)
- PHPのバージョン——古いままだと明確に遅い。サーバー管理画面から最新の安定版に上げる(上げる前にバックアップを)
- サーバーの性能——共用の安いプランでは、アクセスが集中すると待たされる
PHPを上げるとテーマやプラグインが動かなくなることもあるため、バックアップを取ってから、テスト環境で確認してから本番に適用します。
べんりワザおすすめレンタルサーバー比較サーバー選びの考え方はこちら4. キャッシュを効かせる(効果:大/手間:中)
キャッシュとは「一度作ったHTMLを保存して、次のアクセスにはそれを返す」仕組みです。WordPressは表示ごとにPHPとデータベースを動かすため、キャッシュの効果が非常に大きく出ます。
- キャッシュ系プラグインを1つだけ入れる(複数入れると干渉します)
- サーバー側にキャッシュ機能があるなら、まずそれを使う
- CDNを使うと、画像などの配信が近い場所から届く
5. フォントの読みこみを減らす(効果:中/手間:小)
Webフォントは1書体ごとに読みこみが増えます。
- 使う書体を絞る(欲張って3つ4つ入れない)
- 太さ(ウェイト)も必要な分だけ——400と700だけで足りることが多い
- 日本語フォントは容量が大きいので、本文は端末のフォント、見出しだけWebフォントという割り切りも有効
6. テーマのコードで効く工夫(効果:中/手間:中)
自作テーマや子テーマを触れる場合、コード側でもできることがあります。
必要なページだけCSS・JSを読みこむ
function my_assets() {
wp_enqueue_style('main', get_theme_file_uri('style.css'), [], '1.0.0');
if (is_front_page()) {
wp_enqueue_script('slider', get_theme_file_uri('js/slider.js'), [], '1.0.0', true);
}
}
add_action('wp_enqueue_scripts', 'my_assets');JSはフッターに置く(第5引数true)のも定番です。
一覧の件数と条件を軽くする
// ❌ 全件取得は記事が増えると重くなる
new WP_Query(['posts_per_page' => -1]);
// ✅ 件数を決める+ページ送りが不要なら総数計算も省く
new WP_Query(['posts_per_page' => 12, 'no_found_rows' => true]);meta_queryの多用は重くなるので、絞りこみの軸はタクソノミーにしておくと速くなります。
不要な出力を止める
remove_action('wp_head', 'wp_generator'); // バージョン表記
remove_action('wp_head', 'wp_shortlink_wp_head'); // 短縮URL
remove_action('wp_head', 'rsd_link'); // 使わない外部連携用のタグ1つずつの効果は小さいですが、headが軽くなると読みこみの見通しがよくなります。絵文字用のスクリプト(print_emoji_detection_script)を止めるのもよく使われる手です。
7. データベースを整理する(効果:小〜中/手間:小)
- リビジョン(改訂履歴)が投稿ごとに何十件も溜まっていることがある
- スパムコメント・ゴミ箱を空にする
保存するリビジョン数は制限できます。
define('WP_POST_REVISIONS', 5);やらないほうがいいこと
- キャッシュ系プラグインを複数入れる——干渉して不具合の温床になる
- HTML・CSSの圧縮を最初にやる——効果は小さく、崩れるリスクのほうが大きい
- スコア100点を目指す——数字より「スマホで開いて速いか」が本質
まとめ
- 画像の縮小・圧縮がいちばん効く。表示サイズより大きい画像を置かない
- 不要なプラグインを削除し、PHPバージョンとサーバーを確認する
- キャッシュは効果大だが副作用あり。整理を済ませてから1つだけ導入する
- コード側ではページごとの読みこみ分け・件数制限・不要な出力の停止が効く
「測ってから1つずつ」の進め方を守れば、遠回りせずに速いサイトに近づけます。