How to Set Up a Custom 404 Error Page
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.
Related checks
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.
More on technical health
Run a full technical health check
Find broken links, missing tags, redirect chains, and structural problems.
Start 7-Day Studio TrialNo credit card required.