How to Find and Fix Broken Links on Your Site
Updated 11 September 2026 · 6 min read
A broken link is a link that leads to a page that no longer works. The visitor clicks and gets an error page, a server error, or nothing at all. Every site accumulates them over time: pages get renamed, products are discontinued, and the external sites you reference move or disappear.
Broken links won't usually wreck your search rankings on their own, but they frustrate visitors, waste crawler attention, and can mean losing the value of backlinks you worked hard to earn. This guide covers the different kinds of broken links, how to find them, how to decide between updating, redirecting and removing, and how to prioritize the work.
The four kinds of broken links
Not all broken links are the same, and the fix depends on the kind.
- Internal broken links. A link on your site points to another page on your site that no longer exists. You control both ends, so these are the easiest to fix.
- Outbound broken links. A link on your site points to an external page that's gone. You can't fix their page, but you can update or remove your link.
- Inbound broken links. Another site links to a URL on your site that no longer works. You can't edit their page, but you can make the old URL work again with a redirect.
- Broken resources. Images, scripts, stylesheets or downloadable files that fail to load. These often break page layout or functionality in ways that are easy to miss.
What "broken" means technically
When a link is followed, the server returns an HTTP status code. The ones that indicate a problem:
- 404 Not Found: the URL doesn't exist.
- 410 Gone: the URL existed and was removed on purpose.
- 5xx errors: a server problem, such as
500or503. These may be temporary. - DNS failures and timeouts: the domain doesn't resolve or the server doesn't respond.
Google's documentation on HTTP status codes explains that it treats 4xx responses as a signal that the content doesn't exist. Pages that return them are dropped from search results over time. Persistent server errors lead Google to crawl less and, eventually, to drop pages as well.
A word of caution: some sites return 403 Forbidden or 429 Too Many Requests to automated checkers because of bot protection, even though the page works fine in a browser. Before you remove an outbound link flagged with those codes, open it yourself.
Soft 404s
A soft 404 is a page that tells visitors it doesn't exist but returns a 200 OK status code. Examples include an empty category page, a "product not found" message, or a template with no content. Google flags these in Search Console because the status code says "this is a real page" while the content says the opposite.
The fix is to return the correct code. If the content is gone, return 404, or 410 if it's been permanently removed. If there's a relevant replacement, redirect to it.
How to find broken links
Use more than one source, because each catches different problems.
Crawl your own pages
Our Broken Link Checker scans a page and checks every link on it, reporting the ones that return errors. Start with your most important pages: the homepage, main category pages, top blog posts, and anything in your navigation.
Google Search Console
- Pages report: under Indexing, look for "Not found (404)" and "Soft 404" in the reasons pages aren't indexed. Click each reason to see example URLs.
- Links report: the Top linked pages list shows which of your URLs other sites link to. Any of those returning a
404is an inbound broken link worth fixing.
Server logs and analytics
Your server access logs record every request that returned a 404, including the URL and often the referring page. In analytics, if your 404 page has a consistent title like "Page not found", you can filter page views by that title to see which missing URLs visitors actually hit, and where they came from.
How to fix each broken link
For every broken link, pick one of four fixes. Here's the decision process:
- Is it an internal link to a page that moved? Update the link to point directly at the new URL. Don't rely on a redirect for your own links.
- Does the missing page have a relevant replacement? Add a
301redirect from the old URL to it. This is essential for inbound broken links. - Is it an outbound link to a page that's gone? Find the new location of that content, link to an equivalent resource, or remove the link. An archived copy of the original page can be an acceptable replacement for citations.
- Is the content gone with no replacement? Let it return
404or410, and remove any internal links pointing to it.
Here's how that looks in practice:
| Broken link | Type | Fix |
|---|---|---|
| Menu link to /summer-sale-2025/ | Internal | Remove from menu; let the URL return 404 |
| Blog link to /guides/tent-size/ (renamed to /guides/tent-sizes/) | Internal | Update the link to the new URL |
| 14 external sites link to /free-packing-list.pdf, which was deleted | Inbound | Restore the file, or 301 to the current packing list page |
| Article cites a study page that now returns 404 | Outbound | Find the new location, or link to an archived copy |
| Product page for a discontinued tent | Inbound and internal | 301 to the successor model, if one exists |
After adding redirects, test them with our Redirect Checker to confirm each one is a single 301 hop to a working page rather than a chain. For more on choosing redirect types, see 301 vs 302 redirects.
Don't redirect everything to the homepage
It's tempting to catch every missing URL and send it to the homepage. Visitors looking for a specific page find themselves somewhere unrelated, which is confusing, and search engines may treat mass homepage redirects like soft 404s. Only redirect when a genuinely relevant replacement exists.
Build a useful custom 404 page
Some broken links will always slip through, so make your 404 page helpful. A good one:
- Returns a real
404status code. This is the most important point. A friendly page that returns200becomes a soft 404. - Says clearly that the page wasn't found, in plain language.
- Offers a way forward: a search box, links to your main sections, and your most popular pages.
- Keeps your site's normal navigation and design, so visitors don't feel lost.
On Apache, point to your custom page with:
ErrorDocument 404 /404.html
On nginx:
error_page 404 /404.html;
location = /404.html {
internal;
}
Then check it: request a URL that doesn't exist and confirm the response is 404:
curl -s -o /dev/null -w "%{http_code}\n" https://www.example.com/this-page-does-not-exist
The output should be 404. If you see 200, your error page is creating soft 404s.
How to prioritize
On a large site you may find hundreds of broken links. Work through them in this order:
- Inbound broken links with backlinks. These are lost link value you can recover with a single redirect each. See how to check backlinks for finding them.
- Sitewide template links. A broken link in your header, footer or sidebar appears on every page. One fix clears hundreds of instances.
- Broken links on high-traffic pages. Use analytics to find the pages most people see.
- Broken resources on key pages. Missing images or scripts can break layouts and checkout flows.
- Everything else, in batches.
Preventing broken links
- Redirect when you change a URL. Make it part of your publishing routine, not something you remember later.
- Check before deleting pages. Look at the Links report for backlinks and search your own site for internal links first.
- Use your CMS's internal link features rather than pasting full URLs, so renamed pages update automatically where possible.
- Scan regularly. A monthly check of your key pages catches outbound link rot before it piles up.
- Keep a redirect list. A simple record of old and new URLs makes migrations and audits much easier.
Broken link checklist
- Scan key pages for internal, outbound and resource errors.
- Review Not found and Soft 404 reasons in Search Console.
- Redirect inbound broken URLs that have backlinks to relevant pages.
- Update internal links to point directly at final URLs.
- Replace or remove dead outbound links.
- Make sure your 404 page returns a real
404status. - Repeat on a schedule.
Broken links are routine maintenance, not an emergency. A steady habit of finding and fixing them keeps your site easy to use, keeps crawlers focused on real content, and makes sure the links others give you keep counting. For a wider check of your site's health, see the SEO audit checklist.