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