ツール一覧 / AI活用ノート / AIで作ったサイトが重い時の改善手順|画像→動き→フォントの順に直す
AIで作ったサイトが重いときの直し方をまとめました。PageSpeed Insightsで見るのは3か所だけです。そのうえで、効き目の大きい画像、アニメーション、フォントの順に手を入れます。AIツールにそのまま渡せる修正指示文と、直したあとに効果を確かめる手順も載せています。
結論: 点数を気にするより先に、重いものから順に直してください。
- まず PageSpeed Insights にURLを入れて、モバイルの LCP と「インサイト」の項目名だけ確かめる
- 直す順は 画像 → アニメーション → フォント。いちばん効くのは画像
- 直したら同じURLを5回ほど測り直し、中央値で比べる。長い目で見るなら Search Console の28日間の検証を使う
AIでLPを作った。プレビューでは普通に動いていた。
なのに公開してスマホで開くと、ファーストビュー(最初に見える範囲)がなかなか出てこない。PageSpeed Insights(以下PSI)にかけたら、赤い数字が並んだ。
ここで最初にやるべきなのは、コードの書き直しではありません。重いものを順番に軽くしていくことです。Googleの公式ドキュメントを読んで、その順番を整理しました。
「実際のユーザーの環境」「LCP・CLS・TBT」「インサイト」の3か所だけ見れば十分です。残りは後回しにしてください。

①には、実際の訪問者から集めた過去28日分のデータが出ます。アクセスがまだ少ないサイトだと空のことがありますが、それで普通です。
空なら①は飛ばしましょう。②と③(1台の端末で読み込みを再現した計測)で原因を探します。
②の数値は、次の表と照らし合わせてください。
| 指標 | 何を表すか | 良好 | 不良 |
|---|---|---|---|
| LCP | いちばん大きい要素が表示されるまでの時間 | 2,500ms以下 | 4,000ms以上 |
| CLS | 表示中にレイアウトがどれだけずれたか | 0.1以下 | 0.25超 |
| INP | 押してから反応するまでの時間(①に出る) | 200ms以下 | 500ms以上 |
← 表は横にスクロールできます →
ネットの解説と項目名が違っても、焦る必要はありません。PSIは2025年10月20日にLighthouse 13へ切り替わりました。古い診断項目の多くは「インサイト」にまとめ直されましたが、採点のしかたは変わっていません。

ページの重さで一番大きいのが画像だからです。フォントの8倍ほどあります。
グラフの数字は、HTTP Archiveが公開しているWeb Almanac 2024の集計値です。
AIで作ったサイトなら、画像生成AIで出した画像が縮めないまま置かれていないか、最初に確かめておきたいところです。
JavaScriptも重い項目です。ただ、フレームワークの中身に手を入れるのはリスクが高い作業になります。個人的には、失敗しにくくて効果がすぐ見える画像から始めるのが一番割に合うと考えています。
写真はWebPにして、表示サイズまで縮めます。遅延読み込みは、最初に見える1枚以外にだけ付けます。
まず、ヒーロー画像(ページ最上部の大きな画像)に loading="lazy" が付いていないか見てください。見落としやすいところです。
web.devも「LCP 画像を遅延読み込みしないでください。」とはっきり書いています。全部の画像に一律でlazyを付けると、かえって遅くなります。
形式は、画像の種類で選びます。
| 画像の種類 | 向いている形式 |
|---|---|
| ロゴ・アイコン | SVG |
| 写真・生成AIの画像 | JPEG/非可逆WebP/AVIF |
| 細部まで劣化させたくない画像 | PNG/可逆WebP |
| 動くもの(GIFアニメ) | <video>(MP4・WebM) |
← 表は横にスクロールできます →
Googleの検証では、非可逆WebPは同じ画質のJPEGより25〜34%小さくなっています。ただし、どこまで軽くなるかは画像しだいです。
効き目が大きいのはGIFアニメです。web.devの例では、3.7MBのGIFがMP4にすると551KBになっています。
変換するなら、ブラウザだけで使えるSquooshが手軽です。画像は自分の端末の中で処理され、外部には送信されません。

AIツールで作ったサイトなら、次の指示をそのまま貼れば通じます。
ファーストビュー以外の<img>に loading="lazy" と width/height を付けて。
ヒーロー画像は lazy を外して fetchpriority="high" を付けて。
写真はWebPに変換し、表示サイズの2倍を超えないように縮めて。
GIFは <video autoplay loop muted playsinline> のMP4に置き換えて。
width と height を付けると、画像が届く前にブラウザが場所を取っておけます。読み込みの途中でレイアウトがずれる(CLSが悪くなる)のを防げます。

