技术栈行动指南 · 快照日期:2026年10月23日
Next.js on Cloudflare:就绪度行动指南
采用此技术栈的 3,475 个受测网站在哪些方面做得好、哪些方面存在不足,以及弥补各项差距的 Next.js on Cloudflare 专属操作步骤。
- 已测评网站
- 3,475
- 就绪度指数中位数
- 72/100
- 采用此技术栈的网站档案
- 543
根据首页 HTML 和响应头检测
全部网站:64
排名前 50K 的网站
各维度就绪度
启用
88/100
全部网站 77
加固
60/100
全部网站 55
加速
77/100
全部网站 63
恢复
2/100
全部网站 11
Next.js on Cloudflare 操作指南
按影响程度排列的差距;如有平台专属操作步骤,一并列出。
HSTS 保留至少一年
已观察到 43% · 全部网站 31%
在 HTTPS 响应中发送 Strict-Transport-Security。先设置较短的 max-age(例如 300 秒),确认每个子域名都能通过 HTTPS 正常工作,然后逐步增加至 31536000。只有在所有子域名都使用 HTTPS 时才添加 includeSubDomains。HSTS 预加载是可选项,而且难以撤销;hstspreload.org 本身也不建议默认使用它。
在 Next.js 上:在 next.config.js 的 headers() 选项中为所有路由添加该响应头。
在 Cloudflare 上:在 SSL/TLS > 边缘证书 > HTTP 严格传输安全中启用 HSTS,并逐步提高 max-age。
已发布 security.txt
已观察到 9% · 全部网站 5.5%
按照 RFC 9116 的要求,发布至少包含 Contact 和 Expires 字段的 /.well-known/security.txt,并在其到期前进行审查。
在 Cloudflare 上:Cloudflare 安全中心可以为该区域提供 security.txt 文件。
head 元素中没有阻塞渲染的脚本
已观察到 28% · 全部网站 44%
为需要 DOM 的脚本添加 defer,为分析统计等独立脚本添加 async,或将它们移至 body 末尾。
在 Next.js 上:使用 next/script 组件,并选择合适的加载策略。
CAA 记录限制可签发证书的机构
已观察到 13% · 全部网站 11%
发布 CAA 记录,列出您实际使用的所有 CA,包括您的 CDN 为托管证书使用的 CA。如果您希望接收报告,请添加 iodef 联系方式。
在 Cloudflare 上:Cloudflare 的文档说明了其托管证书需要哪些证书颁发机构;请将这些机构包含在您的 CAA 记录中。
DMARC 策略强制执行隔离或拒收
已观察到 44% · 全部网站 31%
先发布包含 p=none 和报告接收地址的 DMARC,修正所有未通过 SPF 或 DKIM 对齐验证的合法发件方,然后改为隔离,最后改为拒收。
已使用现代图片格式
已观察到 48% · 全部网站 40%
提供 WebP 或 AVIF 图片,并以 JPEG 或 PNG 作为后备格式;可通过图片 CDN 实现,也可在构建时生成两种格式。
在 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 保留至少一年 | 加固 | 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 |
| 到达首页最多经过一次重定向 | 启用 | 98% | 98% | 3,475 |
| 域名服务器分布于不同提供商 | 恢复 | 2.5% | 11% | 3,474 |