Every broken link on your site is a tiny dead end — a visitor who hit a wall, a search crawler that wasted its budget, and a bit of ranking value that evaporated. The good news: broken links are one of the most fixable problems in web maintenance, once you know how to find them and which repair each one needs.
What is a broken link?
A broken link (or dead link) is any hyperlink whose target no longer works. Technically, a link is broken when the URL it points to returns an error status code — a 4xx (client error, most often 404 Not Found) or 5xx (server error) — or when the target fails entirely at the network level, such as a domain whose DNS no longer resolves.
The classic case is the 404: the server is reachable and responds, but there is nothing at that path. A 410 Gone is a stronger version that says the resource was deliberately removed and will not return. Both are “broken” from a visitor's point of view — they wanted content and got an error instead.
Why broken links matter
It's easy to shrug off a stray 404, but at scale broken links do real damage across four fronts:
- User trust and experience. A dead link is a broken promise. Visitors who hit one are more likely to bounce, less likely to convert, and less likely to trust the rest of your content.
- Wasted crawl budget. Search engines allocate a finite number of fetches to your site. Every request spent on a dead URL is one not spent discovering or refreshing a real page.
- Lost link equity. When an external site links to a page you deleted, that page's inbound authority — the ranking value passed by the link — drains into a dead end instead of flowing to live content.
- Weaker rankings and discovery. Broken internal links stop crawlers from reaching pages that depend on them, so those pages may never get indexed. A site riddled with dead links also reads as neglected, which undermines the quality signals search engines weigh.
Internal vs. external broken links
Not all broken links are equal, and the two kinds fail for different reasons.
Internal broken links
Internal links point from one page on your site to another. When they break, it is almost always because you changed something — renamed a page, restructured a category, or deleted a post — without updating the links that pointed to it. The upside: these are entirely within your control and quick to fix.
External broken links (link rot)
External links point to pages on other people's sites, and those you cannot control. Over time an unavoidable share of them decay — a phenomenon called link rot. Companies rebrand, articles get unpublished, domains expire and get parked, and URL structures change. A link you added that worked perfectly two years ago may now point at a 404, a redirect chain, or worse, a spam site that bought the expired domain. Because link rot is gradual and invisible, external links need periodic re-checking rather than a one-time fix.
What causes broken links
Most broken links trace back to a handful of predictable causes. Recognizing which one you're dealing with tells you exactly how to fix it — the mapping in the next section pairs each cause with its repair.
- Deleted or moved pages with no redirect. The single most common cause — content is removed or relocated but the old URL is left to 404.
- Typos in the URL. A mistyped
href— a missing letter, a stray slash, a wrong extension — points nowhere. - Changed slugs or structure. Renaming a post or reorganizing categories changes the URL, breaking every existing link to the old path.
- Expired or restructured external domains. Link rot: the destination site changed or vanished.
- Case-sensitivity mismatches. On case-sensitive servers (most Linux hosts),
/Aboutand/aboutare different URLs; a wrong case 404s. - Lingering
httplinks after anhttpsmigration. If old links still point tohttp://and no redirect forwards them, they can break or trigger mixed-content warnings.
Soft 404s: the silent problem
A soft 404 is the most deceptive kind of broken link because, on the surface, nothing looks wrong. The page returns a 200 OK status code — the signal that means “here is the content you asked for” — but the actual content is an error message, an empty result, or a “sorry, that page doesn't exist” screen.
This is worse than an honest 404. When a URL correctly returns 404, search engines understand the page is gone and stop indexing it. But a soft 404 lies: the 200 status tells crawlers the page is a valid, live document, so they keep crawling it, keep it in the index, and may even serve it in search results — sending users straight to a dead end that Google thinks is fine.
404 (or 410) status code, not 200. Check the actual status your error pages return — a friendly “page not found” design that still answers 200 is a soft 404 in disguise, and it will quietly pollute your index.How to find broken links at scale
Clicking every link by hand is impossible past a few pages. To audit a real site you need to crawl it automatically and record the HTTP status each link's target returns. Anything answering 4xx or 5xx, or failing to resolve, goes on the fix list.
- Crawl your own pages. A broken link checker follows every link it finds, page by page, and logs the status code of each destination — internal and outbound alike.
- Verify status codes, not just page loads. This is how you catch soft 404s: a page that “looks” broken but returns
200won't flag unless you inspect the actual header. Confirm the real status a URL sends. - Cross-check Google Search Console. Its Pages / coverage report lists URLs Google found returning 404 or flagged as soft 404, including links from sites you don't control.
- Scan your server access logs. Real 404 hits from actual visitors and bots reveal broken inbound links from external pages that a crawl of your own site would never see.
- Re-run periodically. Because external links rot over time, treat this as recurring maintenance — monthly or quarterly — not a one-time cleanup.
Scan your site for broken links now
Crawl any page, check every internal and outbound link, and see the exact status code each one returns — free, no signup.
Open the Broken Link Checker →How to fix each type of broken link
There is no single fix for a broken link — the right repair depends on why it broke and whether an equivalent page still exists. Use this map to match cause to fix:
| Cause | Best fix |
|---|---|
| Page moved to a new URL | Add a 301 redirect from the old URL to the new one so users and link equity follow |
Typo in the link's href | Correct the link to the intended URL — no redirect needed |
| Changed slug / category structure | 301 redirect the old path to the new one, then update internal links to point directly |
| Page deleted, no equivalent exists | Remove or update the link; let the URL return an honest 404 or 410 Gone |
| External page gone (link rot) | Repoint to a live equivalent, an archived copy, or remove the link |
| Case-sensitivity mismatch | Fix the link's casing, or add a redirect that normalizes case |
Old http link after HTTPS move | Update to https and ensure a site-wide http→https 301 is in place |
| Deleted page with valuable inbound links | Restore the page, or 301 to the closest relevant replacement to preserve equity |
Soft 404 (returns 200) | Configure the error page to return a real 404/410 status code |
Two principles cut through the table. First, prefer a 301 whenever an equivalent destination exists — it forwards both visitors and the ranking value the old URL had accumulated. Second, don't redirect for the sake of it. If a page is genuinely gone with no replacement, an honest 404 is correct; mass-redirecting dead URLs to your homepage creates soft-404-like confusion and helps no one.
Building a helpful 404 page
Some 404s are unavoidable — mistyped URLs, ancient inbound links, expired campaigns. What matters is that your 404 page rescues the visitor instead of stranding them. A good one:
- Returns a true
404status code — the non-negotiable technical requirement, so crawlers understand the page is missing. - Clearly says the page wasn't found in plain language, without blaming the user.
- Offers a way forward — a search box, links to popular pages, and a path back to the homepage.
- Matches your site's design so visitors know they're still in the right place, not lost on a broken server.
Fixing broken links is ongoing work, not a one-off. Pages move, external sites decay, and every content update risks stranding an old URL. Build a recurring check into your maintenance routine, and the dead ends never get a chance to pile up.
Frequently asked questions
Do broken links hurt SEO?
What's the difference between a 404 and a soft 404?
404 Not Found status code, honestly telling crawlers the page is gone. A soft 404 returns 200 OK while showing an error or empty page. Soft 404s are worse because search engines can't tell the page is missing, so they keep crawling and indexing it.How do I find broken links on my site?
4xx, 5xx, or failing to resolve is broken. Cross-check with Google Search Console's coverage report and your server access logs to catch inbound links from sites you don't control.Should I redirect or remove a broken link?
301 redirect so users and link equity follow. If your own link's URL is just wrong, correct it. If nothing equivalent exists and the page is genuinely gone, remove or update the link and let the URL return an honest 404 or 410.What causes broken links?
href, external domains that expire or restructure (link rot), case-sensitivity mismatches, and old http links left behind after an HTTPS migration.