No, 404 errors aren’t bad for SEO when handled well; a proper not-found removes dead URLs without hurting healthy pages.
Broken addresses happen on every site. A product retires, a post merges, a slug changes. Search systems expect that mess. What matters is how your server responds and how you guide visitors. Done right, a not-found is routine maintenance, not a ranking hit.
What A 404 Really Means
A 404 status tells browsers and bots that a page doesn’t exist at that path. Search crawlers then drop that URL from the index over time. Other pages on the same domain can still perform well. There’s no sitewide penalty from ordinary not-found responses.
Google’s own guidance backs this up. Return a real 404 or 410 when content is gone. If you moved the content, send a 301 to the new location. Clear, predictable signals help crawlers and keep people on track.
HTTP Status Codes And Their SEO Effects
The table below compresses common codes you’ll run into and what they imply for crawling and indexing.
| Code | Meaning | SEO Effect |
|---|---|---|
| 200 | OK: content exists | Eligible to index and rank |
| 301 | Permanent redirect | Signals new canonical location |
| 302 | Temporary redirect | Short-term move; use with care |
| 404 | Not found | URL gets removed from index |
| 410 | Gone | Like 404; removal can be faster |
| 500 | Server error | Poor crawlability; fix fast |
| 503 | Service unavailable | Use for maintenance windows |
| Soft 404 | Error view with 200 | Confuses crawlers; fix to real 404 |
Are 404s Bad For Search? A Practical View
Here’s the short version: a clean 404 is fine. What hurts is the stuff around it. Dead internal links annoy visitors. Blanket redirects waste signals. Fake “success” pages mislead indexes. Tidy your paths and you’ll be fine.
When A Not-Found Is Totally Fine
Content with no true replacement should return a 404 or 410. That’s a clear end of life. Old event pages, discontinued SKUs, and thin duplicates are common cases. If external links still point at those paths, consider a redirect only when a close match exists. Otherwise let the 404 stand and offer helpful next steps on the page.
Where Trouble Creeps In
Problems start when the server sends mixed signals. A “page not found” template that returns 200 is a classic soft 404. Crawlers see success but people see an error. Indexing gets messy, crawl budget gets wasted, and sessions end early. Another trap is sending every missing URL to the home page. That hides the issue and confuses both visitors and bots.
Best Practices That Keep Rankings Safe
Follow these habits and a not-found will be a non-issue.
Return The Right Code
Serve a real 404 for missing content or a 410 if you’ve retired it for good. Save 301 for true moves where a strong one-to-one replacement exists. Don’t return 200 on an error template.
Build A Helpful 404 Page
A good error page lowers frustration and keeps sessions alive. Add a clear headline, a short apology, a search box, links to top categories, and a path back to the last step. Keep the design consistent with your theme so visitors know they’re still on your site. Keep scripts light so the page loads fast even under stress.
Fix Broken Internal Links
Run crawls and catch links that point to dead paths. Update them to living pages or remove them. This is about user flow and conversion. It also saves crawlers from wasting requests on dead ends. Start with navigation, footers, related-content blocks, and high-traffic articles.
Redirect With Relevance
When a URL moved, use a 301 to the closest match. Keep chains short. Don’t send an old blog post to the home page just to keep a 200. That move lowers trust. If there isn’t a clear landing place, keep the 404 and make the error page useful.
Watch For Soft 404s
Check your site for any error template that returns 200 or 302. Make sure it returns 404 or 410 instead. This single tweak prevents a long list of index headaches.
What Google Says
Google’s stance is plain: not-found responses are normal signals, and a real 404 or 410 lets the system drop that URL while other pages continue to rank. You only need redirects when there’s a clear successor. For more detail, see “Do 404s hurt my site?”. That post pairs well with the “crawl budget guide,” which explains why soft 404s and junk paths waste time on large sites.
How Many 404s Is “Too Many”?
There isn’t a magic number. A small site might see a handful in a month. A marketplace might see thousands a day. Volume alone isn’t the metric. The real test is whether users hit dead links during normal paths and whether crawlers spend time on garbage URLs. If either is true, you have cleanup work. If not, you’re fine.
Signals That Point To A Problem
- Analytics shows exits or short sessions right after a not-found.
- Search Console fills with soft 404 or redirect chain reports.
- Server logs show endless requests to similar junk URLs.
- Key pages lose internal links because of template or taxonomies.
Practical Workflow To Handle Not-Found URLs
Use a short, repeatable process. It keeps decisions consistent across teams and sprints.
Step 1: Classify The URL
Is the content gone, moved, or merged? If gone, use 404 or 410. If moved, 301 to the best match. If merged, 301 to the primary page. If content is seasonal and returns later, consider a 302 during the gap and switch back when live.
Step 2: Fix The Source
Find the link that points to the dead path. Update navigation, templates, feeds, hreflang tags, and sitemaps. Don’t let the same error keep coming back through a loop in your CMS or a stale import.
Step 3: Improve The 404 Template
Add site search, category links, and a short contact option. Keep it light and fast. Offer a few trending articles or top products. Use clear copy: “We couldn’t find that page” beats clever jokes when someone just wants to continue.
Step 4: Monitor
Check Search Console and crawl reports weekly on larger sites and monthly on small ones. Watch trends, not single spikes. Review server logs when traffic or crawling shifts. Keep a changelog so you can connect code pushes to error swings.
When A 301 Is Better Than A 404
Redirects preserve equity when the new page serves the same need. Think in terms of user intent. If a guide gets renamed, redirect it. If a color variant is retired but the product still exists, redirect to the parent SKU. If a sale landing page ends and no longer matches any live content, don’t redirect it. Let it die with a helpful 404.
Redirect Patterns To Avoid
- Sending every missing URL to the home page.
- Creating long chains or loops.
- Pointing to thin or off-topic pages just to keep a 200.
Backlinks, Equity, And Real-World Choices
Old links don’t always match a current page. If you have a strong, close match, 301 is a win for users and for signals. If the only option is a weak match, a redirect can feel like a bait-and-switch. Use your analytics to see which dead URLs still receive referrer traffic. Fix the ones that send people, and don’t sweat the junk that bots only guess at.
For mass cleanups, sort dead paths by referrers and by click depth. Start with the ones that both users and crawlers hit often. Then handle groups by pattern: tag archives, old author slugs, or date folders. This saves time and keeps fixes consistent.
Crawl Budget On Large Sites
On small sites, not-founds barely move the needle. On large sites, soft 404s and junk URLs can add up. They burn requests that could crawl fresh content. Tighten your templates, block infinite filters with rules, and prune query strings that create endless low-value paths. Keep sitemaps clean so crawlers spend time where it matters.
WordPress, Shopify, And Headless Tips
WordPress
Lock down search pages and attachment pages if they spin out thin content. Mind permalink changes after theme swaps. Test your 404.php to ensure it sends a true 404 and carries search and category links.
Shopify
Collections and tags can spawn low-value paths. If a product is gone, point to the parent collection when it fits. Keep filters sane so bots don’t crawl endless combinations. Audit apps that add parameters.
Headless
APIs can return 200 with an empty body if a route isn’t handled. Map missing routes to a proper 404 with a helpful shell. Keep CDN rules from rewriting every miss to the index page.
Media And Asset 404s
Image and script misses can tank Core Web Vitals and user trust. During redesigns, keep a manifest that maps old asset paths to new ones. Serve long cache headers for stable assets, and purge stale references in templates. Track 404s for /wp-content/, /assets/, and /static/ so you catch theme issues fast.
Status Code Choices For Common Scenarios
Use this quick reference during content cleanups.
| Scenario | Status | Why |
|---|---|---|
| Content moved | 301 | Directs to new canonical |
| Content removed | 404 or 410 | Signals end of life |
| Short promo expired | 404 | No lasting replacement |
| Variant retired, parent live | 301 | Sends to best match |
| Error template with 200 | Fix to 404 | Prevents soft 404 |
| Mass redirect to home | Avoid | Misleads users and bots |
How To Catch 404s Before Users Do
Use Search Console
The crawl stats and page indexing reports surface spikes in not-found and soft 404s. Pair that with URL inspection for tricky cases. Set alerts so you hear about changes fast.
Crawl Your Site
Run a crawler weekly or during releases. Sort by status code. Export the 4xx list. Group by template or directory to find root causes. Fix the sources, not just the symptoms. Re-crawl after each sprint to confirm the drop.
Read Server Logs
Logs reveal patterns tools miss, like bots probing odd paths or a theme asset that moved. They also show which dead URLs get referrer traffic worth rescuing with a redirect. Keep a rolling window so you can connect spikes to code pushes or marketing campaigns.
Watch Your 404 Page Analytics
Add an event to the error template. Track search usage, clicks on suggested links, and exits. This shows whether your page helps people continue. If exits stay high, tweak the layout and links until sessions stay alive.
Examples Of Good Handling
Consider a blog that prunes duplicate posts. Each removed slug returns 410 with a helpful error page that links to the main hub. Traffic flows to the hub, and crawlers stop wasting requests on the dead paths. Now think about a shop that retires seasonal SKUs. Each old URL 301s to the parent product, keeping visitors on a page that can convert. Both patterns work because they match user intent and send clear signals.
Are 404s A UX Problem?
They can be, if visitors get stuck. That’s why the template matters. Search on the page, strong links, and a steady design keep people moving. The fastest fix for a session is often a useful category link. Small touches go far here.
Are 404s A Ranking Problem?
No, not by themselves. Dead URLs fall out of the index. The rest of the site can keep winning. The only time rankings slide from not-founds is when internal linking breaks or when soft 404s muddy signals. Clean those up and the slide stops.
Bottom Line For Site Owners
Treat a not-found as a normal housekeeping signal. Serve the right status. Keep the error page helpful. Fix links you control. Redirect only when a real successor exists. Keep sitemaps clean and watch trends. Do that, and search engines stay focused on the pages that matter while visitors stay on paths that convert.