FCPを改善 | 項目 | 状態 | |------|------| | GZIP圧縮(必須) | 効果なし(既にBrotli圧縮済み) | | Public CDNの利用 | 適用済み(実測FCP -576ms) | | 別ドメインからのCSS配信 | 適用済み(CDN同一ドメイン化の一部) | | CSSファイルが多い(21本) | 効果なし(結合しても+8ms。HTTP/2で解消済み) | | 不使用CSS | 効果なし(57%削減しても+6ms。Brotli圧縮済みのため) | | head内の同期script(26本) | 適用済み(実測FCP -52ms) | | TTFBが遅い(993ms) | 適用済み(100msに短縮で実測FCP -912ms) | | preload / prefetch / preconnect | 効果なし(実測+3ms。不採用) | | CSSの @import | 該当なし(0件) | | document.write | 該当なし(0件) | | Google Optimize の async-hide | 該当なし(0件) | | JSによるCSSの動的追加 | 該当なし(0件) | | visibility:hidden / opacity:0 による全体非表示 | 該当なし(0件) | 実測FCP: 1718ms → 182ms(-1536ms) 効果があったのは3施策のみで、効果の大きさは桁違いだった。 | プラクティス | 実測FCPの改善 | 実現に必要なこと | |--------------|--------------|-----------------| | HTML本体のTTFB短縮(993→100ms) | -912ms | サーバ改修 | | Public CDNの同一ドメイン化 | -576ms | ファイル配置のみ | | head内scriptのbody末尾移動 | -52ms | テンプレート修正のみ | CSS結合・不使用CSS削減・GZIPはいずれも効果がなかった。 CDN同一ドメイン化以降、Lantern(Lighthouseのシミュレーション推定器)が HTML本体のTTFB 993msと矛盾するFCP 67msを出力するようになったため、 本フェーズの評価はトレース実測値(observedFirstContentfulPaint)で行った。 css/sys/sb_block_goods.css の最後のルールが閉じ括弧なしで終わっている。 単独配信時は無害だが、CSSを結合・バンドルすると後続9ファイルが飲み込まれ 大規模な表示崩れを起こす(実際にDiff 58.80%を観測)。 実測FCP: 182ms 実測LCP: 297ms 実測SI: 280ms CLS: 0.000 TBT: 0ms Overall Score: 100