How to Find and Fix Broken Internal Links in WordPress
Broken internal links are one of those problems that creep up quietly. You publish a post, link to another page, maybe rename that page six months later, and suddenly you have a link pointing nowhere. Multiply that across a site with dozens or hundreds of posts and you have a real problem — one most site owners don’t discover until Google tells them about it.
This is how to find and fix them properly.
Why broken internal links matter
When a user clicks a link on your site and lands on a 404 page, they leave. That’s bad for engagement and bad for your bounce rate. But the SEO damage runs deeper than that.
Search engines follow internal links to discover and index your content. A broken internal link is a dead end — the crawler follows it, hits a 404, and stops. Any pages that were only reachable through that broken link may not get crawled at all. Over time, a site with a lot of broken internal links signals poor maintenance to both users and search engines.
The problem with finding them manually
You could go through every post on your site and click every link. On a site with ten posts that’s annoying. On a site with a hundred posts it’s a full day’s work. On a site with a thousand posts it’s simply not possible.
The practical approach is to crawl your own site the way Google does — automatically, systematically, and with results you can act on.
How Lightcrawl finds broken internal links
Lightcrawl is Blacklight’s internal crawler. It scans your site in batches, follows every internal link it finds, and records the HTTP response code for each URL. A 404 response means a broken link.
When the crawl completes you get a filtered view of every URL on your site returning a 404. More usefully, you can see the source — which page the broken link was found on — so you know exactly where to go to fix it.
This turns a site-wide audit that would take hours manually into something you can action in minutes.
How to fix broken internal links
Once you have your list of broken URLs the fixes are usually straightforward:
If the destination page was renamed or moved, update the link to point to the new URL. If the destination page was deleted and the content no longer exists anywhere, remove the link entirely. If the destination page was deleted but the content was merged into another page, update the link to point to the new location.
For broken links that come from external sites pointing to old URLs on your site — that’s a redirect job, not a link editing job. Create a redirect from the old URL to the current one so anyone following that link still reaches your content.
Keeping on top of it
The real value of crawling for broken links isn’t the one-time audit — it’s the ongoing monitoring. Lightcrawl rebuilds its queue automatically every 24 hours, which means new broken links get caught quickly rather than sitting undetected for months.
A site that gets regularly crawled stays healthier than one that only gets audited when something obviously goes wrong.