補足施策

| # | コミット | プラクティス | 主要効果 |
|---|----------|-------------|----------|
| P10 | f2c110e | autoplay動画1.5MBの二重DL解消と遅延化 | 初期転送量 -1.51MB(-59.1%)、loadEventEnd -178.3ms |
| P2 | 729d7d2 | 静的アセット249件への Cache-Control 付与 | uses-long-cache-ttl / cache-insight ともに 0.5→1.0 |
| P5 | 30c5d20 | HTMLのminify | 400,088→259,378B(-35.2%) |
| P7 | b2edd2a | JavaScriptのminify(15本) | unminified-javascript 0.5→1.0、実効削減 -39,550B |
| P6 | d836238 | 残存未使用CSSのパージ | レンダーブロッキングCSS -28.7% |
| P3 | 4b0946c | 検索パネルのオンデマンド化 | FCP -20ms、DOM -1,424、UpdateLayoutTree -40% |
| P4 | af58ccd | カテゴリツリーの遅延読み込み | DOM -694(累積 4,588→2,470、-46.2%) |
| P8 | 7444779 | 残存する過大画像の適正サイズ化(派生161件) | uses-responsive-images 0.5→1.0、全ページ画像 mobile -1.92MB |
| P1 | ace19c0 | index.js への async 付与(必須実施項目) | 効果なし(実測で確定) |
| P9 | 19030c5 | cache-control: no-store 解消による bfcache 対応 | bf-cache 0→1.0、戻る操作 757ms→55ms(-92.7%) |
| - | 7f2f43d | Swiper preloadImages: false の明示 | 効果なし(再発防止としての価値) |

| 項目 | 状態 |
|------|------|
| WebP最適化 | 適用済み(LCPフェーズ。JPEG/PNG 0件) |
| JS第1段階(body末尾移動) | 適用済み(TBTフェーズ。head内script 0件) |
| JS第2段階(async付与) | 実施済み(P1)・効果なし。外部15本中14本がasync不可 |
| CSS結合 | 適用済み(FCPフェーズ。link rel=stylesheet 1件のみ) |
| TTFB 50msシミュレーション | 廃止項目(仕様どおりスキップ) |

| 項目 | 根拠 |
|------|------|
| Google Fonts の廃止 | Webフォントリソース0件、link 5件中フォント関連0件 |
| 日本語Webフォントの廃止 | @font-face は swiper-icons の base64 1件のみ(P6で削除済み)。デバイスフォント使用 |
| 高速ネットワークのシミュレーション | 帯域中央値 113.7Mbps、ping 17.3ms、network-rtt score 1 |

| 監査 | 開始時 | 完了時 |
|------|--------|--------|
| uses-long-cache-ttl | 0.5(97リソース) | 1.0(0件) |
| cache-insight | 0.5(2,514 KiB) | 1.0 |
| unminified-javascript | 0.5(39 KiB) | 1.0 |
| uses-responsive-images | 0.5(139 KiB) | 1.0 |
| bf-cache | 0 | 1.0 |
| total-byte-weight | 1.0(2,555 KiB) | 1.0(797 KiB) |
| image-delivery-insight | 0.5(519 KiB) | 0.5(323 KiB。残存56%はDPR未考慮の誤検出) |
| unused-css-rules | 0.5(18,837B) | 0.5(14 KiB。満点化を目的化すべきでない) |
| dom-size | 0.5(4,588要素) | 0.5(2,470要素、-46.2%) |
| uses-passive-event-listeners | 0.5 | 0.5(jQuery 3.4.1 内部。対象外) |

1. unminified-html 監査は Lighthouse に存在しない。gzip後でも -23% 残るため
   「gzipしているからminifyは不要」は成立しない。
2. unused-css-rules を満点にすることを目的化すべきでない(初回ロードで当たらないだけの
   ルールを未使用に数える。16シナリオの実測カバレッジで裏付け)。
3. image-delivery-insight の残存56%はDPR未考慮の誤検出。対処すべきでない。
4. DOM要素数の削減量とメインスレッド削減量は比例しない。
5. visibility:hidden はレンダリング対象のため不可視パネル配下の画像8件が実際にDLされていた。
6. 1つのヘッダ(no-store)が2つの弱点を生んでいた(bfcache無効化とHTMLのCDN非キャッシュ)。
7. UIライブラリの既定オプション(Swiper preloadImages)がパフォーマンス施策を静かに打ち消す。

- P9(no-store解消)はセキュリティ要件との兼ね合いがあり「提言」の位置づけ。
  6件の Set-Cookie を返すログイン状態依存ページであり、無条件に外すべき施策ではない。
- P2(Cache-Control)の実装時はURLバージョニングの併用が必要。

LCP: 193ms
CLS: 0.000
TBT: 0ms
FCP: 178ms
SI: 524ms
Overall Score: 100

Lighthouse総転送量: 2,616,459B → 816,557B(-68.8%)