最適化
Next.jsには、アプリケーションの速度とCore Web Vitalsを向上させるための様々な組み込み最適化機能が備わっています。このガイドでは、ユーザーエクスペリエンスを向上させるために活用できる最適化手法について説明します。
組み込みコンポーネント
組み込みコンポーネントは、一般的なUI最適化の実装の複雑さを抽象化します。これらのコンポーネントは以下の通りです:
- Image: ネイティブの
<img>
要素を基に構築されています。Imageコンポーネントは、遅延読み込みやデバイスサイズに基づいた自動リサイズにより、画像のパフォーマンスを最適化します。 - Link: ネイティブの
<a>
タグを基に構築されています。Linkコンポーネントは、より高速でスムーズなページ遷移のために、バックグラウンドでページをプリフェッチします。 - Script: ネイティブの
<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およびInstrumentationガイドをご覧ください。
画像
組み込みの `next/image` コンポーネントを使用して画像を最適化します。
フォント
組み込みの `next/font` ローダーを使用してアプリケーションのウェブフォントを最適化します。
スクリプト
組み込みの Script コンポーネントでサードパーティスクリプトを最適化します。
メタデータ
メタデータAPIを使用してレイアウトやページでメタデータを定義
静的アセット
Next.jsではpublicディレクトリ内の画像などの静的ファイルを提供できます。その仕組みについて学びましょう。
遅延読み込み (Lazy Loading)
インポートしたライブラリやReactコンポーネントを遅延読み込みすることで、アプリケーションの読み込みパフォーマンスを向上させます。
アナリティクス
Next.js Speed Insights を使用してページパフォーマンスを測定・追跡
OpenTelemetry
Next.jsアプリケーションをOpenTelemetryで計装する方法を学びます。
インストゥルメンテーション
Next.jsアプリでサーバー起動時にコードを実行するためのインストゥルメンテーションの使用方法を学びます