できます。動かすのを transform と opacity の2つに絞れば、見た目はほとんど変わりません。
top や left で要素を動かすと、ブラウザは毎回、位置を計算して描き直します。性能の低いスマホではカクつき、レイアウトのずれ(CLS)にも数えられます。
transform で動かせば、この描き直しは起きません。置き換えは次の表のとおりです。
| やりたいこと | 避ける書き方 | 置き換え先 |
|---|---|---|
| 横から入ってくる | left を動かす |
transform: translateX() |
| ふわっと出る | heightを動かす |
opacity |
| 大きくなる | width・heightを動かす |
transform: scale() |
← 表は横にスクロールできます →
PSIに non-composited-animations(合成されないアニメーション)が出ていたら、そこが直す場所です。この項目はLighthouse 13でもインサイトにまとめられず、単独の診断項目として残っています。
AIで作ったLPでは、全要素にフェードインやスライドインが付いていることもあります。地味に見落としがちなポイントです。
OSで「視覚効果を減らす」を選んでいる人もいます。prefers-reduced-motion(動きを減らす設定かどうかを判定するCSSの条件)で、動きを止める指示も一緒に出しておくと親切です。
top/left/width/heightで動かしているアニメーションを
transformとopacityだけに置き換えて。
@media (prefers-reduced-motion: reduce) のときは無効にして。
will-change は全体には付けないで。
日本語フォントを使うこと自体は問題ありません。書体と太さを減らし、読み込み中の表示方法を指定してください。
font-display の値 |
文字を隠す時間 | 向いている場面 |
|---|---|---|
swap |
0ms | ブランド書体を確実に見せたい見出し |
fallback |
100ms(差し替えは3秒まで) | 見た目と速さのバランスを取りたい |
optional |
100ms(差し替えなし) | 本文。レイアウトのずれを最小にしたい |
block |
2〜3秒 | 速さを優先するなら避けたい |
← 表は横にスクロールできます →
swap は文字がすぐ出ます。その代わり、差し替わる瞬間に行の幅が変わり、レイアウトが少しずれることがあります。
迷ったら、見出しだけWebフォント+swap、本文は system-ui(端末にもともと入っている文字)に分けるのが一番無理がないと考えています。本文のフォントを何もダウンロードしなくて済むからです。
Google Fontsを使っているなら、URLに &display=swap を付けるだけで表示方法を指定できます。ロゴのように使う文字が決まっている箇所は、text= で文字を絞るとファイルサイズを最大90%減らせる場合があります。
Google Fontsの日本語書体は1書体・2ウェイト(400と700)までに減らして。
URLに &display=swap を付けて。本文は font-family: system-ui に。
アイコンフォントを使っているならSVGアイコンに置き換えて。
自分のサーバーにフォントを置いても(セルフホスト)、速くなるとは限りません。web.devもそう書いています。
サブセット化(使う文字だけに削ること)やセルフホスティングをするなら、先にそのフォントのライセンスを確認してください。サブセット化とセルフホスティングが許可されているかどうかがポイントです。

PSIの点数は測るたびに動きます。1回で判断せず、5回ほど測って中央値を見てください。
点数がぶれる原因として、Chrome for Developersは通信経路の変化、ブラウザの拡張機能、ウイルス対策ソフトなどを挙げています。Lighthouseの公式ドキュメントは、平均ではなく中央値で見ることを勧めています。5回測った中央値は、1回だけの結果よりおよそ2倍安定するそうです。
Q. PSIの点数は何点あれば合格ですか?
90以上が「良好」、50〜89が「改善が必要」、50未満が「不良」です。ただ、Google検索が見ているのは点数ではなく、実ユーザーのCore Web Vitalsです。点数は原因を探す目安として使ってください。
Q. 表示速度を上げれば検索順位は上がりますか?
Googleは、Core Web Vitalsをランキングで考慮する要素の一つだとしています。速さだけで順位が決まるわけではありません。
とはいえ、速さは売上にも響きます。web.devには、楽天24で訪問者あたりの収益が53.37%増えた事例が載っています。
Q. 古い記事にある「FID」は見なくていいですか?
見なくて大丈夫です。FIDは2024年3月12日にINPへ置き換わりました。今のPSIで反応の速さを表すのはINPです。
fetchpriority="high" を付ける。lazyはそれ以外の画像だけに付けるtransform と opacity だけで動かすdisplay=swap を付ける今日やることは1つです。自分のサイトのURLをPSIに入れて、モバイルのLCPと、インサイトに出ている画像の項目を確かめてください。画像の項目が出ていたら、上の指示文をAIツールに貼るところから始めましょう。
この記事は、Webサイトの動く部品集 AETHER Motion の制作チームが書いています。