Every internal link on your site is a promise. Click here and you’ll find that page. A broken link breaks that promise — for your visitors, for search engines, and for the crawl equity you’ve spent months building. The frustrating part is that 404s rarely announce themselves. A page gets deleted, a URL gets renamed, a product goes out of stock, and the links pointing to it keep sitting there, quietly leading nowhere. Nobody notices until someone looks.
WHAT A BROKEN LINK ACTUALLY IS
A broken link is any link that points to a URL the server can no longer deliver. The most common response is the 404 Not Found status code — the page doesn’t exist at that address. But 404s aren’t the only kind of breakage. A soft 404 is worse in some ways: the page returns a 200 OK status while showing an empty or error-like message, so search engines think content exists when it doesn’t. A 410 Gone is a deliberate signal that a page was intentionally removed. And a broken redirect — a 301 pointing to a URL that itself 404s — hides the problem one layer deeper, which is why redirect chains so often rot without anyone noticing.
The distinction that matters most for SEO is internal versus external. An internal broken link points from one of your pages to another page on your own site — this is entirely within your control and entirely your responsibility. An external broken link points to a third-party site that has since removed the page. Both hurt user experience, but internal 404s are the ones that directly damage how search engines crawl and understand your site.
WHY BROKEN LINKS LOSE RANKINGS AND TRUST
They Waste Crawl Budget and Break Link Equity
Search engines discover and understand your site by following links. When Googlebot follows an internal link and hits a 404, that crawl request is spent on nothing — no content indexed, no value returned. On large sites, a scattering of broken internal links across templates or navigation can waste a meaningful share of crawl budget, meaning fewer of your real pages get crawled per session. Worse, any authority a page passes through its links — the «link equity» that helps other pages rank — evaporates when the destination doesn’t exist. You’re pouring ranking signal into a dead end.
Users Leave, and Google Notices
A visitor who clicks a link expecting a product, an article, or a checkout step and lands on an error page rarely tries again. They bounce. High bounce rates and short sessions on pages riddled with dead links send behavioral signals that your site isn’t delivering what it promises. For an e-commerce store, a broken link on a category or product page isn’t just an SEO problem — it’s a sale that never happened, because the customer couldn’t reach the thing they wanted to buy.
They Signal a Neglected, Low-Quality Site
Google’s systems are built to reward well-maintained sites. A page covered in broken links looks abandoned — and quality raters are explicitly instructed to treat non-functioning links as a sign of a poorly maintained page. Over time, a pattern of broken links across a domain erodes the overall trust signals that determine how competitively your pages rank against fresher, better-kept rivals in the same niche.
THE MOST COMMON CAUSES OF INTERNAL 404S
Deleted or moved pages without redirects are the single biggest source. A product is discontinued, an old blog post is removed, a landing page from last year’s campaign is taken down — but the links pointing to it are never updated and no redirect is put in place. Every one of those links is now broken.
URL structure changes during a redesign or migration are the most catastrophic cause, because they break links at scale. Moving from one CMS to another, switching to HTTPS, changing your permalink format, or restructuring categories can invalidate thousands of URLs at once. If the old URLs aren’t mapped to the new ones with 301 redirects, your entire internal link graph fractures overnight.
Typos and formatting errors in links are mundane but common: a missing slash, a wrong slug, an uppercase letter where the server expects lowercase, a stray space, or a relative path that resolves incorrectly. Content editors pasting links by hand introduce these constantly.
Out-of-stock or expired dynamic content affects e-commerce and listing sites in particular. Product feeds, filtered category URLs, and seasonal pages come and go, and links to them — from menus, banners, related-product blocks, or old promotions — outlive the pages themselves.
Case sensitivity and trailing-slash inconsistencies quietly generate 404s and duplicate-URL problems on servers that treat /Page, /page, /page/, and /page differently. What looks like the same address to a human is four different URLs to the server, and only some of them may resolve.
HOW TO FIX BROKEN LINKS
Fixing 404s comes down to choosing the right action for each broken URL — and the right action depends on whether the destination should exist, has moved, or is genuinely gone.
For pages that moved
Implement a 301 permanent redirect from the old URL to the new one. This preserves the vast majority of the page’s accumulated ranking signal and sends both users and crawlers to the correct destination. This is the default fix whenever equivalent content exists at a new address.
For links with errors
Simply correct the link at its source. If the target page exists and the link is just mistyped or malformed, fix the href in the content, template, or navigation rather than redirecting — redirects are for moved pages, not for cleaning up typos.
For pages that are genuinely gone
If there is no equivalent replacement, remove the internal links pointing to the dead page so you stop sending users and crawlers into a wall. For URLs you want permanently de-indexed, returning a 410 Gone tells search engines the removal is intentional. Avoid the lazy habit of redirecting every deleted page to your homepage — Google treats mass redirects to an irrelevant destination as soft 404s, so they gain you nothing.
For the unavoidable 404s
Some 404s will always happen — a user mistypes a URL, an old external link points somewhere that never existed. Design a helpful custom 404 page that keeps those visitors on your site: include your main navigation, a search box, and links to popular pages, so a dead end becomes a way back in rather than an exit.
Fix redirect chains and loops
Where an old URL redirects to another URL that itself redirects again, collapse the chain so each old address points directly to the final live page in a single hop. Chains waste crawl budget, leak a little equity at each step, and slow the experience for users.
HOW TO CHECK IF YOU HAVE THIS PROBLEM
Google Search Console is the first place to look, and it’s free. The Pages report under Indexing groups URLs Google has tried to crawl and flags those returning «Not found (404).» Because this data comes straight from Googlebot, it tells you exactly which broken URLs the search engine is actually encountering — the ones that matter most.
A crawler like Screaming Frog (free up to 500 URLs) or Ahrefs Site Audit crawls your entire site the way a search engine would and produces a full report of every internal link returning a 4xx or 5xx status. Crucially, these tools show you the source page each broken link sits on, so you know exactly where to go to fix it — not just that a 404 exists, but which of your pages is pointing at it.
For external broken links and referring-domain issues, Ahrefs or Semrush can flag broken outbound links and broken backlinks pointing at dead pages on your site — the latter is a quick win, since reclaiming a broken backlink with a redirect recovers authority you’d otherwise lose.
Broken links are not a one-time cleanup. Every time you delete a page, rename a URL, run a promotion, or let a product sell out, you create the conditions for new 404s. The sites that stay clean treat link integrity as routine maintenance — auditing with a crawler monthly, checking the Search Console 404 report after every content change, and building redirect mapping into every migration before it launches, not after the traffic drops.