Fix and launch

404 Page Best Practices: What Visitors See When a Link Breaks

404 page best practices: what visitors see when a link breaks, what good 404 page design includes, and how to find dead links. Start with quick checks.

404 page best practices come down to this: tell visitors in plain words that the page is missing, keep your normal header so they can still get around, offer a search box and a few useful links, and make sure the page really reports an error. Then fix the broken links you control, so people rarely reach it.

Nobody plans to send a customer to a dead end. It happens quietly: a page gets renamed, a product is removed, a link is mistyped in a newsletter. This guide is about the moment after, when a visitor lands on nothing.

What is a 404 page, and why does it matter?

A 404 is what a server says when it cannot find the page someone asked for. MDN, the web documentation project, describes the 404 Not Found status as the server being unable to find the requested resource, and says links that lead there are often called broken or dead links (MDN, last modified 22 June 2026, read 8 October 2026). It adds that broken links, internal and external, should be kept low to spare readers frustration.

The "404 page" is what you choose to show alongside that message. Choose nothing, and your host or browser shows its default.

It matters because it is a moment of doubt. A visitor at a dead end wonders whether the site is finished, whether anyone still runs it, and whether the thing they came for exists. We think of that as a Flow and Usability question: our rubric asks what happens when someone hits a dead end, not only whether the buttons work.

A good dead end feels like a short, kind detour. The page says plainly that it cannot find what they asked for, still looks like your site, and shows a way forward.

The weak versions are easy to spot. There is the bare default message, with no header and nothing to do but press back. There is your whole site wearing an error, header and footer intact, with a cold "Error" in the middle and no next step. And there is the page that looks normal but is empty, so a visitor cannot tell whether it is still loading or gone.

All 3 say the same thing: nobody planned for this.

What does good 404 page design include?

We keep the list to 5 things, because someone in a hurry will not read more.

  • A plain sentence. "We can't find that page." Skip the jargon, and skip the code number as a headline.
  • Your normal header, so the logo, menu, and sign-in or cart link are all still there.
  • A search box, if your site has search.
  • 2 to 4 links to what visitors most often want, such as home, your main product area, and contact.
  • A way to tell you. A contact link is enough. A broken link someone reports is a free bug report.

Humor is optional. MDN's note on a custom 404 page says a humorous, human page is fine in moderation, as long as visitors are not confused about why they are seeing something unexpected. If your visitors are stressed (a booking they are late for, a payment), skip the joke.

Then check the page on a phone. Our Mobile and Access dimension asks whether the primary action is visible on a real phone screen, without scrolling, pinching, or guessing. The way back should pass the same test.

Should a missing page show a 404 or redirect?

Here is how we decide in about 10 seconds: ask whether the thing still exists somewhere else.

If it moved or was renamed, send people to the new address with a permanent redirect. Google's documentation lists "you removed a page and you want to send users to a new page" among the reasons to redirect, and says permanent redirects show the new target in search results (Google Search Central, last updated 14 April 2026, read 8 October 2026).

If it is gone for good with no replacement, show your 404 page. MDN says a 410 Gone status is the better fit for permanent removal, and its 410 page says to use a 404 when you do not know whether the removal is temporary or permanent (MDN, last modified 22 June 2026, read 8 October 2026). And if the address never existed, such as a typo, show the 404 page too.

One more fact worth knowing: Google says it does not index URLs that return a 4xx status, and pages already indexed that return one are removed from the index (Google Search Central, last updated 4 February 2026, read 8 October 2026). So deleting a page people link to, with no redirect, can quietly throw that traffic away. We make no promise about rankings either way.

What is a soft 404?

It is a page that looks like an error to a person but tells machines all is well. Google's documentation says that when a page returns a success code but its content suggests an error, such as an empty page or an error message, Search Console shows a soft 404 (same Google page, read 8 October 2026).

So if your missing-page screen quietly replies "success," search engines may treat it as a real page. To check, open a made-up address on your own site, like yoursite.com/this-page-does-not-exist, and see your 404 page. Then ask whoever built the site to confirm the status it returns is a 404. If an AI tool built it, that is a good small question to put to the tool. Confirming the status is your job, not something the report promises.

You do not need special software for a small site. Set aside about 30 minutes.

  1. Click every link on your 5 most-visited pages, including the footer and the links buried in paragraphs.
  2. Type 2 made-up addresses, one at the top level (/nope) and one nested (/books/nope), and look at both on a phone.
  3. Open your old links: social bios, directory listings, newsletter archive, QR codes, and anything you ever pasted into an email. These go stale first.
  4. Check Search Console, if you use it. Google's status-codes page says it generates error messages for 4xx and 5xx statuses and failed redirects (Google Search Central, last updated 4 February 2026, read 8 October 2026), so look there for those messages.
  5. Write each dead link down with where it lives and what it should do: fix it, redirect it, or leave it as a 404.

Fix links you control first. A broken link inside your own site is your mistake, not the visitor's typo, and it should never reach the 404 page.

Hypothetical example: a made-up online used-bookstore sells one-of-a-kind copies. When a copy sells, the owner deletes its page. Within a month, 4 kinds of broken link appear.

Where the link livesWhat the visitor sees todayWhat it should do
A bookmark to a copy that soldBare "Not found"Redirect to the book's title page. Or keep a real page that says this copy has sold and lists other copies (a normal page with real content, so a normal success status, not an error screen)
A typo in the newsletter's addressBare "Not found"A friendly 404 page, with a real 404 status, plus search and the main genres
A "Staff picks" page linking to a deleted copyBare "Not found"Fix the link inside the site, so it never reaches a visitor
An old /shop address after renaming to /booksBare "Not found"Permanent redirect to /books

Same bare message, 4 different fixes. Only one of the 4 is about the look of the 404 page.

Now picture the bookstore's report. In its Recorded evidence block, it would list links checked and a broken-links count, and any page the click-through could not finish would appear under "Not fully clicked in the time we allow." The dead "Staff picks" link is the kind of thing that click-through can reach if it opens that page. The newsletter typo and the old /shop bookmark live outside the site, so no click-through of your own pages will find them. Both belong on your old-links list.

Our audit reads your public pages the way a customer would. It clicks through the public pages it can reach, and the report records what it clicked: pages crawled, links checked, broken links, buttons clicked, and dead buttons, plus the pages it did not fully click in the time it allows. The score is out of 100 across six product dimensions, with ranked fixes. Flow and Usability is the dimension that looks at what happens when someone hits a dead end.

2 honest limits. We read what a customer sees at your link, so nothing behind a login, and a click-through is not a full crawl of every address you ever shared. The audit is an AI audit scored against a fixed rubric, and no person reads your app. It is not a security review or a full accessibility audit.

What should you fix first?

Start with links inside your own site that lead nowhere. Next, add permanent redirects for any moved page people may have saved or shared. Then give the 404 page its sentence, header, and a way onward. Last, confirm a made-up address really returns a 404, and recheck after every rename or removal, because the next dead link comes from the next change. Small, boring, and worth doing before you send people to your site.