スタック改善ガイド · 2026年10月23日時点のスナップショット
Next.js:準備状況改善ガイド
このプラットフォームまたはフレームワークを使用する測定対象の11,061サイトで適切に対応できている点、不十分な点、そして各不足を解消するためのNext.js固有の手順。
- 測定対象サイト
- 11,061
- 準備状況指数の中央値
- 70/100
- このスタックのプロファイル
- 1,842
ホームページのHTMLとヘッダーから検出
全サイト:64
上位5万サイト
レーン別準備状況
有効化
84/100
全サイト 77
強化
61/100
全サイト 55
高速化
72/100
全サイト 63
復旧
7/100
全サイト 11
Next.jsの実践ガイド
影響の大きい順に並べた不足項目と、該当する場合はプラットフォーム固有の対応手順。
security.txtを公開
7.4%で確認 · 全サイト 5.5%
RFC 9116の要件に従い、少なくともContactとExpiresフィールドを含む/.well-known/security.txtを公開し、有効期限が切れる前に内容を確認してください。
head要素内にレンダリングをブロックするスクリプトなし
32%で確認 · 全サイト 44%
DOM を必要とするスクリプトには defer を、アクセス解析などの独立したスクリプトには async を追加するか、body の末尾に移動してください。
Next.jsの場合:適切な読み込み戦略を指定してnext/scriptコンポーネントを使用します。
最新の画像形式を使用
44%で確認 · 全サイト 40%
画像CDNを使用するか、ビルド時に両方の形式を生成して、JPEGまたはPNGをフォールバックとして用意したうえでWebPまたはAVIFを配信してください。
Next.jsの場合:next/imageコンポーネントは、最適化された形式を自動的に配信します。
CAAレコードで証明書の発行者を制限
18%で確認 · 全サイト 11%
CDNがマネージド証明書に使用する認証局も含め、実際に使用するすべての認証局を指定したCAAレコードを公開してください。報告を受け取りたい場合は、iodefの連絡先を追加してください。
HSTSを1年以上維持
53%で確認 · 全サイト 31%
HTTPS レスポンスで Strict-Transport-Security を送信してください。短い max-age(例えば 300 秒)から始め、すべてのサブドメインが HTTPS で動作することを確認してから、段階的に 31536000 まで引き上げてください。includeSubDomains は、すべてのサブドメインが HTTPS に対応している場合にのみ追加してください。HSTS のプリロードは任意で、取り消しが困難です。hstspreload.org 自体も、標準では推奨していません。
Next.jsの場合:next.config.jsのheaders()オプションで、すべてのルートにヘッダーを追加します。
DMARCポリシーで隔離または拒否を強制
46%で確認 · 全サイト 31%
まずp=noneと報告先アドレスを設定したDMARCを公開し、SPFまたはDKIMのアライメントに失敗する正当な送信元を修正してから、隔離へ移行し、最後に拒否へ移行してください。
DNSSEC署名済み
8%で確認 · 全サイト 8.1%
DNSプロバイダーでDNSSECを有効化し、レジストラでDSレコードを追加してください。プロバイダーの移行は慎重に計画してください。古いDSレコードが残っていると、ドメインの名前解決に失敗することがあります。
HTTP/3を通知済み
34%で確認 · 全サイト 36%
CDNでHTTP/3を有効にしてください。ブラウザーは自動的にHTTP/2にフォールバックするため、リスクは低いです。
Next.jsサイトが先行している点
- 静的ファイルを30日以上キャッシュ確認された割合 84%全サイト 50%
- 画面外の画像を遅延読み込み確認された割合 91%全サイト 61%
- HSTSを少なくとも1年間保持53%で確認全サイト 31%
- DMARCポリシーで隔離または拒否を強制確認された割合 46%全サイト 31%
Next.jsに関する全31項目のチェック
| チェック | レーン | 確認済み | 全サイト | 測定済み |
|---|---|---|---|---|
| HTTPリクエストがHTTPSに移行 | 強化 | 95% | 91% | 10,301 |
| HSTSを1年以上維持 | 強化 | 53% | 31% | 11,061 |
| TLS 1.3をネゴシエーション済み | 強化 | 95% | 92% | 10,908 |
| 証明書の残存有効期間が14日超 | 強化 | >99% | >99% | 10,908 |
| 証明書の有効期間が100日以下 | 強化 | 64% | 75% | 10,908 |
| CAAレコードで証明書の発行者を制限 | 強化 | 18% | 11% | 11,051 |
| DNSSEC署名済み | 強化 | 8% | 8.1% | 11,053 |
| security.txtを公開 | 強化 | 7.4% | 5.5% | 10,626 |
| DMARCポリシーで隔離または拒否を強制 | 強化 | 46% | 31% | 11,061 |
| X-Content-Type-Options: nosniff | 強化 | 47% | 48% | 11,061 |
| フレームへの埋め込みを制限 | 強化 | 50% | 49% | 11,061 |
| コンテンツセキュリティポリシーあり | 強化 | 35% | 31% | 11,061 |
| Referrer-Policyを設定済み | 強化 | 35% | 23% | 11,061 |
| HTTP/2をネゴシエーション済み | 高速化 | 94% | 89% | 10,908 |
| HTTP/3を通知済み | 高速化 | 34% | 36% | 11,061 |
| HTMLを圧縮済み | 高速化 | 99% | 93% | 11,061 |
| 静的ファイルを30日以上キャッシュ | 高速化 | 84% | 50% | 10,311 |
| 最新の画像形式を使用 | 高速化 | 44% | 40% | 9,522 |
| 画面外の画像を遅延読み込み | 高速化 | 91% | 61% | 8,938 |
| head要素内にレンダリングをブロックするスクリプトなし | 高速化 | 32% | 44% | 11,061 |
| robots.txtを公開 | 有効化 | 90% | 79% | 10,666 |
| XMLサイトマップを検出可能 | 有効化 | 84% | 73% | 10,960 |
| IPv6経由でアクセス可能 | 有効化 | 42% | 44% | 11,058 |
| 正規URLを宣言済み | 有効化 | 76% | 70% | 11,061 |
| メタディスクリプションを記述済み | 有効化 | 95% | 82% | 11,061 |
| モバイル用ビューポートを設定済み | 有効化 | >99% | 96% | 11,061 |
| 構造化データあり | 有効化 | 56% | 53% | 11,061 |
| ソーシャルプレビュー画像を設定済み | 有効化 | 68% | 55% | 11,061 |
| ページの言語を宣言済み | 有効化 | 96% | 91% | 11,061 |
| ホームページまでのリダイレクトが最大1回 | 有効化 | 97% | 98% | 11,061 |
| ネームサーバーを複数のプロバイダーに分散 | 復旧 | 7% | 11% | 11,041 |