We invented an address that exists on no website and asked 489 Iranian domains for it. 428 answered correctly with a 404. Fifty answered with a 200, which tells Google the page exists and is fine, when it does not exist at all.
Five returned a 500. A request for an invalid address was enough to throw their server into an internal error.

Why a 200 on a page that does not exist is a problem
Google calls this a soft 404 and documents it in its own HTTP status code guidance. The mechanism is simple: when the crawler sees a 200 it assumes there is real content there and keeps the URL in the indexing queue. A site that returns 200 for a thousand wrong addresses has put a thousand empty URLs into its own crawl budget.
Twenty of those fifty sites sent the visitor to the home page. That is the worst version, because from Google's side your home page is now reachable at a thousand different addresses. Thirty-one of them performed a redirect first.
Method
We requested /rgb-audit-404-check-9f2a/ at the root of each domain. The string was made up in advance so we could be sure it existed nowhere. We recorded the status code, the size of the body, the final URL after redirects, and whether the returned page carried navigation and a search box. 486 of 489 domains answered and the measurement ran on 19 August 2026.
Now the 404 pages themselves
| Property of the 404 page | Out of 428 domains |
|---|---|
| Says 404 or "not found" somewhere | 420 |
| Carries the site navigation | 273 |
| Has a search box | 197 |
| Bare server page under 2 KB | 24 |
Those 24 are the most interesting rows in the data. The status code is right, but what the visitor sees is a white server page with one line of English on it rather than the site's own design. That almost always means the web server intercepted the response and answered instead of the application.
The median 404 page in this sample weighed 90 KB and the heaviest came to 9 MB. Nine megabytes for a page nobody wanted to see.
This is exactly what happened to us
On this server, the nginx configuration has a directive called fastcgi_intercept_errors. With it on, nginx takes any error response from PHP, throws the body away and sends its own default page. The result is that WordPress builds a themed 404 page and the visitor gets a blank one.
We found that on rgb.ir on 29 July 2026 and fixed it. Today we ran the same test in this article against all seven sites we host here, and all seven return a 404 with their own design.
We also found something less pleasant. One of our own 404 pages weighs 290 KB, three times the sample median. A page whose only job is to point somebody somewhere useful does not need to load the entire theme. That went onto this month's list too.
What a good 404 page looks like
The status code has to be 404. That part is not negotiable. The rest is user experience: say what happened in plain language, put a search box on it, and add two or three links to the pages people actually want. In our sample 197 domains had a search box, and that single element keeps more visitors than any clever illustration.
Our position on redirecting every 404 to the home page: do not. It is a fix that removes the problem from your report without touching the problem, and it is disorienting for somebody who just clicked a broken link. A redirect is correct when the destination is equivalent to the old page, not when you merely need somewhere to send people.
Which 404s are worth your time
There are four kinds and only two of them matter. First, addresses that other sites link to and that now 404: those carry value and should be redirected to the equivalent page. Second, addresses linked from your own menu or body copy that are broken: fix those in the content, not with a redirect.
And two kinds that should not take your time: addresses bots guessed at and that never existed, and old addresses removed years ago that nobody links to. Google has said for years that 404s do not hurt a site's ranking. What hurts is a page that claims to exist and is empty.
If your rankings have dropped and you are hunting for the cause, it is usually somewhere else, and we set out the real order in why a site's ranking falls.
Testing your own site right now
Add a nonsense path to your domain and open it. If the browser shows your site's design, you still do not know anything; you need the status code. Open browser devtools, go to the network tab and reload. The number next to the first row should read 404.
If it reads 200, the cause is usually a redirect plugin or a theme setting that sends every unknown address somewhere. Our free tools return the status code too if you would rather not check by hand. And on the SEO projects we take on, this is the first thing we look at in the first hour, because it takes ten minutes and is sometimes the whole indexing problem.
Questions people ask about this error
What does 404 not found actually mean?
The server was found and answered, but there is nothing at that address. It is different from "the site is down", which produces other codes such as 500, or no answer at all.
How do I fix a 404 in WordPress?
If every page 404s, it is usually permalinks: open Settings, Permalinks and press save once so the rewrite rules are rebuilt. If only one page 404s, it was either deleted or its address changed and it needs a redirect.
Does a 404 hurt my rankings?
Not by itself. What costs you is a page that returns 200 with nothing on it, and links from other sites pointing at an address that is now gone.
Should I create a custom 404 page?
Yes, but keep it small and give it a search box. In our sample 273 of the correct 404 pages carried navigation, and that plus search is the whole job.
And if your site is answering 200 to thousands of addresses that do not exist, tell us from the contact form and we will find which layer is doing it.
Measured 19 August 2026 across 489 Iranian domains. External source: Google's HTTP status code documentation.
Comments & Questions
Have a question about this article? Ask, we'll answer.
No comments yet; be the first.