Skip to content

Changes

https://nextjs.org
Compared to previous audit · 4 weeks ago View previous audit

Madrid, Spain Santa Clara, United States

These audits ran from different locations. Timing metrics (TTFB, DNS, TLS) may reflect network path differences rather than site changes.

24
New issues
18
Resolved
20
score changes
CategoryPreviousCurrentChange
CompositeB (83)B (82) -1.000
PerformanceB (86)B (89) +3.000
SecurityB (82)B (85) +3.000
AccessibilityD (66)C (75) +9.000
SEOB (89)C (76) -13.000
InfrastructureA (90)B (88) -2.000
ComplianceB (87)D (63) -24.000
ContentB (81)C (73) -8.000
SustainabilityA (91)A (93) +2.000
MetricPreviousCurrentChange
Performance 69005900 -1000
Accessibility 100009600 -400
Best Practices 96009200 -400
SEO 1000010000
PWA 00
FCP 1.53 s3.08 s +1.55 s
LCP 4.83 s5.82 s +989 ms
TBT 497 ms422 ms -75 ms
CLS 0.0000.000
TTFB 190 ms173 ms -17 ms
DNS 8 ms33 ms +25 ms
TLS 11 ms37 ms +26 ms
Connect 3 ms1 ms -3 ms
Total 199 ms179 ms -21 ms

† Timing metrics may vary by worker location and do not necessarily indicate site changes.

Projected vs. Actual

Previous
B 83
Projected
A 94
Actual
B 82
Fell short of projection
18 issues resolved since last audit
38 issues remaining
Resolving remaining issues could reach A

Estimate — actual results may vary

CRITICAL Page has only 18 words — nearly empty seo
WARNING Skip navigation link is missing (WCAG 2.4.1) accessibility
WARNING No headings found accessibility
WARNING https://nextjs.org/: 976ms CPU time performance
WARNING JavaScript is 570 KB — consider code splitting or lazy loading performance
WARNING https://nextjs.org/_next/static/chunks/0a1x1u7w7w_...: 23 KB unused (32%) performance
WARNING Trackers detected but no privacy policy found compliance
WARNING Unattributable: 338ms CPU time performance
WARNING Thin content — only 18 words seo
WARNING Registrar lock is NOT enabled infrastructure
WARNING No privacy policy link detected compliance
WARNING No <nav> landmark found accessibility
WARNING https://nextjs.org/_next/static/chunks/0la2krl14st...: 28 KB unused (58%) performance
WARNING Privacy Policy not detected compliance
WARNING https://nextjs.org/_next/static/chunks/3u6nxjif50j...: 35 KB unused (99%) performance
WARNING Dead-end page — no outgoing internal links seo
WARNING Trackers detected but no cookie policy found compliance
WARNING No Open Graph meta tags found content
WARNING Title is only 26 characters — consider expanding seo
WARNING Terms of Service not detected compliance
WARNING 1 link(s) open in new tab without warning accessibility
WARNING https://nextjs.org/_next/static/chunks/0a1x1u7w7w_...: 1589ms CPU time performance
WARNING No internal links found seo
WARNING HTTP→HTTPS redirect uses 302 instead of 301 infrastructure
WARNING https://nextjs.org/: 1586ms CPU time performance
WARNING 1 field(s) would benefit from inputmode attribute accessibility
WARNING https://nextjs.org/_next/static/chunks/40o-_3kv1gk...: 298ms CPU time performance
WARNING Multiple <main> landmarks (2 found) accessibility
WARNING 1 field(s) missing recommended autocomplete attribute accessibility
WARNING 2 heading(s) are over 120 characters -- likely a misformatted paragraph accessibility
WARNING https://nextjs.org/_next/static/chunks/3u5w_3-w5-c...: 34 KB unused (99%) performance
WARNING https://nextjs.org/_next/static/chunks/0jzm94qus19...: 2037ms CPU time performance
WARNING Skip link target(s) don't exist on page: #geist-skip-nav accessibility
WARNING 28 link(s) open in new tab without warning accessibility
WARNING Unattributable: 691ms CPU time performance
WARNING https://nextjs.org/_next/static/chunks/40o-_3kv1gk...: 27 KB unused (58%) performance
WARNING HTTP→HTTPS redirect is not permanent infrastructure
WARNING JavaScript is 515 KB — consider code splitting or lazy loading performance
WARNING https://nextjs.org/_next/static/chunks/0q8fapokcqh...: 1063ms CPU time performance
WARNING https://nextjs.org/_next/static/chunks/0jzm94qus19...: 23 KB unused (32%) performance
WARNING Page weight 1.0 MB exceeds 1 MB target by 9 KB performance
WARNING 60% of images have non-descriptive filenames seo
CRITICAL 'unsafe-inline' found in script source security
CRITICAL 'unsafe-eval' found in script source security
WARNING Permissions-Policy header is missing security
WARNING frame-ancestors directive is missing security
WARNING No meta description tag found seo
WARNING base-uri directive is missing security
WARNING Cross-Origin-Embedder-Policy header is missing security
WARNING X-Powered-By header reveals technology stack security
WARNING form-action directive is missing security
WARNING Referrer-Policy has a weak value security
WARNING No accessibility statement detected compliance
WARNING No canonical tag found seo
WARNING GDPR Article 13 disclosure coverage: 0 / 8 categories compliance
WARNING Cross-Origin-Opener-Policy header is missing security
content-security-policy
default-src 'self' nextjs.org *.nextjs.org vercel.com *.vercel.com *.vercel.s... default-src 'self' nextjs.org *.nextjs.org vercel.com *.vercel.com *.vercel.s...
x-vercel-id
sfo1::pdx1::ltzdr-1775320973134-f3bdad301a15 cdg1::pdx1::cwlwp-1778262865696-bcc646f673a5
link
</_next/static/media/797e433ab948586e.p.3f30ggp2vw8zj.woff2?dpl=dpl_76REKkd1Q... </_next/static/media/797e433ab948586e.p.3f30ggp2vw8zj.woff2?dpl=dpl_4QWkBNARj...

