最適化
Next.jsには、アプリケーションの速度とCore Web Vitalsを改善するための様々な組み込みの最適化が用意されています。このガイドでは、ユーザーエクスペリエンスを向上させるために活用できる最適化について説明します。
組み込みコンポーネント
組み込みコンポーネントは、一般的なUIの最適化を実装する複雑さを抽象化します。これらのコンポーネントは:
- Images:ネイティブの
<img>
要素をベースにしています。Imageコンポーネントは、遅延読み込みと、デバイスサイズに基づく自動画像リサイズにより、画像のパフォーマンスを最適化します。 - Link:ネイティブの
<a>
タグをベースにしています。Linkコンポーネントは、ページを背景で先読みし、より高速でスムーズなページ遷移を実現します。 - Scripts:ネイティブの
<script>
タグをベースにしています。Scriptコンポーネントは、サードパーティスクリプトの読み込みと実行を制御できます。
メタデータ
メタデータは、検索エンジンがコンテンツをより良く理解するのに役立ち(これによりSEOが改善される可能性があります)、ソーシャルメディア上でのコンテンツの表示をカスタマイズできるため、さまざまなプラットフォーム間でより魅力的で一貫したユーザーエクスペリエンスを作成できます。
Next.jsのMetadata APIを使用すると、ページの<head>
要素を変更できます。メタデータは2つの方法で設定できます:
- 構成ベースのメタデータ:
layout.js
またはpage.js
ファイルで、静的なmetadata
オブジェクトまたは動的なgenerateMetadata
関数をエクスポートします。 - ファイルベースのメタデータ:ルートセグメントに静的または動的に生成された特殊ファイルを追加します。
さらに、imageResponseコンストラクターを使用して、JSXとCSSで動的なオープングラフ画像を作成できます。
静的アセット
Next.jsの/public
フォルダを使用して、画像、フォント、その他のファイルなどの静的アセットを提供できます。/public
内のファイルは、CDNプロバイダーによってキャッシュされ、効率的に配信されます。
分析と監視
大規模なアプリケーションでは、Next.jsは人気の分析およびモニタリングツールと統合され、アプリケーションのパフォーマンスを理解するのに役立ちます。詳細はOpenTelemetryインストゥルメンテーションガイドを参照してください。
画像最適化
組み込みの `next/image` コンポーネントで画像を最適化します。
ビデオの最適化
Next.js アプリケーションでビデオを最適化するための推奨事項とベストプラクティス。
フォント最適化
組み込みの `next/font` ローダーでアプリケーションのウェブフォントを最適化します。
メタデータ
メタデータ API を使用して、任意のレイアウトまたはページでメタデータを定義します。
スクリプトの最適化
組み込みのScriptコンポーネントでサードパーティスクリプトを最適化します。
パッケージバンドリングの最適化
アプリケーションのサーバーとクライアントバンドルを最適化する方法を学びます。
遅延読み込み
インポートしたライブラリとReactコンポーネントを遅延読み込みし、アプリケーションの読み込みパフォーマンスを改善します。
アナリティクス
Next.js Speed Insightsを使用してページのパフォーマンスを測定および追跡する
インストルメンテーション
Next.jsアプリのサーバー起動時にコードを実行するためのインストルメンテーションの使用方法を学ぶ
OpenTelemetry
Next.js アプリを OpenTelemetry で計装する方法を学びます。
public での静的アセット
Next.jsは、publicディレクトリで画像などの静的ファイルを提供できます。その仕組みについてここで学べます。
サードパーティライブラリ
next/third-parties パッケージを使用して、アプリケーション内のサードパーティライブラリのパフォーマンスを最適化します。
メモリ使用量
開発環境と本番環境でアプリケーションのメモリ使用量を最適化します。