ユーザーを逃さない!ホームページ表示速度を改善する方法
ページの速さは直帰率・CV・検索順位に直結します。とくにモバイルでは「3秒以内に主要コンテンツが見える」ことが重要。ここでは、今日から実践できる具体策を“効果が出やすい順”に整理します。
まず押さえる目標値(目安)
- LCP(主要コンテンツの表示):2.5秒以下
- INP(操作応答):200ms 以下
- CLS(レイアウト移動):0.1 未満
- 初回表示:モバイル実機で3秒以内を体感目標
1. 画像最適化(最速で効く)
■ 何をする?
- 画像形式:写真はWebP(可ならAVIF)、アイコンはSVG。
- サイズ:表示幅に合わせて適正リサイズ。2x/3xは必要な箇所に限定。
- 圧縮:オンライン/バッチでロスレスor低劣化圧縮。
- 遅延読み込み:
loading="lazy"
を下部画像へ付与。 - 先読み:ヒーロー画像には
fetchpriority="high"
、重要CSSはpreload
。 - 寸法指定:
width
とheight
をHTMLに明記してCLSを防止。
■ チェック
- ヒーロー画像の容量は数百KB以内(可能なら100〜250KB目安)。
- カルーセルや背景動画は枚数・ビットレートを最適化。
2. キャッシュ&配信最適化
■ 何をする?
- ブラウザキャッシュ:静的資産に長期
Cache-Control
+リビジョン付与。 - 圧縮:サーバーでBrotli(なければGzip)を有効化。
- CDN:画像・CSS・JSをエッジ配信。地理的距離とTTFBを短縮。
- HTTP/2/HTTP/3:同時多重化で読み込み効率を改善。
■ チェック
- 再訪時のキャッシュヒット率を確認(解析ツール/サーバーログ)。
- CDN経由でTTFBが安定して200ms台に収まるか。
3. コード/フォントの軽量化
■ 何をする?
- CSS/JSのミニファイと結合(HTTP/2環境では依存関係に注意)。
- 未使用CSSの削減(ビルド時のパージ、コンポーネント単位の読み込み)。
- JSはdefer/asyncでレンダーブロックを回避、下部読み込みを徹底。
- フォントは自社ホスト+
font-display: swap
、ウェイトは厳選。 - クリティカルCSSをインライン化してファーストペイントを前倒し。
■ チェック
- 初期描画前にブロックする資産が残っていないか。
- FOUT/FOITが気にならないレベルで表示されるか。
4. サードパーティタグの統治
■ 何をする?
- 計測・広告・チャットなどの外部スクリプトを棚卸し。不要は撤去。
- 同等機能の重複(解析タグの多重設置)を解消。
- タグマネージャで読み込み条件を厳格化(発火条件・遅延読み込み)。
■ チェック
- 外部スクリプトのロード時間・失敗率がUXに影響していないか。
- ファーストビューに不要なタグは初期ロードから外れているか。
5. サーバー/インフラの見直し
■ 何をする?
- TTFBが遅い場合はプラン変更や高速サーバーへ移行。
- PHP/Node等のランタイムを最新化、OPcacheやオブジェクトキャッシュを有効化。
- DBはインデックス・クエリ見直し、不要プラグインは停止/削除。
- グローバル配信はCDN+エッジキャッシュで遅延を平準化。
■ チェック
- ピーク時でも応答が安定(エラー率・タイムアウトが増えていない)。
- 主要ページでTTFBが200〜400ms台に収まるか。
6. CLS(レイアウト移動)対策
- 画像・広告・埋め込みに固定寸法を指定。
- Webフォント読み込み中のプレースホルダ採用(等幅/近似幅)。
- 上部に挿入されるバナー/同意UIは事前予約領域を確保。
7. 計測と運用KPI
■ 定点観測
- 主要3ページ(トップ/集客LP/コンバージョン)を毎週計測。
- モバイル実機で体感確認(回線は4G/5Gを想定)。
■ KPI例
- LCP 2.5秒以下、INP 200ms以下、CLS 0.1未満。
- 初期JS容量 200KB(圧縮後)以下を目安に段階削減。
まとめ
最優先は「画像・キャッシュ・コード削減」。次に「サードパーティとインフラ」を見直し、定点観測で“速さの再発防止”を仕組みにします。小さな改善の積み重ねが、離脱防止と検索評価の両立につながります。