404 page checker
Requests a path that cannot exist and checks you return a real 404, not a soft one.
What TMOD checks
- Requests a deliberately impossible path on your domain, a long random string no real page could occupy.
- Checks the HTTP status code returned. A real 404 or 410 passes; a 200 is a soft 404 and fails.
- Checks whether the response is a helpful page or a bare server default with no navigation back into the site.
- Detects redirects to the homepage, which is a common and actively harmful way of handling missing pages.
Why it matters
The status code is the part that matters and the part people get wrong. If a missing page returns 200, every mistyped URL, every dead external link, and every stale path becomes an indexable page in a crawler's eyes. Sites accumulate hundreds of these near-identical 'not found' pages, and they read exactly like thin duplicate content, because that is what they are.
Redirecting missing pages to the homepage is worse than a plain 404. It tells a crawler the content moved there, which is false, and it strands visitors on a page unrelated to what they clicked, with no explanation of what happened.
The page itself is a genuine recovery opportunity. Someone who followed a broken link is one click from leaving. A 404 page that offers search and links to the main sections often keeps them, and it preserves crawl paths that would otherwise dead-end.
How to fix it
01Return the correct status
Missing pages return 404. Permanently removed pages can return 410, which is a stronger signal to drop them from the index. Verify with `curl -I` rather than a browser, the browser shows the page, not the status.
02Never redirect missing pages to the homepage
If a specific page genuinely moved, 301 it to its specific new location. If it is gone, return 404. A blanket redirect to the homepage is a lie about what happened and helps nobody.
03Make the page useful
Say plainly that the page was not found, offer a search box, and link to the main sections and a few popular pages. This is what turns a dead end into a recovery.
04Keep it on-brand
A 404 in your normal site design with your navigation intact tells a visitor they are still on your site and the site works. A bare server error page suggests the whole thing might be broken.
404, 410 and 301, and when each is the honest answer
A 301 says this content is now at that address. Use it when there is a genuine successor: an article rewritten under a new URL, a product replaced by its next version, a category renamed. The destination has to be the specific replacement, because a redirect to something loosely related is treated as a soft 404 anyway and you have spent the redirect for nothing.
A 404 says there is nothing here, which is the correct answer far more often than people are comfortable with. It is not a failure state, it is information, and a site that answers it accurately is easier for a crawler to model than one that pretends every URL leads somewhere.
A 410 says it is gone and is not coming back. Functionally it behaves like a 404 with a stronger hint, and it is worth using deliberately when you have removed a section on purpose. Where none of these fit, because the page exists but should not be in search results, the answer is a noindex tag on a page that still returns 200, not a status code lie.
The page itself, and the log behind it
Keep it short. One sentence saying the page was not found in plain language, a search box, links to the main sections, and a couple of pages worth reading anyway. Skip the automatic redirect to the homepage after a countdown, which takes the decision away from someone who was reading the options.
Serve it in the site's normal design with the navigation intact. That is what tells a visitor the site works and one address did not, rather than the whole thing being broken. And re-probe the status code after any redesign, since a 404 template is the page most likely to be rebuilt by someone who never checked what it returns.
The more useful half is the log. The 404s worth acting on are the ones with a referrer or with repeat traffic, because those are real paths that people and crawlers are still following. Those addresses either deserve a redirect to their successor or reveal a link inside your own content pointing somewhere that no longer exists, and both are quick fixes once you know which URLs to look at.
Questions
What is a soft 404?
A page that says 'not found' to a human but returns HTTP 200 to a machine. Search engines specifically flag these, because they cannot distinguish them from real content without reading the page. Every nonexistent URL then becomes an indexable near-duplicate. It is the single most common misconfiguration this check finds.
Should I redirect old URLs instead of 404ing them?
When there is a genuine successor page, yes, 301 to it. When there is not, 404 is the honest answer and the right one. Redirecting an old URL to a loosely related page is treated as a soft 404 anyway, so it gains nothing and costs clarity.
Do 404s hurt my rankings?
404s on URLs that never should have existed, typos, spam probes, scraped bad links, are completely normal and harm nothing. Every site has them. What matters is 404s on URLs that should work: internal links pointing at dead pages, sitemap entries returning 404, and pages that used to rank now returning nothing.