コンテンツへスキップ

最適化

Next.jsには、アプリケーションの速度とCore Web Vitalsを改善するために設計された、さまざまな組み込みの最適化機能が用意されています。このガイドでは、ユーザーエクスペリエンスを向上させるために活用できる最適化について説明します。

組み込みコンポーネント

組み込みコンポーネントは、一般的なUI最適化の実装の複雑さを抽象化します。これらのコンポーネントは以下のとおりです:

  • 画像: ネイティブの<img>要素に基づいて構築されています。Imageコンポーネントは、遅延読み込みやデバイスサイズに応じた画像の自動リサイズにより、画像のパフォーマンスを最適化します。
  • リンク: ネイティブの<a>タグに基づいて構築されています。Linkコンポーネントは、バックグラウンドでページをプリフェッチすることで、より高速でスムーズなページ遷移を実現します。
  • スクリプト: ネイティブの<script>タグに基づいて構築されています。Scriptコンポーネントは、サードパーティスクリプトの読み込みと実行を制御できます。

メタデータ

メタデータは、検索エンジンがコンテンツをより良く理解するのに役立ち(SEOの向上につながります)、ソーシャルメディアでのコンテンツ表示をカスタマイズできるため、様々なプラットフォームでより魅力的で一貫したユーザーエクスペリエンスを作成するのに役立ちます。

Next.jsのMetadata APIを使用すると、ページの<head>要素を変更できます。メタデータは2つの方法で設定できます:

  • 設定ベースのメタデータ: layout.jsまたはpage.jsファイルで静的なmetadataオブジェクト、または動的なgenerateMetadata関数をエクスポートします。
  • ファイルベースのメタデータ: ルートセグメントに静的または動的に生成された特殊なファイルを追加します。

さらに、imageResponseコンストラクタを使用してJSXとCSSで動的なOpen Graph画像を生成できます。

静的アセット

Next.jsの/publicフォルダーは、画像、フォント、その他のファイルなどの静的アセットを提供するために使用できます。/public内のファイルは、CDNプロバイダーによってキャッシュされ、効率的に配信することもできます。

分析とモニタリング

大規模なアプリケーションの場合、Next.jsは一般的な分析およびモニタリングツールと統合されており、アプリケーションのパフォーマンスを理解するのに役立ちます。詳細については、以下を参照してください。 OpenTelemetryInstrumentationガイドを参照してください。

画像

組み込みの`next/image`コンポーネントで画像を最適化します。

ビデオ

Next.jsアプリケーションでビデオを最適化するための推奨事項とベストプラクティス。

フォント

組み込みの`next/font`ローダーでアプリケーションのウェブフォントを最適化します。

メタデータ

Metadata APIを使用して、任意のレイアウトまたはページでメタデータを定義します。

スクリプト

組み込みのScriptコンポーネントでサードパーティスクリプトを最適化します。

パッケージバンドル

アプリケーションのサーバーおよびクライアントバンドルを最適化する方法を学びます。

遅延読み込み

インポートされたライブラリとReactコンポーネントを遅延読み込みして、アプリケーションの読み込みパフォーマンスを向上させます。

分析

Next.js Speed Insightsを使用してページのパフォーマンスを測定および追跡します。

インストゥルメンテーション

Next.jsアプリでサーバー起動時にコードを実行するためのインストゥルメンテーションの使用方法を学びます。

OpenTelemetry

OpenTelemetryでNext.jsアプリをインストゥルメントする方法を学びます。

静的アセット

Next.jsでは、公開ディレクトリ内の画像などの静的ファイルを提供できます。ここではその仕組みについて学ぶことができます。

サードパーティライブラリ

`@next/third-parties`パッケージを使用して、アプリケーション内のサードパーティライブラリのパフォーマンスを最適化します。

メモリ使用量

開発および本番環境でアプリケーションが使用するメモリを最適化します。

ローカル開発

Next.jsを使用してローカル開発環境を最適化する方法を学びます。