Many WordPress sites have a setting, either in an SEO plugin or a small redirect plugin, that sends every missing URL to the homepage. It looks tidy: users never see an error page. For search engines it causes three problems:
- Google treats these as soft 404s. A homepage served for
/some-deleted-post/is not a real answer, so Google ignores it. - Link value from old URLs is lost. An old page with backlinks should redirect to its closest topical match, not to the homepage.
- You lose visibility into broken URLs. Real 404s show up in Search Console's "Not found" report. A blanket redirect hides them.
How to fix it
- Turn off the "redirect all 404s to homepage" option. In Rank Math, this is the fallback behaviour in the Redirections settings; set it to the default 404 page.
- Test with a random URL (
/zzz-test/). You should get a real404status:
curl -I https://example.com/zzz-test/ - Export URLs that Google still knows about (Search Console > Pages > Not found, plus any old sitemap) and check which ones had clicks or backlinks.
- Create individual
301redirects only for those, each to its closest equivalent page. - Check for redirect chains (A → B → C) and point each old URL straight to the final destination.
- Clear your page cache and re-test.
Make a useful 404 page with search and links to your main sections, so visitors still have somewhere to go.
We ran into this while auditing our own site at Arvand.

