クリティカルCSSとは何か
クリティカルCSSとは、ページを開いて最初に見える範囲(ファーストビュー、above the fold)を正しく表示するために必要な最小限のCSSのことです。これを優先的に届けることで、初回の描画を早めます。
通常、ブラウザはCSSをすべて読み込んでからでないと描画を始められません。外部のCSSファイルはレンダリングを妨げる要素になり、読み込みが終わるまで白い画面が続きます。
そこで、ファーストビューに必要なCSSだけをHTMLに直接埋め込んで先に描画させ、残りのCSSは後から読み込む。これがクリティカルCSSの基本的な発想です。
なぜ速くなるのか
外部CSSの読み込みは、最初の描画(FCP)を妨げます。CSSの取得と解析が終わるまで、ブラウザは画面を描き始められないからです。
クリティカルCSSをHTMLに直接書いておけば、外部ファイルの取得を待たずに最初の見える範囲を描画できます。結果としてFCPやLCPの改善につながります。
残りのCSSは描画を妨げない形で後から読み込むため、ファーストビューの表示と、それ以外のスタイル適用を両立できます。
実務ではどこで関係する?
クリティカルCSSは言葉の意味だけ覚えても、HTML共有の判断にはつながりません。実務では「表示に関係する話か」「検索に関係する話か」「アクセス制限に関係する話か」を分けて考えると整理しやすくなります。
クリティカルCSSについて迷ったら、相手が安全に開けるか、検索に出してよいか、ブラウザや環境差で壊れないかを順番に確認します。用語理解は、その判断を早くするための道具として使います。手順が決まったら、HTML/ZIPをアップロードして共有URLを発行し、相手に確認してほしい観点と期限を添えて送ります。
- 表示の話: HTML/CSS/JS、パス、ブラウザ互換性を確認する
- 検索の話: noindex、canonical、sitemap、robots.txtの役割を分ける
- 制限の話: URL共有、パスワード、メール認証、会社ドメイン認証を混同しない
- 運用の話: 期限、差し替え、削除、共有メッセージまで決める
クリティカルCSSの作り方の手順
クリティカルCSSは、最初に見える範囲のスタイルを抽出してHTMLに埋め込む流れで作ります。次の手順が基本です。
- 対象ページのファーストビューに表示される要素を洗い出す
- その要素に適用されるCSSルールだけを抽出する(専用ツールも利用可)
- 抽出したCSSをHTMLのhead内に直接埋め込む(インライン化)
- 残りのCSSは描画を妨げない形で後から読み込む設定にする
- 見た目が崩れていないか確認し、FCP・LCPが改善したか計測する
運用上の注意点
クリティカルCSSは強力ですが、手作業で管理すると負担が大きくなります。デザインを変えるたびに抽出し直す必要があり、古いままだとファーストビューが崩れることもあります。
また、画面サイズによって見える範囲が変わるため、PCとモバイルでファーストビューが異なる点にも注意が必要です。どの範囲を基準に抽出するかを決めておくと運用が安定します。
埋め込むCSSが大きすぎると、今度はHTML自体が重くなって本末転倒です。あくまで最初に見える範囲に必要な最小限に絞ることが大切です。
確認用ページでの活用
デザインのレビューで共有するページでも、ファーストビューが一瞬で整って表示されると、相手は内容の確認にすぐ集中できます。最初の崩れや遅れは余計な印象を与えがちです。
クリティカルCSSを試して効果を比べるとき、何度もファイルを差し替えて確認することになります。手軽に公開して試せる環境があると検証が進みます。
ギガサイト便はHTMLやCSSを含むZIPをドロップするだけで共有URLを発行でき、同じURLのまま差し替えられます。クリティカルCSS適用前後を、同じリンクで比較しながら確認できます。
よくある質問
クリティカルCSSはどの範囲を対象にしますか?
ページを開いて最初に見える範囲、いわゆるファーストビュー(above the fold)に表示される要素のスタイルが対象です。スクロールして初めて見える部分のCSSは後から読み込めば十分です。
なぜHTMLに直接埋め込むのですか?
外部CSSファイルの取得を待つと最初の描画が遅れるためです。ファーストビューに必要なCSSをHTMLのhead内に直接書いておけば、外部ファイルを待たずに最初の見える範囲を描画でき、初回表示が速くなります。
クリティカルCSSのデメリットはありますか?
デザイン変更のたびに抽出し直す手間がかかること、画面サイズでファーストビューが変わること、埋め込みすぎるとHTMLが重くなることが挙げられます。最小限に絞り、運用ルールを決めておくと安定します。
残りのCSSはどう読み込めばよいですか?
ファーストビュー以外のCSSは、最初の描画を妨げない形で後から読み込むのが基本です。これにより、最初に見える範囲はすぐ表示しつつ、残りのスタイルも遅れて適用されるようにできます。
実務ではどこで関係する?はHTML共有で必ず理解しておく必要がありますか?
細かな仕様を暗記する必要はありません。ただし、検索に出るか、閲覧者を制限できるか、表示が崩れないかに関わる用語は、共有前の判断材料として押さえておくと安全です。