FCPを改善

configSettings.throttling が rttMs: 0 / throughputKbps: 0 / cpuSlowdownMultiplier: 1。
Lantern のネットワークモデルが実質「無遅延・無限帯域」であり、
シミュレーション FCP(78ms)はほぼ CPU 時間のみで決まる。
実測は observedFirstContentfulPaint = 1133ms。

観測FCP 1133ms の内訳:
- ルートドキュメント TTFB 967ms(86%)
- レンダリングブロックCSS 4本(並列、最遅)117ms(10%)
- スタイル計算〜ペイント 約35ms(3%)

CSS を完全撤去する理論上限測定でも観測FCP は -7ms しか動かなかった。

| 項目 | 状態 |
|------|------|
| GZIP圧縮(必須) | 適用済み(uses-text-compression 0.5→1.0) |
| CDNの同一ドメイン化 | 不採用(Lantern計算破綻・観測値不変) |
| CSSの別ドメイン配信 | 適用済み(Google Fonts CSS、Overall 99→100) |
| 複数CSSの一本化(4個以上で必須) | 適用済み(stylesheet 7件→4件) |
| scriptのレンダリングブロック | 適用済み(access.js async 化) |
| 不使用CSS | 適用済み(purgecss、転送 -51.3%) |
| クリティカルCSSの逆効果 | 適用済み(load_css_async 完全除去) |
| CSSのミニファイ | 適用済み(効果なし、unminified-css 0.5→1.0) |
| Google Fonts link の位置 | 不採用(head移動で観測FCP +20.2% 悪化) |
| TTFB | 不採用(inventory編集では対処不可、理論上限を計測) |
| CSS の @import | 該当なし(grep 0件) |
| document.write | 該当なし(TBTフェーズで解消済み) |
| Google Optimize | 該当なし(grep 0件) |
| preload / prefetch の誤用 | 該当なし(0件) |
| visibility: hidden による隠蔽 | 該当なし(grep 0件) |

自社アクセス解析 access.js が同期 script として 984〜3794ms(約2,810ms、
ほぼ全量が TTFB)にわたりパーサをブロックしていた。
async 属性の付与と naLog.Send() の onload 化により:

- observedDomContentLoaded: 3833ms → 1314ms(-2,519ms)
- observedLargestContentfulPaint: 3901ms → 1379ms(-2,522ms)

サードパーティタグ除去に次ぐ、本プロジェクト第2の実効改善。
access.js は第一者リソースとして除去対象外としていたが、
第一者であっても同期読み込みは重大なボトルネックになりうる。

| ルートTTFB | observedFCP | observedLCP |
|---|---|---|
| 962ms(現状) | 1130〜1136ms | 1375〜1381ms |
| 0ms(理論上限) | 142〜147ms | 396〜402ms |
| 全リソース 0ms | 51〜56ms | 135〜163ms |

TTFB は FCP / LCP / SI すべてに直結する最大のボトルネックであり、
本サイトに残る最大の改善余地はサーバ応答時間の短縮にある。

プラクティス5以降、Lantern のシミュレーション LCP / SI は
内部計算が破綻している(Render Delay が負値、TTFB > 総LCP)。
以降、LCP の評価は観測値 observedLargestContentfulPaint を主指標とする。

Google Fonts link の head 移動では、レグレッションテストの増分が0%、
render-blocking-resources 監査も変化なしだったにもかかわらず、
観測FCP だけが +228.7ms(+20.2%)悪化した。

observedFirstContentfulPaint: 約1130ms
observedDomContentLoaded: 約1314ms
observedLargestContentfulPaint: 約1378ms
observedSpeedIndex: 約1456ms
CLS: 0.000
TBT: 0ms
Overall Score: 100