2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

<link rel=preload>について

Posted at

preloadとは

先行読み込みをブラウザに指示する機能。
また、Core Web Vitalsの向上やサイトの高速化をすることができるようになる。

href属性でリソースのパスを指定
as属性でリソースの種類を指定

preloadで先読みできる要素の一覧

as="" 備考
image 画像ファイル
embed <embed>要素の中に埋め込まれるリソース
object <object>要素の中に埋め込まれるリソース
document <frame>や<iframe>に埋め込まれるHTML文書
script JavaScriptファイル
audio 通常は<audio>で使用される音声ファイル
font フォントファイル
fetch ArrayBufferやJSONファイルのような、フェッチまたはXHR要求でアクセスされるリソース
style CSSスタイルシート
track WebVTTファイル
worker JavaScriptウェブワーカーまたは共有ワーカー 
video 通常は<video>で使用される動画ファイル 

rel="preload"をよく使うコンテンツ

  • CSS
<link rel="preload" href="stylesheet.css">

CSSは読み込みが完了するまでレンダリングがブロックっされるのでrel="preload"を使うことでより速くCSSが読み込まれることになり、結果的にレンダリングがブロックされにくくなり、ページスピードが速くなります。

  • JavaScript
<link rel="preload" href="main.js" as="script">

CSSと同様にjsファイルも先読みが必要なファイルはrep="preload"が有効です。

<script src="script.js" async>

逆に読み込みがいつでもいいjsはasync属性をつけると非同期読み込みができます。

<script src="script" defer>

defer属性で遅延読み込みもできます。

  • フォント
<link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin>

フォントも先読みすることでFOITやFOUTを防ぐことができ、Core Web Vitalsの向上も見込めます。
フォントを指定していない場合、Page Speed Insights の「キーのプリロード」という項目で指摘されます。
フォントの場合はCORSを有効にするためにcrossorigin属性も指定します。

rel="preload"は使い方を間違える逆にページスピードが低下することもあります。
用法・用量を守って正しく使うことが重要となります。

参考サイト

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?