βFix all 404sβ sounds sensible until you actually work through a messy site. Then you realise some of those pages should not be fixed. Some should disappear. Some should redirect. Some should be rebuilt. Some are not your pages at all.
That is why I do not start with the status code. I start with intent. What was this URL supposed to be, why is it being requested and does it still deserve a place in the site?
A 404 is only the symptom
A 404 tells you the requested URL was not found. It does not tell you whether that is bad.
If a deleted service page has backlinks and a clear replacement, a 404 may waste value. If a spam bot is requesting /old-sitemap-products.xml on a site that never sold products, that 404 is not an SEO emergency. If a 2019 landing page has no replacement and no business value, redirecting it to the homepage is not helpful.
The question is not βhow do I remove the 404?β The question is βwhat should this URL mean now?β
When I use a 301
I use a 301 when the old URL has a genuine new home. That usually means the page moved, the service was renamed, the slug changed or two similar pages were merged into one stronger page.
A clean 301 should help the user. If someone requested the old page and landed on the new one, would they feel like they arrived in the right place? If yes, redirect. If no, stop pretending.
When I use a 410
A 410 is useful when the page is permanently gone and there is no honest replacement. I like it for old junk, test URLs, builder leftovers, fake sitemap requests, irrelevant CMS routes and pages that should not come back.
It is a stronger statement than a normal 404. It says: this is not a temporary missing page, this is retired. On a site that has been polluted by bad structure or old CMS behaviour, that clarity matters.
Why redirecting everything to the homepage is lazy
Homepage redirects are often used to make audit tools look clean. That does not mean they help users or search engines.
If 50 unrelated dead URLs all redirect to the homepage, you have not fixed the information architecture. You have swept it under the rug. The crawler still sees a site that used to have a lot of pages and now funnels unrelated requests into one generic destination.
Sitemap pollution is a different problem
Sitemap-related 404s are especially interesting. If crawlers keep requesting sitemaps that do not exist, I do not treat that the same as a normal missing page. I want the real sitemap to be clean, current and boring. Old sitemap names, plugin-generated sitemap ghosts and invented sitemap URLs should not become part of the active crawl path.
For recovery work, I want the live sitemap to list only pages that deserve indexation. If old sitemap routes still get requested, I prefer to retire them decisively instead of letting the site look sloppy.
The cleanup order I use
- Group the 404s. Separate old services, old blogs, parameters, images, sitemap requests, plugin routes and obvious bot junk.
- Check internal links first. A 404 linked from your own navigation or content is more urgent than a random external request.
- Check backlinks second. If a dead URL has useful links, decide whether there is a relevant replacement.
- Map real replacements. Only redirect when the destination matches the old intent.
- Use 410 for retired junk. Do not keep dead noise alive just to make a report look prettier.
- Update the sitemap. The sitemap should reflect the site you want Google to understand now.
- Monitor after changes. The pattern after cleanup matters more than the first crawl.
What a good report should tell you
I do not want a spreadsheet that simply says β404 bad.β I want a decision column. Keep, redirect, rebuild, 410, noindex or ignore. Without that column, the report is not an SEO plan. It is a panic list.
This is one of the reasons I join 404 cleanup to indexing recovery. A dead URL is rarely isolated. It usually belongs to a wider crawl story.
The right status code depends on the URLβs job.
I audit the page, the link path, the sitemap, the replacement options and the business value before deciding what happens next.
Book a technical SEO audit βGood cleanup does not mean making every error disappear. It means making the site tell the truth clearly.