How to Fix Site Audit Findings in Next.js
Site audit reports on Next.js builds typically surface findings spanning rendering, schema, performance, and metadata. This guide covers Next.js-specific patterns. Pair with site audit guide.
Step-by-step: How to fix Next.js site audit findings
- Triage by impact. Critical: 5xx errors, content not rendering server-side (SSR failure), missing schema. Major: 4xx errors, hydration mismatches, missing meta. Moderate: thin content, missing alt text. Minor: long URLs.
- Fix critical: SSR not rendering. If audit flags 'content not in initial HTML' — your rendering strategy is wrong. Verify SSR/SSG is enabled, not CSR. Check for accidental 'use client' on data-fetching pages.
- Fix critical: 5xx errors. Check error monitoring (Sentry, Vercel logs) for stack traces. Common: env vars missing in production, server-only imports in client code, database timeouts.
- Fix major: missing schema. Build Article, Product, FAQPage schemas as needed. Detailed in 'Build Schema in Next.js'.
- Fix major: missing meta tags. Use Metadata API in App Router or next-seo in Pages Router. Set metadata on every page; don't rely on layout inheritance for unique values.
- Fix moderate: thin content. Pages with under 300 words and no unique value. Either: expand content, consolidate similar pages, or noindex (low-value system pages).
- Re-audit. After fixing batches, re-run audit. Findings should drop substantially. Set quarterly re-audits.
Frequently Asked Questions
Next.js audit shows 'content not server-rendered' — what now?
Your page is either CSR (Client Component without SSR data fetching) or a SPA pattern. Fix: move data fetching to Server Component or use generateMetadata + Server Component for rendering. Verify with disable-JS test.
How long to work through a Next.js site audit?
Small site (<50 pages): 4-8 hours. Medium (50-500 pages): 1-3 weeks part-time. Large (500+ pages): 1-2 months. Critical and major findings first — they deliver most of the SEO benefit.
Best Next.js audit tools?
Screaming Frog (with JS rendering) — comprehensive technical crawl. Lumar — enterprise. Our Site Audit — Next.js-aware. Lighthouse CI — automated in pipeline. Most projects use Screaming Frog quarterly + Lighthouse CI continuously.
Why do Next.js audits often show hydration warnings?
Common in active development. Causes: Date.now() in render, browser-only APIs (window) in initial render, conditional rendering based on client-only state. Each causes server/client HTML mismatch. Fix by moving non-deterministic logic to useEffect.
How often should I re-audit Next.js?
Quarterly minimum. After major releases (new features, refactors). Active codebases drift more than static — increase frequency to monthly if shipping fast.