28
チャプター28
サードパーティスクリプトの最適化
多くのアプリケーションは、アナリティクス、広告、カスタマーサポートウィジェットなど、さまざまな種類の機能を含めるためにサードパーティのJavaScriptに依存しています。しかし、サードパーティが作成したコードを埋め込むと、読み込みが早すぎるとページコンテンツのレンダリングが遅延したり、ユーザーパフォーマンスに影響を与えたりする可能性があります。
Next.jsには、任意のサードパーティスクリプトの読み込みを最適化し、開発者がいつスクリプトをフェッチして実行するかを決定できる組み込みのScriptコンポーネントが用意されています。
Scriptコンポーネントの使用
通常のHTMLでは、外部スクリプトは手動でnext/head
に追加する必要があります
import Head from 'next/head';
function IndexPage() {
return (
<div>
<Head>
<script src="https://#/gtag/js?id=123" />
</Head>
</div>
);
}
Next.jsのScriptコンポーネントを使用すると、next/head
を使用することなく、コンポーネント内のどこにでも追加できます
import Script from 'next/script';
function IndexPage() {
return (
<div>
<Script
strategy="afterInteractive"
src="https://#/gtag/js?id=123"
/>
</div>
);
}
Scriptコンポーネントは、最適な読み込みのためにスクリプトをいつフェッチして実行するかを決定できるstrategy
プロパティを導入します。Largest Contentful Paint (LCP) に悪影響を与えないように、ほとんどのサードパーティスクリプトは、ページのすべてのコンテンツの読み込みが完了した後、ページがインタラクティブになった直後 (strategy="afterInteractive"
) またはブラウザのアイドル時間中 (strategy="lazyOnload"
) に遅延読み込みされるべきです。
さらに読む
- Next.js: Scriptコンポーネント
- Next.js:
next/script
のAPIリファレンス
お役に立ちましたか?