SWELLはもう最適化されていた― WebP(EWWW Image Optimizer)とCloudflareがLCPを壊す瞬間の実測ログ

SWELLはもう最適化されていた― WebPとCDNがLCPを壊す瞬間の実測ログ

クラウドフレア× SWELL × WebP で LCP 良好 90% に到達した設定判断 —

目次

はじめに

本記事では、Core Web Vitals(特に LCP)を安定させた最終設定と、
**「あえて有効にしなかった設定」**について、その理由を技術的に解説します。

結論から言うと、
速くするためにやらなかったことが、
結果的に RUM(実ユーザー指標)を最も改善しました。


公開する最終設定(スクリーンショット参照)

公開する最終設定(スクリーンショット参照) SWELL 高速化とEWWW Image Optimizer

EWWW Image Optimizer


この設定で、Search Console(CrUX)上の LCP は良好 90% に到達しています。

CFS さらに改善

重要なのは
「何をONにしたか」より
**「なぜOFFにしたか」**です。


チェックしなかった設定と、その理由

ヘッダー・サイドバー・メニューのキャッシュ

理由:HTML構造がページごとに異なり、LCP要素がブレるため

  • ページごとに
    • 表示要素
    • 高さ
    • 読み込み順
      が変わると、LCP候補が変動します。

これは Lighthouse では見えませんが、
RUMでは75パーセンタイルを確実に悪化させます。

「速い人は速いが、遅い人が増える」典型パターン


トップページコンテンツの強制キャッシュ

理由:LCP画像の描画順がキャッシュ条件で変わるため

トップページは:

  • メインビジュアル
  • 記事一覧
  • ブログカード

など、LCP候補が複数あります。

これを強制キャッシュすると:

  • キャッシュヒット時
  • キャッシュミス時
    LCPが別要素になる

👉
RUMが荒れる原因になるためOFF。


内部リンクのブログカードキャッシュ

理由:ページ遷移後の描画順が不安定になるため

ブログカードは見た目以上に:

  • 画像
  • 外部CSS
  • JS

を含みます。

内部リンクでこれをキャッシュすると:

  • 遷移直後に差し込まれる
  • LCP候補に割り込む

👉
「一部ユーザーだけ異常に遅い」原因になりやすい


CSSのインライン読み込み

理由:初回描画は速く見えるが、RUMでは不安定になるため

インラインCSSは:

  • Lighthouseでは高評価
  • 初回体感は「ピカッ」

しかし実際は:

  • HTML肥大化
  • キャッシュ分離不可
  • 条件分岐が増える

👉
遅い端末・遅い回線ほど不利

結果:

  • 平均は速い
  • 75%が改善しない

WebP の JS リライト

理由:LCP画像に JavaScript が介入するため

JS WebP リライトは:

  • LCP画像が JS 後に確定
  • eager が効かない
  • 1フレーム遅延が起きる

SWELL は元々:

  • <picture>
  • srcset
  • eager 制御

が完成しているため、
JS介入は完全に蛇足

速い人は気づかないが、遅い人が致命的に遅くなる


なぜこの「引き算設定」で LCP 90% になったのか

今回の設定思想は一貫しています。

主導権を整理した

  • 表示制御 → SWELL
  • 画像形式 → WebP(変換のみ)
  • 配信経路 → Cloudflare(盛らない)

排除したもの

  • JSによる後出し最適化
  • HTMLの書き換え
  • 条件分岐による描画順の差

その結果:

  • CPU性能に比例した素直なLCP分布
  • 異常に遅いユーザーが減少
  • RUMで良好90%

Lighthouseではなく、RUMを信じる

この設定は:

Lighthouseで満点を取る設定ではない
実ユーザーで負けない設定

です。

日本ではあまり語られませんが、
海外(Web.dev / Chromeチーム周辺)では
**「最終的にRUMがすべて」**という考え方が主流です。


スウェルの高速化設定
CFS さらに改善

まとめ

  • LCP改善は「足す」より「引く」
  • 遅い人を消そうとすると全体が壊れる
  • ヌルッと安定する挙動が完成形
  • LCP 良好 90% は偶然では出ない
あわせて読みたい
【実測】Cloudflare × SWELL × WebP で LCP 90% 良好に到達したが、最初は「失敗した」と感じた話 結論を先に Lighthouse や PageSpeed のスコアは 信用しない RUM(CrUX / GSC)で LCP 良好 90% は、構成が正しいときにしか出ない Cloudflare・WebP・高機能テーマは「...
あわせて読みたい
WordPress初心者が試行錯誤の末、LCP良好率90%を達成した話【技術編】 はじめ 税理士事務所のホームページを自作して約半年。何も知らないところからWordPressとSWELLテーマで始めて、月間PV1万を達成しました。 その過程で最も苦労したのが...
目次