Published on 17 de September 2026
Broken internal links: how to find and fix every one
A link on your own site that leads to an error page is a customer leaving without a word. Why they break, what they cost and how to find every one in an afternoon.
A customer lands on your site, finds something they want, clicks… and hits an error page. They don't go back. They leave.
Google didn't cause it. Neither did someone else's outdated link. Your own site sent them there, through a link you published, pointing at a page that no longer exists.
It is one of the most common and least reviewed problems on the web. And unlike most of SEO, this one is not debatable. There is no nuance, no "it depends". A broken internal link is always a defect.
What it actually is
A broken internal link is a link from one page of your site to another page of your site that returns an error, usually a 404.
It is worth separating it from two things that look similar:
- A broken external link points to someone else's site that closed or reorganised. Annoying, but out of your hands.
- A 404 nobody links to is a dead URL no one visits. Untidy, but harmless.
The broken internal link is worse than both, because you are the one sending your visitor into the error. You published that link, in your menu or your product page, and it is still there inviting the click.
Why they appear
Nobody breaks links on purpose. They accumulate:
You retire a product or a category and delete the page, but the link in the menu, the footer or the "related products" block stays published.
You improve a URL and either forget the redirect, or add it and forget the internal links still pointing at the old address.
You migrate the site and the content moves, but links written by hand inside the text keep pointing at the old paths.
A plugin or a theme generates automatic links to things that no longer exist.
Someone publishes an article and mistypes a URL.
The pattern never changes: the site moves on and the links do not. The older the site and the more hands it has passed through, the more broken links it carries.
What it really costs you
First, the experience. A visitor who hits an error halfway through what they were doing will not give you a second chance. If they were about to buy, they don't. If they were reading, they leave. And they will not tell you: no one emails you to say your menu leads nowhere.
Second, crawling. Search engines follow your links to discover and make sense of your site. Every link into an error is a crawl visit spent on nothing, and a signal that the site is not maintained.
Third, and this is the one most people miss: a broken link pours authority into a hole. Whatever strength that page could be passing to another page of yours is simply lost.
How to find all of them
Here is the detail that changes the work: knowing a 404 exists is useless unless you know where it is linked from.
Search Console tells you a URL returns an error. It does not tell you which page contains the link you need to edit. Without that, fixing it becomes a hunt.
With a crawler it is direct. Using Crawler SDR:
- Crawl your domain. The free version covers up to 500 URLs, enough for most business sites and blogs.
- Open the links tab and sort by response code.
- Filter by 4xx. There are all the destinations that fail.
- Read the Source column. That is the page holding the broken link, the one you have to edit.
- Export to Excel and hand the list over if someone else will do the fixing.
On a mid-sized site this is ten minutes of crawling and an afternoon of fixes. The first time, there are usually more than you expected.
How to fix them
It depends on why it broke:
The destination exists at a different URL. Correct the link to point at the new one. Do not settle for adding a redirect: the redirect is the patch, the corrected link is the repair.
The destination is gone with no equivalent. Remove the link. If it was a discontinued product, link to its category instead.
The destination is gone but something similar exists. Link to that, and also add a 301 from the old URL, because other sites may still link to it.
It is a typo. Fix the typo.
One piece of advice: start with links inside templates — menu, footer, sidebars. A single broken link there repeats across thousands of pages, so it does the most damage for the least work to fix.
How to stop them coming back
Broken links are not fixed once, they are watched. Two habits are enough:
Crawl after every significant change. A redesign, a migration, a catalogue clean-up. That is when things break.
Compare before and after. Crawler SDR stores crawls and compares two of them, so you can run one before touching anything and another afterwards, and see exactly what the change broke. Far faster than reviewing the whole site again.