Users meet your brand on the path that failed.
A blank nginx page, a React crash overlay in production, or a soft 404 that returns HTTP 200 with “not found” all say the same thing: nobody owns the edge cases. Search engines also read status codes; soft 404s muddy the index and waste crawl attention.

When the path ends, show the way back.
What good error pages do
- Correct HTTP status (404, 410, 500, 503)
- Human language: what happened, what to try next
- Navigation to home, contact, or search
- No stack traces, internal hostnames, or framework versions
- Brand consistency without mocking the user
- For 503: honesty about maintenance;
Retry-Afterwhen you mean it
Soft 404s
Returning 200 for missing content trains crawlers and analytics the wrong lesson. Prefer real 404/410. If marketing wants a “helpful not found” page, keep the status code honest.
Instrument
Track rates of 404 and 5xx by referrer and release. Spikes after deploys are release bugs. Spikes on old campaigns are redirect-map debt. Pair with the migration and ownership practices elsewhere in this journal.
Security
Error detail is attacker reconnaissance. Log deeply server-side; show little client-side. Correlation IDs help support without leaking stack frames.
Closing
Design failure templates with the same care as the homepage. Trust is how you behave when the happy path is gone.
Need error and maintenance templates wired into a site platform? Start a project inquiry.
Copy tone
Be clear, calm, and specific. Avoid jokes that punch down. Avoid blaming the user for server faults. Offer contact paths that work when search is also broken (direct email/phone).
404 vs 410
410 helps when content is intentionally gone forever. 404 is the default for unknown. Do not 301 everything to homepage — that creates soft-error SEO mess.
SPA caveats
Client routers must still surface real status codes to crawlers for marketing URLs, or prerender error documents. A JS-only “not found” with 200 OK is a technical SEO defect.
Maintenance mode
Dedicated 503 page at the edge when origin is down. Static HTML on the CDN so the failure page does not depend on the failing app.
Content strategy for not-found
Offer:
- Search
- Top destinations (services, contact)
- Recent blog posts (optional)
- Direct email
Do not auto-redirect all 404s to home. That hides IA problems and confuses analytics.
Multi-brand and locales
Localized error templates matter. A French user hitting an English stack dump is a brand failure. Keep error templates in the same i18n system as the site chrome.
Ownership
Error templates need an owner in the post-launch map. When CDN config changes, someone must re-test 404/503 behavior.
Analytics on errors
Track error page views with the status code dimension. Do not count them as successful content engagement. Use them to prioritize redirect maps and broken campaigns.