スタック改善ガイド · 2026年10月23日時点のスナップショット
Next.js on Vercel:準備状況改善ガイド
このスタックで測定した2,044サイトが適切に対応している点、不足している点、そして各不足を解消するためのNext.js on Vercel固有の手順。
- 測定対象サイト
- 2,044
- 準備状況指数の中央値
- 73/100
- このスタックのプロファイル
- 149
ホームページのHTMLとヘッダーから検出
全サイト:64
上位5万サイト
レーン別準備状況
有効化
85/100
全サイト 77
強化
69/100
全サイト 55
高速化
72/100
全サイト 63
復旧
5/100
全サイト 11
Next.js on Vercelの実践ガイド
影響の大きい順に並べた不足項目と、該当する場合はプラットフォーム固有の対応手順。
head要素内にレンダリングをブロックするスクリプトなし
23%で確認 · 全サイト 44%
DOM を必要とするスクリプトには defer を、アクセス解析などの独立したスクリプトには async を追加するか、body の末尾に移動してください。
Next.jsの場合:適切な読み込み戦略を指定してnext/scriptコンポーネントを使用します。
security.txtを公開
9.4%で確認 · 全サイト 5.5%
RFC 9116の要件に従い、少なくともContactとExpiresフィールドを含む/.well-known/security.txtを公開し、有効期限が切れる前に内容を確認してください。
HTTP/3を通知済み
14%で確認 · 全サイト 36%
CDNでHTTP/3を有効にしてください。ブラウザーは自動的にHTTP/2にフォールバックするため、リスクは低いです。
最新の画像形式を使用
43%で確認 · 全サイト 40%
画像CDNを使用するか、ビルド時に両方の形式を生成して、JPEGまたはPNGをフォールバックとして用意したうえでWebPまたはAVIFを配信してください。
Next.jsの場合:next/imageコンポーネントは、最適化された形式を自動的に配信します。
Vercelの場合:Vercel Image Optimizationは最新の形式を配信します。
DMARCポリシーで隔離または拒否を強制
47%で確認 · 全サイト 31%
まずp=noneと報告先アドレスを設定したDMARCを公開し、SPFまたはDKIMのアライメントに失敗する正当な送信元を修正してから、隔離へ移行し、最後に拒否へ移行してください。
DNSSEC署名済み
10%で確認 · 全サイト 8.1%
DNSプロバイダーでDNSSECを有効化し、レジストラでDSレコードを追加してください。プロバイダーの移行は慎重に計画してください。古いDSレコードが残っていると、ドメインの名前解決に失敗することがあります。
コンテンツセキュリティポリシーあり
34%で確認 · 全サイト 31%
まずContent-Security-Policy-Report-Onlyを使用して、どの機能が正常に動作しなくなるかを確認し、数週間かけてポリシーを厳格化してから適用してください。
Next.jsの場合:Next.jsは、ミドルウェアを使用したnonceベースのCSPを文書化しています。
フレームへの埋め込みを制限
46%で確認 · 全サイト 49%
Content-Security-Policy: frame-ancestors 'self'(または信頼できるオリジンのリスト)を送信してください。X-Frame-Options: SAMEORIGINは古いブラウザーに対応します。
Next.jsでは: next.config.jsのheaders()に追加してください。
Next.js on Vercelサイトが先行している点
- HSTSを少なくとも1年間保持97%で確認全サイト 31%
- 静的ファイルを30日以上キャッシュ確認された割合 98%全サイト 50%
- CAAレコードで証明書を発行できる認証局を制限確認された割合 49%全サイト 11%
- 画面外の画像を遅延読み込み確認された割合 95%全サイト 61%
Next.js on Vercelに関する全31項目のチェック
| チェック | レーン | 確認済み | 全サイト | 測定済み |
|---|---|---|---|---|
| HTTPリクエストがHTTPSに移行 | 強化 | >99% | 91% | 1,945 |
| HSTSを1年以上維持 | 強化 | 97% | 31% | 2,044 |
| TLS 1.3をネゴシエーション済み | 強化 | >99% | 92% | 2,024 |
| 証明書の残存有効期間が14日超 | 強化 | >99% | >99% | 2,024 |
| 証明書の有効期間が100日以下 | 強化 | 93% | 75% | 2,024 |
| CAAレコードで証明書の発行者を制限 | 強化 | 49% | 11% | 2,044 |
| DNSSEC署名済み | 強化 | 10% | 8.1% | 2,044 |
| security.txtを公開 | 強化 | 9.4% | 5.5% | 1,965 |
| DMARCポリシーで隔離または拒否を強制 | 強化 | 47% | 31% | 2,044 |
| X-Content-Type-Options: nosniff | 強化 | 40% | 48% | 2,044 |
| フレームへの埋め込みを制限 | 強化 | 46% | 49% | 2,044 |
| コンテンツセキュリティポリシーあり | 強化 | 34% | 31% | 2,044 |
| Referrer-Policyを設定済み | 強化 | 33% | 23% | 2,044 |
| HTTP/2をネゴシエーション済み | 高速化 | >99% | 89% | 2,024 |
| HTTP/3を通知済み | 高速化 | 14% | 36% | 2,044 |
| HTMLを圧縮済み | 高速化 | >99% | 93% | 2,044 |
| 静的ファイルを30日以上キャッシュ | 高速化 | 98% | 50% | 1,972 |
| 最新の画像形式を使用 | 高速化 | 43% | 40% | 1,752 |
| 画面外の画像を遅延読み込み | 高速化 | 95% | 61% | 1,641 |
| head要素内にレンダリングをブロックするスクリプトなし | 高速化 | 23% | 44% | 2,044 |
| robots.txtを公開 | 有効化 | 91% | 79% | 1,983 |
| XMLサイトマップを検出可能 | 有効化 | 87% | 73% | 2,037 |
| IPv6経由でアクセス可能 | 有効化 | 23% | 44% | 2,044 |
| 正規URLを宣言済み | 有効化 | 77% | 70% | 2,044 |
| メタディスクリプションを記述済み | 有効化 | 96% | 82% | 2,044 |
| モバイル用ビューポートを設定済み | 有効化 | 100% | 96% | 2,044 |
| 構造化データあり | 有効化 | 60% | 53% | 2,044 |
| ソーシャルプレビュー画像を設定済み | 有効化 | 73% | 55% | 2,044 |
| ページの言語を宣言済み | 有効化 | 98% | 91% | 2,044 |
| ホームページまでのリダイレクトが最大1回 | 有効化 | 98% | 98% | 2,044 |
| ネームサーバーを複数のプロバイダーに分散 | 復旧 | 5.2% | 11% | 2,042 |