最適化
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は人気のあるアナリティクスおよびモニタリングツールと統合されており、アプリケーションのパフォーマンスを理解するのに役立ちます。詳細はOpenTelemetryおよびインストルメンテーションガイドをご覧ください。
画像
組み込みの `next/image` コンポーネントを使用して画像を最適化します。
動画
Next.jsアプリケーションで動画を最適化するための推奨事項とベストプラクティス
フォント
組み込みの `next/font` ローダーを使用してアプリケーションのウェブフォントを最適化します。
メタデータ
メタデータ API を使用してレイアウトやページでメタデータを定義
スクリプト
組み込みのScriptコンポーネントでサードパーティスクリプトを最適化します。
バンドルアナライザー
@next/bundle-analyzer プラグインを使用してJavaScriptバンドルのサイズを分析します。
遅延読み込み (Lazy Loading)
ライブラリやReactコンポーネントの遅延読み込みにより、アプリケーションの読み込みパフォーマンスを向上させます。
アナリティクス
Next.js Speed Insights を使用してページパフォーマンスを測定・追跡
インストルメンテーション
Next.jsアプリケーションでサーバー起動時にコードを実行するためのインストルメンテーションの使用方法を学びます
OpenTelemetry
Next.jsアプリケーションをOpenTelemetryで計装する方法を学びます。
静的アセット
Next.jsではpublicディレクトリ内の画像などの静的ファイルを提供できます。その仕組みについて学びましょう。
サードパーティライブラリ
`@next/third-parties` パッケージを使用してアプリケーション内のサードパーティライブラリのパフォーマンスを最適化
メモリ使用量
開発環境と本番環境におけるアプリケーションのメモリ使用量を最適化します。