# Indie404

> Check whether a site returns a real 404 for a missing page instead of a soft 404, redirect, or server error.

See whether missing pages return a real not-found response.

The canonical page is https://indie404.com/.

## Use the tool

Open [Indie404](https://indie404.com/) to complete the job. The questions below describe the supported input, result, and limits. Every answer names its source next to it.

Source: [RFC 9110 and the checked site's HTTP response](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.5).

## Questions and limits

### What is a soft 404?

A soft 404 is a page that appears missing or empty but answers with a successful HTTP status, often 200. Google can identify that mismatch and exclude the URL from indexing. Indie404 checks the status and bounded response text as a useful diagnostic; it does not reproduce Google's classifier.

HTTP 404 means the resource was not found at that address. HTTP 410 says it is intentionally gone and likely permanently unavailable. Choose the status that describes the resource.

### What does Indie404 check?

Indie404 requests one made-up address on the site you enter and reads the status code, the redirects, and the page that comes back. It then fetches the home page and compares the two, so it can tell a real not-found page from a copy of the home page served under a missing address.

The same fetched HTML also shows whether the missing page contains an ordinary link to the measured home page. This observation is separate from the HTTP verdict. Indie404 inspects up to 100 anchors in the first 256 KiB, shows a matching link and its response source, and does not test visual placement, CSS visibility, or keyboard navigation.

The rules are the status semantics in [RFC 9110](https://www.rfc-editor.org/rfc/rfc9110.html#section-15.5.5) and the soft 404 guidance from [Google Search Central](https://developers.google.com/search/docs/crawling-indexing/troubleshoot-crawling-errors#soft-404-errors), both named beside the result.

### What does a failing result mean?

A generated missing path returned an unexpected success, redirected away, or failed with a server error. The outcome names the measured pattern and the suggested fix.

Redirecting missing URLs to an unrelated home page may be treated as a soft 404 by Google. Keep a useful error page with the appropriate missing status. Indie404 does not know Google's classification of a URL.

### How do I make my site return a real 404?

Configure a not-found handler in the framework or host, then verify the response status on the deployed site. A file or an error design alone does not prove the status. For example, [Next.js not-found.js](https://nextjs.org/docs/app/api-reference/file-conventions/not-found) returns 200 for streamed responses and 404 for non-streamed responses.

Do not redirect missing pages to the home page, and do not render the not-found design inside a route that answers 200.

### Does one check prove the whole site?

No. The check starts with one generated missing path on the origin you enter. Turn on the optional nested probe to add one generated path with two segments and compare its answer with the root. The recovery-link observation follows the same two responses without another request. A blog folder, an API, or a language prefix can still use a different handler, so check those real sections separately.

## Promises

- The core is free: no account, no card, no premium plan, no upgrade nag, no hidden paywall.
- Private lookup activity is never published.
- Analytics is currently off. Private lookup activity is never published or sent to a tracker. No lookup history becomes public inventory.

## More

- [Notes](https://indie404.com/blog.md): posts by the maker, newest first
- [More tools](https://indie404.com/tools.md): the other tools by turushan
- [security.txt](https://indie404.com/.well-known/security.txt): how to report a vulnerability

Made by turushan, https://twitter.com/turushan.
