WriteMySEO / Blog / The SEO Audit a React or Next.js Site Actually Needs
SEO technology

The SEO Audit a React or Next.js Site Actually Needs

Framework sites fail in framework-specific ways. A checklist for the four failure zones: routing, head management, status codes, and hydration.

Generic SEO audits mostly pass React sites while missing what is actually wrong with them. The crawler-based tools check titles, links, and status codes on whatever HTML they receive — but on a framework site, the interesting failures live in the gap between the server response and the hydrated application: links that are not links, titles set after the fact, 404 pages that return 200, and content that only exists after a client-side fetch.

These failures cluster in four zones. Audit those four deliberately and you will find most of what matters; audit generically and you can miss all of them.

Routing: are your links actually links

Client-side routers intercept navigation, and that creates the first failure class: navigation that works for users but does not exist for crawlers.

Head management: who sets the title, and when

Every framework site has some mechanism writing <title>, meta description, canonical, and robots meta. The audit question is where that mechanism runs.

Status codes: does anything ever 404

HTTP status is decided before JavaScript runs, so a client router cannot set one. The audit here is blunt and effective: request nonsense URLs and watch the wire.

Hydration and rendering: what exists before JavaScript

The core question: how much of the page is in the server HTML, and how much appears only after hydration and client-side fetching?

What to do

Run this sequence per template type, not per page — framework failures are template-level:

  1. Curl the raw HTML for each route type and confirm: correct title, description, canonical, robots meta, and the primary content, all present without JavaScript.
  2. Curl a garbage URL and a deleted-content URL and confirm real 404/410 status codes on the wire.
  3. Grep the rendered DOM for anchors — every navigation path a crawler should follow exists as <a href>.
  4. Diff raw versus rendered HTML and list what only exists post-hydration; move anything indexing-critical into the server render.
  5. Verify redirects return 301/308 via curl, not a 200 with a client hop.
  6. Fix hydration warnings in development builds before they become silent re-renders in production.

None of this needs enterprise tooling — curl, view-source, and the framework's own dev warnings cover most of it. What it needs is auditing the server response and the hydrated app as two separate artifacts, because on a framework site, they are.

JavaScript SEONext.jsReacttechnical audit

WriteMySEO produces marketing content, not legal, medical, financial, or compliance advice. Figures cited reflect publicly reported industry data at time of writing and shift over time.

Get started

We write this well about your industry, every month.

AI-drafted, human-reviewed SEO content on a flat subscription. Blog posts, metadata, schema, and internal links, shipped on a monthly rhythm.

See plans

More from the blog