What Is a Custom 404 Page?
A custom 404 page is the page a website shows when someone requests an address that does not exist, designed to help the visitor find something else while the server still sends the HTTP 404 (not found) status code.
The page matters most where old links keep arriving. For communications teams, that means press releases taken down after a correction, campaign microsites that ended, executive bios for people who left, and old newsroom URLs after a redesign. Coverage and backlinks keep pointing at those addresses for years. Our data report on how long a placement stays findable shows why the inbound links outlive the pages.
The news hook is Google’s own advice. In an episode of its Search Central video series published October 28, 2026, titled “Should we be scared of a 404 status code?”, developer advocates Gary Illyes and Cherry Sireetorn Prommawin set out when to let a page go and when to redirect it (Google Search Central). Search Engine Journal’s account quotes Prommawin: “Design a custom 404 page with a friendly message, a search bar, and maybe links to your top categories or latest content. Don’t trick the user” (Search Engine Journal).
How Do You Make a Custom 404 Page at a Glance?
| Step | Action | Expected result |
|---|---|---|
| 1 | Decide which dead URLs get a 404, a 410 or a redirect | A short list of one-to-one redirects; everything else stays gone |
| 2 | Write the page: message, navigation, search, links | A helpful page in the site’s own design |
| 3 | Set the page on your host or server | Missing URLs show the custom page |
| 4 | Confirm it returns status 404, not 200 | The response header reads 404 |
| 5 | Check Search Console for soft 404s | No soft 404 errors on real missing pages |
| 6 | Remove dead URLs from sitemaps and internal links | Fewer 404s from your own pages |
Time: 1 to 3 hours, mostly design and testing (our estimate). Tools: host or CMS access, a browser’s developer tools or curl, Google Search Console. Cost: free on most hosts. Skill level: beginner to intermediate.
What Do You Need Before Starting?
You need a way to change your site’s error handling and a way to read the status code the server sends. Specifically:
- Access to your host’s settings, server configuration or theme files (which one depends on the platform; see Step 3).
- A verified Search Console property; our guide to verifying a site in Search Console covers this.
- A list of URLs you have removed recently, such as withdrawn releases or expired campaign pages.
- The links you want to offer instead: newsroom, latest releases, media contact, home page.
Step 1: Decide What Stays Gone and What Gets Redirected
Redirect a dead URL only when a true replacement exists; otherwise let it return 404 or 410. The presenters’ framework, as quoted by Search Engine Journal: “set up a redirect only to that specific, highly relevant destination” when a page “has a direct natural replacement,” and if “the page is permanently gone and there is no true successor… let it be 404. It’s fine. It is what we expect. Return a 404 or a 410 status code” (Search Engine Journal).
Google’s Search Console help says the same in its own words: “If the content has moved, add a redirect. If you have permanently deleted content without intending to replace it with newer, related content, let the old URL return a 404 or 410. Currently Google treats 410s (Gone) the same as 404s (Not found)” (Search Console Help). For a corrected press release, the replacement is the corrected version, so a one-to-one 301 makes sense; our comparison of 301 and 302 redirects explains which to use. For an ended campaign with nothing equivalent, a 404 is correct.
Do not send every dead URL to the home page. Prommawin called that “the lazy shortcut” (Search Engine Journal), and Google’s help page says redirecting users “to another page, such as the homepage, instead of returning a 404” can create soft 404s (Search Console Help).
Step 2: Write the Page Content
Tell visitors plainly that the page is missing, keep the site’s normal design and navigation, and give them two or three useful ways forward. Google’s Search Central documentation lists four tips (Google Search Central):
- “Tell visitors clearly that the page they’re looking for can’t be found. Use language that is friendly and inviting.”
- “Make sure your 404 page has the same look and feel (including navigation) as the rest of your site.”
- “Consider adding links to your most popular articles or posts, as well as a link to your site’s home page.”
- “Think about providing a way for users to report a broken link.”
Our recommendation, not a Google rule, for a company newsroom: include a search box, a link to the press release archive, the media contact email, and a link to the latest news. A journalist following a dead link from old coverage usually wants either the current version of the release or a person to ask.
Step 3: Set the Page on Your Host or Server
Every common platform has a built-in way to show a custom page for missing URLs; use it rather than a redirect. The table summarizes each platform’s own documentation.
| Platform | How to set it | Status code risk | Source |
|---|---|---|---|
| Netlify | Add a 404.html file; it is “picked up and displayed automatically for any failed paths” | A /* /index.html 200 rewrite serves index.html “instead of giving a 404” | Netlify Docs; rewrites |
| Apache | ErrorDocument 404 /errors/not_found.html | A full URL (with http) sends a redirect, so the client “will not receive the original error status code” | Apache docs |
| Nginx | error_page 404 /404.html; | A full URL returns 302 by default; =200 changes the code | nginx docs |
| WordPress (classic themes) | A 404.php template in the theme | WordPress falls back to index.php if there is none | WordPress Developer Resources |
The pattern is the same everywhere: point the error handler at a local path on the same site. Apache’s documentation is explicit about why: with a remote URL, “the client will not receive the original error status code, but instead will receive a redirect status code. This in turn can confuse web robots” (Apache HTTP Server docs).
Step 4: Confirm the Page Returns a 404 Status
Request a made-up URL on your site and check that the response status is 404, not 200 or 301. In a terminal, curl -I https://www.example.com/this-page-does-not-exist prints the status line first. In a browser, open developer tools, select the Network tab and reload. Google is direct about the reason: “Custom 404 pages are created solely for users. Since these pages are useless from a search engine’s perspective, make sure the server returns a 404 HTTP status code to prevent having the pages indexed” (Google Search Central).
What Does Google Do With Each Status Code?
Google drops 4xx pages from its index and slows crawling for server errors, so a missing page should return 404 or 410, never a 5xx or a 200. Google’s documentation says that for 4xx codes other than 429, “the indexing pipeline removes the URL from the index if it was previously indexed. Newly encountered 404 pages aren’t processed. The crawling frequency gradually decreases.” Server errors are different: “5xx and 429 server errors prompt Google’s crawlers to temporarily slow down with crawling” (Google Search Central).
Number of status codes listed on Google’s page, by our count
Source: Google Search Central, “How HTTP status codes, and network and DNS errors affect Google Search” (last updated February 4, 2026). Read October 29, 2026; counts are ours.
Google says all 4xx codes except 429 “are treated the same”; it treats 429 as a server error. The page lists the codes Google most often encounters, not every HTTP code.
The chart shows that 4xx is the largest group Google documents, and that it handles nearly all of them as one: the content “doesn’t exist.”
The episode made the crawl point too. Search Engine Journal summarizes it: “404 errors do not consume crawl budget in the way server errors do” (Search Engine Journal).
Step 5: Check Search Console for Soft 404s
Open the Page indexing report in Search Console and look for “Soft 404” among the reasons pages are not indexed. Google defines a soft 404 as “a URL that returns a page telling the user that the page does not exist and also a 200 (success) status code,” and says “Such pages are excluded from Search” (Google Search Central). If your custom 404 page appears there, it is returning 200; go back to Step 3. If a live, good page appears there, Google says it “likely” did not load properly for Googlebot; use the URL Inspection tool to see the rendered page (Google Search Central).
Step 6: Clean Up Your Own Links to Dead Pages
Remove deleted URLs from your sitemap and fix internal links that point to them. Google’s help page says a submitted URL that returns 404 “is worth fixing,” and suggests inspecting where it was submitted from and updating the sitemap (Search Console Help). Our guide to checking your site for broken links covers the crawl, and for a page you want out of Google’s results quickly, see removing outdated content from Google Search.
How to Verify It Worked
Three checks confirm it: the made-up URL shows your custom page, its status is 404, and Search Console shows no soft 404 for it. Repeat the test from a phone and from a signed-out browser. Then wait: Google’s help page says 404s for deleted pages “should stop showing” in the report “after about a month” (Search Console Help).
Common Problems and Fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Custom page shows, but status is 200 | A catch-all rewrite or a page that only looks like an error | Return 404 for missing paths; remove catch-all 200 rewrites |
| Status is 301 or 302 to the error page | Error handler points to a full URL | Use a local path, as Apache and nginx documentation describe |
| Soft 404 on a real, live page | Page did not render for Googlebot, or looks empty | Inspect the URL; unblock resources Google needs |
| Hundreds of 404s in Search Console | Old URLs, typos or bad links elsewhere | Google says most are “not worth fixing”; redirect only common misspellings and pages with replacements |
| Error page looks unstyled | Stylesheets use relative paths that break at deeper URLs | Use root-relative paths for CSS, images and links |
What Not to Do
Do not redirect all missing pages to the home page. Consequence: Google may treat them as soft 404s, and visitors land somewhere unrelated. Correction: one-to-one redirects for real replacements, 404 or 410 for the rest.
Do not block 404 URLs in robots.txt. Consequence: Google says this makes it “harder for us to recognize your site’s structure and process it properly” (Search Console Help). Correction: let Google crawl them and see the 404.
Do not return a 5xx code for a page that is simply gone. Consequence: Google slows crawling for server errors. Correction: 404 or 410.
Do not hide a withdrawn press release silently if it was corrected. Consequence: journalists who linked to it find nothing. Correction: redirect to the corrected version, which can note the change; our guide to creating an online newsroom covers release archives.
Frequently Asked Questions
Do 404 errors hurt SEO?
Google says no for genuinely deleted pages: its Search Console help says 404s “don’t harm your site’s indexing or ranking,” and Gary Illyes said on October 28, 2026 there is “no negative impact on your other healthy pages,” as quoted by Search Engine Journal.
What should a custom 404 page include?
Google suggests a clear, friendly message, the site’s usual design and navigation, links to popular content and the home page, and a way to report a broken link. A search box is also recommended in Google’s October 28, 2026 episode.
What is a soft 404?
Google defines it as a page that tells the user the page doesn’t exist but returns a 200 (success) status code. Google excludes such pages from Search and reports them in Search Console’s Page indexing report.
Should I use 404 or 410 for a deleted page?
Either works for Google. Its Search Console help says “Currently Google treats 410s (Gone) the same as 404s (Not found).”
Should I redirect broken links to my home page?
No. Google says redirecting to the homepage instead of returning a 404 can create soft 404s; redirect only to a specific, relevant replacement.
How long do 404s stay in Search Console?
Google’s help page says 404 errors for deleted pages and bad URLs should drop from the report after about a month.
Sources and Methodology
This guide is built from Google’s Search Central documentation on HTTP status codes and soft 404s, Google’s Search Console help page on 404 errors, the description of Google’s October 28, 2026 Search Central video, Search Engine Journal’s October 29 account of that episode, and the official Netlify, Apache, nginx and WordPress documentation, all read on October 29, 2026. Quotes from the video come through Search Engine Journal’s report; we read the video’s published description but did not transcribe it ourselves. The status-code counts, time estimate and newsroom advice are ours, not Google rules. We did not test each server configuration.
- official Google Search Central (YouTube), Should we be scared of a 404 status code?. Episode date, presenters and topics. Read October 29, 2026.
- trade press Search Engine Journal, Google Recommends Using Custom 404 Error Pages. Quotes from Illyes and Prommawin; crawl-budget point. Read October 29, 2026.
- platform documentation Google Search Central, How HTTP status codes, and network and DNS errors affect Google Search. Handling of 2xx, 3xx, 4xx and 5xx codes; status-code list for the chart. Read October 29, 2026.
- platform documentation Google Search Central, Troubleshoot Google Search crawling errors: soft 404 errors. Soft 404 definition, custom 404 tips, 404 status requirement. Read October 29, 2026.
- platform documentation Google Search Console Help, 404 (Page Not Found) errors. 410 handling, homepage redirects, robots.txt, one-month report window. Read October 29, 2026.
- platform documentation Netlify Docs, Redirect options: Custom 404 page handling. 404.html behavior and catch-all rewrites. Read October 29, 2026.
- platform documentation Netlify Docs, Rewrites and proxies. Catch-all 200 rewrite serves index.html instead of a 404. Read October 29, 2026.
- platform documentation Apache HTTP Server, core: ErrorDocument directive. Local vs remote error documents and status codes. Read October 29, 2026.
- platform documentation nginx, ngx_http_core_module: error_page. error_page syntax, response-code changes and redirects. Read October 29, 2026.
- platform documentation WordPress Developer Resources, Template Hierarchy. 404.php and index.php fallback. Read October 29, 2026.