主要なリクエストをプリロードしてコア Web バイタルを向上させる方法
公開: 2023-07-06サイトのリソースがすべて同じように重要であるわけではありません。
はい、Web サイトが完璧に表示され、動作するためにはすべてが必要ですが、パフォーマンスに関しては、いくつかの優先度を高くする必要があります。
そうしないと、ページの読み込みが遅くなり、PageSpeed Insights (PSI) レポートに長い警告リストが表示される危険があります。
そのうちの 1 つは、「キー要求のプリロード」です。
次の行では、キー リクエストとは何か、「キー リクエストのプリロード」警告を修正することが重要な理由、そして最後に重要なことを修正する方法について説明します。
- プリロードキーリクエストの意味
- 重要なアセットをプリロードするとサイトの速度がどのように向上するか
- プリロードする必要がある主要なリクエストを特定する方法
- プリロードキーリクエストの警告を修正する方法
- キーリクエストを自動的にプリロードする
読む。
プリロードキーリクエストとは何を意味しますか?
キーリクエストをプリロードすることで、事前にダウンロードする最も重要なアセットをブラウザに指示します。 これにより、最も重要なファイルが、特にプロセスの後半で検出されてダウンロードされる場合に、より迅速にロードできるようになります。
しかし、これでは次のような疑問が生じます。
リクエストが重要になる理由は何ですか?
クリティカル リクエストは、ページの初期ビューポート (市場でよく言われるように、スクロールせずに見える範囲) に表示されるリソースです。
たとえば、ラップトップで NitroPack のホームページを読み込むと、次のような内容が表示されます。
スクロールせずに見える範囲にロードされるすべてのリソースは重要とみなされます。 したがって、ユーザーに瞬時の読み込みエクスペリエンスを提供するには、ブラウザーによってより高い優先度でダウンロードおよびレンダリングされる必要があります。
一般に、ブラウザのアルゴリズムは、ページの最も重要なリソースに優先順位を付けるのに非常に優れています。 実際、ブラウザはリソースをダウンロードするときに、それに優先順位を割り当てます。
- 最高
- 高い
- 中くらい
- 低い
- 最低
ただし、Web サイトの所有者/開発者は、どのリソースが他のリソースよりも重要であるかについて貴重な洞察を得ることができます。 したがって、それらをプリロードすると、PSI 警告を通過するだけでなく、全体的なパフォーマンスとユーザー エクスペリエンスも向上します。
その方法は次のとおりです…
プリロード キー リクエストの修正を適用するとパフォーマンスがどのように向上するか
真実は:
「プリロード キー リクエスト」警告を修正して、さらに別の警告を「合格」カテゴリに移動するだけでは意味がありません。
ただし、Web ページの最も重要なリソースをプリロードすると、サイトの次のような影響が大きくなります。
- コアウェブバイタル
- パフォーマンススコア
- 知覚されたパフォーマンス
それがどのようにして可能なのか見てみましょう。
プリロードと最大コンテンツフル ペイント (LCP)
Largest Contentful Paint は、スクロールせずに見える最大の要素がページに読み込まれるのにかかる時間を測定します。
最も一般的に LCP 要素とみなされているリソースのタイプは次のとおりです。
- 画像;
- 画像タグ;
- ビデオのサムネイル。
- CSS を使用した背景画像。
- テキスト要素。
それらはすべて、プリロードの優れた候補です。
そして、それらをより速く配信することは、Web サイトが最も苦労している Core Web Vitals 指標を改善するのに役立ちます。
さらに、LCP は全体のパフォーマンス スコアの 25% を占めます。 したがって、それをブーストすると、必然的にスコアが赤から緑に移動することになります。
ボタンをクリックするだけで、LCP スコアを赤から緑に変更できます。 今すぐ NitroPack をインストールしてください →
プリロードと最初のコンテンツフル ペイント (FCP)
First Contentful Paint (FCP) は、ブラウザがページ上の DOM コンテンツの最初の部分 (画像、SVG、空白でないキャンバス要素など) を視覚化するのにかかる時間を測定します。
読み込みアニメーションやページのロゴ (FCP をトリガーすることもできます) をプリロードすることは重要ではないように思えるかもしれませんが、ユーザー エクスペリエンスにとっては重要です。
ブラウザーが FCP 要素をすぐにロードすると、ユーザーの入力が処理され、サイトがロードされているという直接応答がユーザーに送信されます。
ページが読み込まれる前に数秒間空白のままだと、ユーザーは何かが起こっているのかどうかわかりません。 そして、彼らの次のステップが何になるかは推測できます。
跳ねる、弾む!
言い換えれば、FCP 要素をプリロードすることは、訪問者を満足させ続けるために、そして最も重要なことに、Web サイト上で満足してもらうために不可欠です。
さらに、FCP はパフォーマンス スコアの 10% を占めるため、その点でも強化されます。
プリロードと知覚されたパフォーマンス
知覚パフォーマンスについては何度か言及してきました。 それが何を意味するのか疑問に思っている場合は、次の定義を参照してください。
「知覚されたパフォーマンスは、ウェブサイトのパフォーマンス、応答性、信頼性の主観的な尺度です。 言い換えれば、ユーザーが Web サイトをどれだけ速く感じるかということです。 実際の動作速度よりも定量化し測定するのは難しいですが、おそらくそれ以上に重要です。」
場合によっては、ページがどのように迅速かつスムーズに読み込まれ、ユーザー操作に応答するかという認識が、リソースの取得に必要な実際の時間よりも重要になることがあります。
主要なリソースをプリロードすることで、ページの読み込みが速くなったという認識をユーザーに与えることができます。 コンテンツは迅速かつスムーズに読み込まれ、よりシームレスなブラウジング エクスペリエンスを実現しているように見えます。 ユーザーは、重要なリソースがフェッチされてロードされるのを待つことなく、すぐにページを操作できます。
この知覚パフォーマンスの向上により、
- ユーザーエンゲージメントの向上
- 直帰率の低下
- ウェブサイトに対する全体的な満足度
プリロードする必要がある最も重要なリクエストを特定する方法
Google の PageSpeed Insights は、プリロードする主要なリクエストを特定する最も簡単かつ効率的な方法です。
URL のパフォーマンスをテストするときは、必ず「機会」セクションで推奨事項を確認してください。 特に、次に示す例のような、「Preload key request」というラベルの付いた提案を探してください。
あるいは、Chrome DevTools を使用していくつかのテストを実行することもできます。 プロセスを開始するには、テストするページをロードし、「検査」 > 「Lighthouse」をクリックします。
次に、ページのモバイル バージョンとデスクトップ バージョンのどちらをテストするかを選択し、[ページ読み込みの分析] をクリックします。
テストが完了したら、下にスクロールして「Preload key requested」警告を探します。
注: Google PageSpeed Insights はLighthouse を使用するため、PSI または Chrome DevTools を通じてページをテストすると同じ結果が得られます。 どちらの方法を好むかはあなた次第です。
Lighthouse がプリロードに適したリソースをどのように正確に判断するかを理解するために、次の例を見てみましょう。
ページの重要なリクエスト チェーンは次のようになります。
> インデックス.html
>>app.js
>>> スタイル_カスタム.css
>>>> ui_custom.js
Index.htmlファイルには、 script src="app.js"タグを含めます。 app.js ファイルが実行されると、 fetch() 呼び出しがトリガーされ、 styles_custom.cssおよびui_custom.jsがダウンロードされます。 これら 2 つのリソースがダウンロード、解析、実行されるまで、ページは完全には表示されません。 このようなファイルはレンダリングをブロックするリソースとみなされます。
したがって、 styles_custom.cssとui_custom.js は、Lighthouse によって関連リソースとして識別されます。
問題は、ブラウザーが最後の 2 つのファイルを認識できるのは、 app.js をダウンロード、解析、実行した後であることです。 ただし、これらのリソースはページのスクロールせずに見える部分に含まれているため、できるだけ早くダウンロードする必要があることはわかっています。
より高い優先度を与えるには、 link rel="preload"を使用できます。
「プリロードキーリクエスト」警告を修正する方法
この警告を修正するには、PSI によってフラグが立てられたクリティカル リソースに link rel=preload 属性を適用します。
簡単に言うと、 link rel=preloadコマンドは、ブラウザが通常発見するよりも早く重要なリソースを取得するように指示します。
プリロードは、提案を提供するプリフェッチやプリコネクトなどの他のリソース ヒントとは異なり、宣言的です。 これは、ブラウザーが、ページ エクスペリエンスに不可欠であると考えられる特定のリソースを取得する必要があることを意味します。
HTML ドキュメントの先頭にlink rel=preloadタグを追加することで、リソースをプリロードできます。
たとえば、コード スニペットがプリロードされたロゴを検索する方法は次のとおりです。
プリロードとリソースとは別に、 3 番目の属性asがあることに気づいたかもしれません。
as 属性は、リソースのコンテンツ タイプを示します。 何をプリロードするかを指定するときに有効な「 as 」を追加しないと、アセットを 2 回フェッチする危険があります。
さらに、as 属性を含めると、ブラウザーがそのタイプに応じてプリフェッチされたリソースの優先順位を設定し、そのリソースがキャッシュにすでに存在するかどうかを判断するのに役立ちます。
指定できるas値の完全なリストは次のとおりです。
重要:最近の Web ブラウザはリソースの優先順位付けに優れているため、link rel=preload を過度に使用すると、マイナスの結果が生じる可能性があります。 本当に必要な場合にのみ、慎重に使用してください。
NitroPack を使用してキーリクエストを自動的にプリロードする
重要なリソースをプリロードし、サイトのコア ウェブ バイタル、パフォーマンス スコア、および体感パフォーマンスを向上させる、より簡単で自動的な方法をお探しの場合は、NitroPack を試してみてください。
NitroPack が 180,000 以上の Web サイトの Core Web Vitals 結果でリーダーである主な理由の 1 つは、当社独自のリソース読み込みメカニズムです。
NitroPack は、組み込みのブラウザー技術に依存しません。 代わりに、リソース ローダーを使用します。これにより、リソースがメイン スレッドに供給される方法が再調整され、多くのアセットがプリロードされます。 これは、メインスレッドからタスクをオフロードすることにより、最新の CPU のマルチコアの性質を利用します。
さらに、当社のサービスは、レイアウトごとにすべてのページに重要な CSS を作成することで、サイトの CSS 配信を自動的に最適化します。 これにより、知覚される実際のパフォーマンスが向上します。
しかし、最も良い点は、NitroPack を使用するとリスクがなくなることです。
どうして?
まず、無料プランを取得すると、1 円も費やすことなく NitroPack をテストできます。
次に、NitroPack はサイトのファイルのコピーに対して機能し、オリジナルを 100% 安全に保ちます。
簡単に言えば:
業界最速の読み込みサイトを利用すれば、リスクを冒さずにすべての競合他社を追い越すことができます。
それは私にとってはかなり良い取引のように思えます!