How to Fix Broken Pages (404 and 5xx Errors)
A broken page is an address that answers with an error code instead of your content. Duality's Site Audit treats it as critical, because anyone who follows a link to it, person or search engine, hits a dead end. The number in the error tells you which kind of problem you have, so start there.
| Code | What happened | Usually the fix |
|---|---|---|
| 404 | The page was deleted, moved or never existed | Redirect, restore or let it go (below) |
| 410 | Someone marked the page as gone for good | Nothing, if that was deliberate |
| 500 | The server failed while building the page | Undo the last change, then ask your host |
| 503 | The server was too busy or down for maintenance | Check again later; ask your host if it repeats |
A 404 has three possible fixes
For every broken address, ask what used to be there and whether anything replaces it.
- The page moved. Add a permanent (301) redirect from the old address to the new one.
- It was deleted, but something close exists. Redirect to that page: the category it sat in, or a newer article on the same subject.
- It was deleted and nothing replaces it. Let it stay a 404, and remove the links on your own site that still point at it. The guide on broken links shows how to find them.
And if it should never have gone, restore it from your platform's trash, revision history or a backup.
Don't send every missing page to your home page. Google says redirects to an unrelated page can be treated as a "soft 404", and a visitor who wanted a recipe and landed on your home page leaves anyway.
What we did when we moved domains
When Duality moved from its old agency domain to getduality.com in October 2026, 27 old addresses were still live. Each one got a 301 to the closest page we had. The free tools and the contact page went one to one. The old About and Services pages went to Features. Two blog posts we rewrote went to their new addresses. Thirteen old posts with no replacement went to the blog index. Google may count some of those as soft 404s, and we accepted that: the posts had nothing on the new site to stand in for them.
We made the opposite call once too. We renamed a page about an hour after publishing it, and our server log showed no search engine had visited the old address yet. So we let it return a plain 404 rather than add a redirect nothing needed.
Where to add a redirect
- WordPress: the free Redirection plugin, or the redirect manager in Rank Math or Yoast SEO Premium.
- Shopify: Online Store, then Navigation, then URL Redirects.
- Wix: the URL Redirect Manager in the SEO settings.
- Squarespace: Settings, then Developer Tools, then URL Mappings.
When the error starts with a 5
A 5xx error means the page exists but your server failed to send it. Open the address yourself. If it fails for you too, think about what changed last: a plugin or theme update, a new app, a full disk. Undo that change if you can, then send your host the exact address and the time it failed so they can find it in their logs.
If the page loads fine when you try it, the error may have been brief. One 503 during an update is nothing to worry about. The same page failing in two monthly audits is worth a support ticket.
Make sure missing pages say so
The opposite problem is quieter. Some sites show a friendly "page not found" message but send it with a 200 code, which means "everything is fine". Google then sees a real page at every mistyped address, and can end up crawling thousands of empty ones. Site Audit checks for this by asking for a made-up address on your site.
You can check it yourself in a terminal with curl -I and any address that doesn't exist. Here's what ours returns:
curl -I https://getduality.com/this-page-does-not-exist/
HTTP/2 404
If yours says 200, your custom error page is set up the wrong way round. Most platforms send the 404 code correctly, so this usually comes from a theme or a hand-built error page, and your host or developer can fix it in minutes. Browser tools such as a "check server headers" website do the same job without a terminal.
Re-checking a fixed page
Open the old address after the change: it should either land on the right page or show your not-found page. In Site Audit, tick the address and choose Verify my fixes to check it again straight away. The soft 404 test covers your whole site, so the next monthly audit confirms that one.