17 headers unchanged

Next.js App Router JavaScript frameworks
Turbopack Development
Algolia Search engines
Open Graph Miscellaneous
Priority Hints Performance
Tailwind CSS Framework
Next.js v16.2.1-canary.17 v

7 technologies unchanged

Looking ahead

+13 pts
B (82) Could reach A (95)
SEO +20Compliance +17Security +15Accessibility +13Performance +11Infrastructure +8Content +4

Estimate — actual results may vary (38 issues to fix)

Website improvement report — Nextjs

April 4, 2026 → May 8, 2026

B B 83 → 82 -1 pts

18

Resolved

24

New issues

14

Still remaining

Financial summary

Investment delivered

$4,125 in development time

Investment remaining

$8,192 to complete the remaining items

Ongoing risk

$0/month in ongoing exposure

Figures are estimates based on local developer hourly rate, industry CPC, and regulatory fine ranges.

Performance by category

MetricBeforeAfterChange
Overall score83 (B)82 (B)-1
Performance86 (B)89 (B)+3
Security82 (B)85 (B)+3
Accessibility66 (D)75 (C)+9
SEO89 (B)76 (C)-13
Infrastructure90 (A)88 (B)-2
Compliance87 (B)63 (D)-24
Content81 (B)73 (C)-8
Sustainability91 (A)93 (A)+2

Resolved (18)

  • https://nextjs.org/: 1586ms CPU time (Performance)

    → Page loads faster for users

  • 1 field(s) would benefit from inputmode attribute (Accessibility)

    → Improved usability for assistive technology users

  • https://nextjs.org/_next/static/chunks/40o-_3kv1gk...: 298ms CPU time (Performance)

    → Page loads faster for users

  • Multiple <main> landmarks (2 found) (Accessibility)

    → Improved usability for assistive technology users

  • 1 field(s) missing recommended autocomplete attribute (Accessibility)

    → Improved usability for assistive technology users

  • 2 heading(s) are over 120 characters -- likely a misformatted paragraph (Accessibility)

    → Improved usability for assistive technology users

  • https://nextjs.org/_next/static/chunks/3u5w_3-w5-c...: 34 KB unused (99%) (Performance)

    → Page loads faster for users

  • https://nextjs.org/_next/static/chunks/0jzm94qus19...: 2037ms CPU time (Performance)

    → Page loads faster for users

  • Skip link target(s) don't exist on page: #geist-skip-nav (Accessibility)

    → Improved usability for assistive technology users

  • 28 link(s) open in new tab without warning (Accessibility)

    → Improved usability for assistive technology users

  • Unattributable: 691ms CPU time (Performance)

    → Page loads faster for users

  • https://nextjs.org/_next/static/chunks/40o-_3kv1gk...: 27 KB unused (58%) (Performance)

    → Page loads faster for users

  • HTTP→HTTPS redirect is not permanent (Infrastructure)

    → More reliable delivery

  • JavaScript is 515 KB — consider code splitting or lazy loading (Performance)

    → Page loads faster for users

  • https://nextjs.org/_next/static/chunks/0q8fapokcqh...: 1063ms CPU time (Performance)

    → Page loads faster for users

…and 3 more resolved issue(s)

Recommended next steps (38)

  • Sprint 3

    Page has only 18 words — nearly empty (SEO)

  • Sprint 3

    'unsafe-inline' found in script source (Security)

  • Sprint 3

    'unsafe-eval' found in script source (Security)

  • Sprint 1

    Skip navigation link is missing (WCAG 2.4.1) (Accessibility)

  • Sprint 2

    No headings found (Accessibility)

  • Sprint 1

    https://nextjs.org/: 976ms CPU time (Performance)

  • Sprint 3

    JavaScript is 570 KB — consider code splitting or lazy loading (Performance)

  • Sprint 3

    https://nextjs.org/_next/static/chunks/0a1x1u7w7w_...: 23 KB unused (32%) (Performance)

  • Sprint 2

    Trackers detected but no privacy policy found (Compliance)

  • Sprint 1

    Unattributable: 338ms CPU time (Performance)

  • Sprint 3

    Thin content — only 18 words (SEO)

  • Sprint 1

    Registrar lock is NOT enabled (Infrastructure)

  • Sprint 2

    No privacy policy link detected (Compliance)

  • Sprint 1

    No <nav> landmark found (Accessibility)

  • Sprint 3

    https://nextjs.org/_next/static/chunks/0la2krl14st...: 28 KB unused (58%) (Performance)

…and 23 more recommended item(s)

Send Feedback