STATUS IS UPWEBSITE READINESS

Stack playbook · Snapshot 23 October 2026

Next.js: readiness playbook

What 2,897 measured sites on this platform or framework get right, where they fall short, and the Next.js-specific steps that close each gap.

Sites measured
2,897

detected from homepage HTML and headers

Median readiness index
70/100

all sites: 64

Profiles on this stack
1,835

top-50K sites

Readiness by lane

Enable

86/100

All sites 77

Harden

61/100

All sites 56

Accelerate

72/100

All sites 64

Recover

8/100

All sites 10

The Next.js playbook

Gaps ordered by impact, with the platform-specific step where one exists.

  1. security.txt published

    10% observed · all sites 7.1%

    Publish /.well-known/security.txt with at least Contact and Expires fields, as RFC 9116 requires, and review it before it expires.

  2. HSTS kept for at least a year

    51% observed · all sites 34%

    Send Strict-Transport-Security on HTTPS responses. Start with a short max-age (for example 300 seconds), confirm every subdomain works over HTTPS, then raise it in steps to 31536000. Add includeSubDomains only when all subdomains are HTTPS. HSTS preload is optional and hard to undo; hstspreload.org itself does not recommend it by default.

    On Next.js: Add the header in the headers() option of next.config.js for all routes.

  3. CAA records limit who can issue certificates

    17% observed · all sites 13%

    Publish CAA records naming every CA you actually use, including the CAs your CDN uses for managed certificates. Add an iodef contact if you want reports.

  4. No render-blocking scripts in <head>

    36% observed · all sites 48%

    Add defer to scripts that need the DOM, async to independent ones such as analytics, or move them to the end of the body.

    On Next.js: Use the next/script component with an appropriate loading strategy.

  5. Modern image formats in use

    47% observed · all sites 40%

    Serve WebP or AVIF with a JPEG or PNG fallback, either through an image CDN or by generating both formats at build time.

    On Next.js: The next/image component serves optimized formats automatically.

  6. DNSSEC signed

    7.4% observed · all sites 8%

    Enable DNSSEC at your DNS provider, then add the DS record at your registrar. Plan provider moves carefully: a stale DS record can make the domain fail to resolve.

  7. DMARC policy enforces quarantine or reject

    55% observed · all sites 39%

    Publish DMARC with p=none and a reporting address first, fix any legitimate senders that fail SPF or DKIM alignment, then move to quarantine and finally reject.

  8. HTTP/3 advertised

    35% observed · all sites 37%

    Turn on HTTP/3 at your CDN. Browsers fall back to HTTP/2 automatically, so the risk is low.

Where Next.js sites lead

  • Static files cached for 30 days or more79% observedall sites 51%
  • Offscreen images lazy-loaded90% observedall sites 62%
  • robots.txt published93% observedall sites 76%
  • HSTS kept for at least a year51% observedall sites 34%

All 31 checks on Next.js

CheckLaneObservedAll sitesMeasured
HTTP requests move to HTTPSHarden95%91%2,721
HSTS kept for at least a yearHarden51%34%2,897
TLS 1.3 negotiatedHarden95%91%2,887
Certificate has more than 14 days leftHarden>99%99%2,887
Certificate lifetime of 100 days or lessHarden53%67%2,887
CAA records limit who can issue certificatesHarden17%13%2,892
DNSSEC signedHarden7.4%8%2,894
security.txt publishedHarden10%7.1%2,844
DMARC policy enforces quarantine or rejectHarden55%39%2,897
X-Content-Type-Options: nosniffHarden48%48%2,897
Framing restrictedHarden53%51%2,897
Content Security Policy presentHarden39%32%2,897
Referrer-Policy setHarden34%24%2,897
HTTP/2 negotiatedAccelerate95%90%2,887
HTTP/3 advertisedAccelerate35%37%2,897
HTML compressedAccelerate98%93%2,897
Static files cached for 30 days or moreAccelerate79%51%2,645
Modern image formats in useAccelerate47%40%2,547
Offscreen images lazy-loadedAccelerate90%62%2,408
No render-blocking scripts in <head>Accelerate36%48%2,897
robots.txt publishedEnable93%76%2,806
XML sitemap discoverableEnable85%70%2,882
Reachable over IPv6Enable44%48%2,894
Canonical URL declaredEnable81%68%2,897
Meta description writtenEnable95%84%2,897
Mobile viewport configuredEnable>99%94%2,897
Structured data presentEnable62%51%2,897
Social preview image setEnable69%57%2,897
Page language declaredEnable96%90%2,897
At most one redirect to the homepageEnable97%98%2,897
Nameservers spread across providersRecover7.5%10%2,884

High-readiness Next.js sites

Related