Skip to content
← Blog

How to Set Up a Custom 404 Error Page

technical health Jan 21, 2026 2 min read

What the custom error page check tests

SiteCurl requests a URL that should not exist on your site (a test path) and checks the response. It verifies the server returns a proper 404 status code and that the response contains a custom HTML page with meaningful content (at least 100 characters of visible text).

A server that returns 200 instead of 404 for missing pages creates “soft 404s” that waste crawl budget.

Why it matters

The default server 404 page is a blank dead end. Visitors see an error message with no navigation, no search, and no way to continue browsing. Most will leave immediately. A custom 404 page with your site’s navigation and helpful links recovers those visitors.

From an SEO perspective, a proper 404 status code tells search engines the page does not exist, so they stop trying to index it. A soft 404 (200 status) causes search engines to waste crawl budget on empty pages.

How to fix it

Create a custom 404 page

Include your normal site header, footer, and navigation. Add a search box and links to your most popular pages. Keep the tone helpful, not apologetic.

Configure your server

Nginx:

error_page 404 /404.html;

Apache:

ErrorDocument 404 /404.html

WordPress: Create a 404.php file in your theme directory.

Rails: Edit public/404.html or use a custom route with match '*unmatched', to: 'errors#not_found', via: :all.

Avoid soft 404s

Make sure your server returns HTTP 404 (not 200) for pages that do not exist. Test with:

curl -sI https://yoursite.com/this-page-does-not-exist | head -1

The response should show HTTP/1.1 404 Not Found.

How to verify the fix

Visit a non-existent URL on your site and confirm you see your custom page with navigation. Check the HTTP status code is 404 (not 200 or 301). Run a SiteCurl scan to verify the custom error page check passes.

A good 404 page complements your broken links fix. Fix broken links to reduce 404 hits, and set up a custom 404 page to handle the remaining ones gracefully.

Start a free trial to check your error page setup.

Run a full technical health check

Find broken links, missing tags, redirect chains, and structural problems.

Start 7-Day Studio Trial

No credit card required.

We use cookies to understand how visitors interact with our site. No personal data is sold.