LCPを最速で改善する方法|画像・CSS・サーバー最適化の完全ガイド
- 1 LCP(Largest Contentful Paint)とは?
- 2 LCP改善の基本戦略
- 3 ① Hero画像をWebPに変換する(最優先)
- 4 ② Hero画像を Preload で先読みする
- 4.1 functions.phpに追加する preload コード
- 4.2 Lightningテーマ用の注意点
- 5 ③ Hero画像の HTML に fetchpriority="high" を付ける
- 5.1 functions.php に自動付与コード
- 6 ④ 画像サイズを最適化する(LCP改善の基本)
- 6.1 推奨サイズ
- 7 ⑤ スライダーを廃止して静止画像に変更する(INP改善にも効果)
- 7.1 Lightningで静止画像にする方法
- 8 ⑥ CSS/JS を遅延読み込みして LCP を改善
- 8.1 JS遅延:functions.phpコード
- 9 ⑦ 画像に width / height を必ず付ける(CLS改善)
- 9.1 自動付与コード(CLS対策)
- 10 LCP改善まとめ(ここだけ見ればOK)
- 10.1 関連記事
Core Web Vitals の中でも最も合格しにくいのが LCP(Largest Contentful Paint) です。
特に WordPress(Lightningテーマ含む)では、トップの Hero画像・ヘッダー画像 が原因で LCP が遅くなりやすい傾向があります。
この記事では、LCP を最速で改善するための実装テクニック を詳しく解説します。
1 LCP(Largest Contentful Paint)とは?
ページ表示時に「最も大きな要素」がユーザーに見えるまでの時間を計測した指標です。
多くの場合、次のいずれかが LCP になります。
- トップページの大きな画像(Hero)
- スライダー画像
- アイキャッチ画像
- 最初に大きく表示される見出し
Lightningテーマの場合、特にヘッダー画像がLCPになるケースが90%以上です。
2 LCP改善の基本戦略
最速で改善するための3つの軸は次の通りです。
- 画像を軽くする(圧縮 / WebP)
- 画像を先に読み込ませる(Preload)
- 不要なJS/CSSの遅延・削除
これらを組み合わせることで、LCPを1秒以上短縮できます。
3 ① Hero画像をWebPに変換する(最優先)
まずやるべきは画像の軽量化です。特に Hero画像は 300KB 以内に抑えましょう。
- PNG → WebP で約70%軽くなる
- JPEG → WebP で約40%軽くなる
変換は以下のツールでOKです。
- TinyPNG
- Squoosh
- Convertio WebP
4 ② Hero画像を Preload で先読みする
LCP改善で効果が最も高いのが preload です。
Hero画像を preload すると、ブラウザが最優先で画像を読み込むため、表示速度が大幅改善します。
4.1 functions.phpに追加する preload コード
// Hero画像を Preload(LCP改善)
add_action('wp_head', function() {
if (is_front_page()) {
?>
<link rel="preload" href="/wp-content/uploads/hero.webp" as="image" fetchpriority="high">
<?php
}
});
fetchpriority="high" を付けることで、Chrome が優先読込します。
4.2 Lightningテーマ用の注意点
- ヘッダー画像(Customizer → 画像 → ヘッダー画像)を preload する
- 画像を変更したら preload のURLも更新する
5 ③ Hero画像の HTML に fetchpriority="high" を付ける
WordPress 6.3 以降で正式サポートされ、LCP改善効果が非常に高いです。
5.1 functions.php に自動付与コード
// LCP画像に自動で fetchpriority="high" を付与
add_filter('wp_get_attachment_image_attributes', function($attr) {
if (isset($attr['class']) && strpos($attr['class'], 'wp-image') !== false) {
$attr['fetchpriority'] = 'high';
}
return $attr;
});
Hero画像・ヘッダー画像が自動的に優先読み込みされます。
6 ④ 画像サイズを最適化する(LCP改善の基本)
「大きすぎる画像」は LCPを確実に悪化させます。
6.1 推奨サイズ
- PC:1400px 〜 1600px
- スマホ:800px 程度
Lightningでは、ヘッダー画像は 1600px × 600px 程度がベストです。
7 ⑤ スライダーを廃止して静止画像に変更する(INP改善にも効果)
スライダーは JS が重く、LCP・INP 両方を悪化させます。
可能なら静止画像のHeroに変更しましょう。
7.1 Lightningで静止画像にする方法
- カスタマイズ → トップページ
- スライダーをオフにする
- Hero画像を1枚だけ設定
これだけで LCP が大幅に改善します。
8 ⑥ CSS/JS を遅延読み込みして LCP を改善
CSS や JS の読み込み順が遅いと、LCP に影響します。
8.1 JS遅延:functions.phpコード
<?php
// JS を defer で遅延読み込み
add_filter('script_loader_tag', function($tag, $handle) {
if (is_admin()) return $tag;
if (strpos($tag, 'wp-content') !== false) {
return str_replace(' src', ' defer src', $tag);
}
return $tag;
}, 10, 2);
?>
メインスレッドのブロッキング時間が減り、LCPの改善につながります。
9 ⑦ 画像に width / height を必ず付ける(CLS改善)
LCPとCLSは密接に関係しています。
画像にサイズを付けないと CLS が発生し、Google が LCP の評価を下げることがあります。
9.1 自動付与コード(CLS対策)
<?php
// CLS改善:画像に width / height を自動付与
add_filter('wp_get_attachment_image_attributes', function($attr, $attachment) {
$meta = wp_get_attachment_metadata($attachment->ID);
if (isset($meta['width']) && isset($meta['height'])) {
$attr['width'] = $meta['width'];
$attr['height'] = $meta['height'];
}
return $attr;
}, 10, 2);
?>
10 LCP改善まとめ(ここだけ見ればOK)
- Hero画像を WebP に変換
- 画像サイズを 1600px → 300KB以内 に圧縮
- preload で Hero画像を先読み
- fetchpriority="high" を付ける
- スライダーをオフにする(Lightning)
- 画像に width / height を必ず付ける
- JS を defer で遅延読み込み
この内容を実装できれば、LCPはかなりの確率で合格圏に入ります。

