Skip to content

Custom 404 page

lowseo-custom-404reviewed

A 404 page has one job beyond apologising: return the right status code and offer a way back. Why a 200 on a missing page is the real problem.

What it is

This check requests a path that cannot exist — a generated one, so it is not something a site could special-case — and looks at two things: the status code that comes back, and how much content came with it. A response that is not 404, or is under a couple of hundred bytes, reads as a server default rather than a page anyone designed.

The size heuristic is deliberately crude and worth naming as such: it distinguishes a bare "Not Found" from a real page, not a good 404 page from a bad one.

Why it matters

The status code is the part that has consequences beyond the visitor. A missing page that answers 200 with "nothing here" is a soft 404: search engines see a successful response, index the URL as real content, and every mistyped or dead link on the internet becomes a thin page on your site.

The design is the part that matters to the person. Someone reaching a 404 followed a link that used to work or typed something slightly wrong; a page offering search and a route back into the site keeps them, and a bare server error does not.

How to fix it

nginx
error_page 404 /404.html;
location = /404.html {
  internal;
}
.htaccess
ErrorDocument 404 /404.html
app/not-found.tsx
export default function NotFound() {
  return <h1>Page not found</h1>;
}
_redirects
/*  /404.html  404

Related checks

4
mediumBroken linksThis check takes the links found on the scanned page and requests each one, preferring a HEAD request and falling back to GET for servers that refuse it. Anything answering 400 or above, or not answering inside the timeout, is reported with the status it returned.lowrobots.txtrobots.txt is a plain-text file at the root of a site — /robots.txt, never anywhere else — listing which paths crawlers may and may not fetch. It is a convention that well-behaved crawlers follow voluntarily; it is not an access control, and it does not stop anyone determined from reading a page.mediumwww and non-www canonicalizationThis check takes the host you entered, works out its counterpart — adding www. or removing it — and requests that. If the counterpart answers without redirecting to the host you entered, both are serving the site independently.highMeta robots noindexThe meta robots tag — <meta name="robots" content="..."> — gives per-page instructions to crawlers, most commonly noindex (don't show this page in search results) and nofollow (don't follow links from this page). This check fails when either is set.

This is one of the 75 checks the scanner runs. See what we check for the full list, every severity weight, and how the score is computed from them.

See whether your own site passes custom 404 page.

One page, all 75 checks, free. No account, no card.

Check this on my site