How to Find and Fix Broken Links and 404 Errors
Find broken links and 404 errors with free tools, decide which ones need a 301 redirect, and fix them without redirect chains, soft 404s or lost traffic.
By freeseobot Editorial · Published · 6 min read
A 404 error means the page asked for does not exist. Google says 404s are a normal part of the web and do not, on their own, hurt the rest of your site in search results. The ones worth fixing are 404s on pages people still visit or link to, and broken links inside your own site. Fix those with a permanent 301 redirect to the closest matching page, or by correcting the link itself.
This guide shows how to find them for free, which ones to fix first, and how to avoid the common redirect mistakes.
Do 404 errors hurt SEO?
Not by themselves. Google's Search Central blog put it plainly in a post titled "Do 404 errors hurt my site?": URLs that no longer exist "does not affect how your site's other URLs... perform" in search results. Google's documentation on HTTP status codes adds that pages returning a 4xx code are not indexed, and pages already indexed are dropped once they start returning one.
So 404s matter in three specific cases:
- A page you care about returns 404 by mistake. It drops out of Google.
- Other sites link to a dead URL. Visitors land on an error page and the value of that link is lost.
- Your own pages link to dead URLs. Visitors hit dead ends and crawlers waste time.
A deleted product that nobody links to can safely return 404.
Step 1: Find 404 errors and broken links
Use several sources, because each one sees something different.
| Source | What it finds | Where |
|---|---|---|
| Search Console | URLs Google tried and got a 404 | Indexing > Pages > Not found (404) |
| Search Console | Soft 404s (error pages returning 200) | Indexing > Pages > Soft 404 |
| Site crawl | Internal links pointing to missing pages | A crawler such as our SEO checker |
| Search Console Links report | Your pages that other sites link to most | Links > External links > Top linked pages |
| Server or analytics logs | Real visitors hitting 404s | Your hosting control panel or analytics |
Search Console's 404 list includes old URLs from years ago and URLs other sites typed wrongly. Do not try to clear it to zero. Focus on the URLs that matter. Our guide on why a page isn't indexed explains the other statuses in the same report.
Step 2: Decide what to do with each 404
| Situation | Action |
|---|---|
| Page moved to a new URL | 301 redirect old URL to new URL |
| Page deleted, a close replacement exists | 301 redirect to the replacement |
| Page deleted, no replacement, has backlinks or visits | 301 redirect to the closest relevant category page |
| Page deleted, no replacement, no links or visits | Leave it as a 404 (or 410) |
| Typo in an internal link | Fix the link in your page |
| Typo in a link from another site | 301 redirect the typo URL to the right page |
| Page should exist but returns 404 | Restore the page |
Google's 2011 post specifically suggests a 301 for misspelled inbound links, so you capture the traffic from that link.
Do not redirect everything to the home page
It is tempting to send every dead URL to the home page. Visitors who expected a specific product get a generic page instead. Google's help page on 404 errors says redirecting users to another page, such as the home page, instead of returning a 404 can be treated as a soft 404, and that deleted content with no replacement should return 404 or 410. A real 404 page with search and links to your main sections is more useful.
Step 3: Use the right kind of redirect
Google's redirect documentation splits redirects into two groups:
| Type | HTTP codes | When to use | How Google treats it |
|---|---|---|---|
| Permanent | 301, 308 | The page has moved for good | Strong signal the new URL is the canonical |
| Temporary | 302, 303, 307 | The move will be reversed | Original URL may stay in results |
Use a permanent redirect when you are sure it will not be reversed. A meta refresh with zero delay is treated as permanent; any delay makes it temporary. JavaScript redirects work only if Google renders the page, so Google recommends them only when server-side redirects are not possible.
How you add a redirect depends on your platform:
- WordPress: a redirect plugin, or rules in your
.htaccessfile on Apache servers. - Shopify: Content > Menus > View URL redirects, according to Shopify's help centre.
- Wix: the URL Redirect Manager in the SEO settings. Squarespace: the URL mappings panel in settings.
- Next.js, Netlify, Vercel or Cloudflare: redirect rules in the project configuration.
Step 4: Avoid redirect chains
A chain is when URL A redirects to B, which redirects to C. Chains slow visitors down and, past a point, crawlers stop following them.
Google's site move guidance recommends sending old URLs straight to their final destination. If that is not possible, keep chains short: "ideally no more than 3 and fewer than 5". Googlebot follows up to 10 hops, but Google calls that a limit, not a target.
When you add a new redirect, check whether anything already redirects to the URL you are moving. If it does, update the older redirect to point straight at the new final URL.
Step 5: Fix soft 404s
A soft 404 is a page that looks like an error ("Product not found", an empty search result, a blank category) but returns a 200 "OK" status code. Google reports these in Search Console as Soft 404.
Fix them by either:
- returning a real 404 or 410 status for pages that do not exist, or
- adding real content if the page should exist.
A quick test: visit yourdomain.com/this-page-does-not-exist-123. If the page shows an error but your browser's developer tools show status 200, your site returns soft 404s for every missing page. Our SEO checker runs this test as part of its scan.
Step 6: Keep redirects for the long term
Google's site move documentation says to keep redirects "for as long as possible, generally at least 1 year", and to consider keeping them indefinitely for visitors. On a small site there is little cost to keeping them forever. Removing a redirect that still has links pointing to it turns it back into a 404.
How to stop new broken links appearing
- Change URLs as rarely as possible. Every change needs a redirect.
- Add the redirect at the same time as you rename, move or delete a page.
- Update your internal links to the new URL, rather than relying on the redirect.
- Update your XML sitemap so it lists only live, final URLs. Our XML sitemap guide explains why.
- Re-crawl monthly and after every redesign.
When you connect a site to freeseobot, weekly checks include broken internal links, so a link that breaks after a plugin update or a deleted page shows up in your dashboard rather than in a customer complaint.
Questions
Should I use 404 or 410 for deleted pages?
Either works. Google's documentation on HTTP status codes treats all 4xx codes except 429 the same way: as a signal the content does not exist. Use whichever your platform makes easier.
How long does it take Google to drop a 404 page?
It depends on how often Google recrawls the URL. Google says already-indexed pages are removed once they return a 4xx code and are recrawled. For an urgent removal, use the Removals tool in Search Console as a temporary measure.
Can too many redirects hurt my site?
Redirects themselves are fine. Long chains and loops are the problem. Point every redirect, and every internal link, directly at the final URL in one hop.
Why does Search Console show 404s for pages I never created?
Other sites, old campaigns or bots may link to URLs that never existed. If no one is visiting them and nothing important links to them, you can ignore them.
Sources
- Google Search Central blog, Do 404 errors hurt my site?: https://developers.google.com/search/blog/2011/05/do-404s-hurt-my-site
- Google Search Central, How HTTP status codes, and network and DNS errors affect Google Search: https://developers.google.com/search/docs/crawling-indexing/http-network-errors
- Google Search Central, Redirects and Google Search: https://developers.google.com/search/docs/crawling-indexing/301-redirects
- Google Search Central, Site moves with URL changes: https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes
- Google Search Console Help, 404 (Page Not Found) errors: https://support.google.com/webmasters/answer/2445990
- Google Search Console Help, Page indexing report: https://support.google.com/webmasters/answer/7440203
- Shopify Help Center, URL redirects: https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect