Googleフォントをpreloadで先読みして「ちらつき」を抑制する方法

Googleフォントをpreloadで先読みして「ちらつき」を抑制する方法です。

Googleフォントをpreloadで先読みして「ちらつき」を抑制する方法

当サイトでは、パフォーマンス向上のためにGoogleフォントをCDNから読み込むのをやめてローカルに配置したものの、レンダリングがブロックされたことで、Web Font Loaderを使ってGoogleフォントを読み込む方法に変更した。ただ、ちらつき対策が万全ではないことから、今回の改善にたどり着いた。

<link rel="preload" href="fontsの場所" crossorigin>

relの値にpreloadを使用すると、 link要素は利用したいあらゆるリソースの事前読み込み指示になる。そのため、テキストのちらつきを抑制できる上、CLSの抑制にもつながる。

ここでは Googleフォントをpreloadで先読みして「ちらつき」を抑制する方法 を紹介します。

Sponsored Links

Googleフォントをダウンロードしてローカルに配置する

今回はパフォーマンス向上のために、Googleフォントをダウンロードしてローカルに配置して実装する。

手順としては以下の通り。

  1. Googleフォント のダウンロードする
  2. ローカル(サーバー)に配置する
  3. CSSでfont-faceを指定する

まずは「Googleフォントをローカルに配置して使う方法」のページを参考にして、Googleフォントをダウンロードしてローカルに配置してほしい。

preloadを指定する

次に、link rel="preload"にて、Googleフォントを先読みしてレンダリングブロックを回避するを記述をする。

headタグのなるべく最初の方に指定するのがよい。当然ながらCSSより前に追加する必要がある。


<link
  rel="preload"
  as="font"
  href="./fonts/NotoSansJP-VariableFont_wght.ttf"
  crossorigin />

href属性には、CSSのurlで指定したパスと同じものをセットすればOK。

以上で作業はおしまい。ちらつきがなくなっていることを確認しよう。

Sponsored Links

参考サイト

参考になります。

rel=preload - HTML: ハイパーテキストマークアップ言語 | MDN

まとめ

Googleフォントをpreloadで先読みして「ちらつき」を抑制する方法を紹介しました。

これで「ちらつき」もなくなったし、Webフォント読み込みによる「レンダリングを妨げるリソースの除外」の問題が完全に解決したのかなっと。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。