Skip to content

Basics · Vite + React

My 404 page returns a 200 status in Vite + React

Search engines index these as real pages, so every mistyped or outdated link becomes a thin duplicate in the index. It also hides genuine routing bugs, because a broken link looks like a working one to every automated check.

The fix for Vite + React

13x detects your framework from the response and hands you this version rather than the generic one — below 50% confidence it hedges and gives you the generic one instead.

An SPA with a rewrite-everything-to-index.html rule cannot return a 404, because the server does not know which client routes exist.

Options, in order of robustness: prerender your routes at build time; move to a framework with server-side routing; or, at minimum, add <meta name="robots" content="noindex"> from your client-side 404 component so bad URLs do not get indexed.

On a different stack? The general version of this fix explains what 13x checks and why it matters, without assuming a framework.

Check your Vite + React site

113 deterministic checks against your live URL, in about 30 seconds. Framework detected from the response, so every fix comes back in the form your stack actually uses.

No signup. Results in 30 seconds.

The same fix, other stacks