Every WordPress site that has been around for more than a year is quietly leaking broken links. A post gets deleted, a page is renamed, a product is retired, an external site you linked to goes dark. None of it announces itself. The link just stops working, and the next visitor who clicks it lands on a dead end that makes your site feel a little less maintained than it actually is.
Broken links are the kind of problem that is easy to ignore, because no single one is urgent, and impossible to fix by hand, because there are always more than you think. This is a guide to finding all of them, telling the different kinds apart, and fixing each the right way, instead of papering over the lot with a redirect to your homepage.
What a broken link actually costs
Three things, mostly. The first is the visitor: someone clicked expecting to get somewhere and got a 404 instead, and a fraction of those people simply leave. The second is search: when a search engine follows a link to a dead page, the authority that link was passing evaporates, and a site riddled with 404s reads as neglected. The third is the slowest and most expensive: trust. A site that sends you to dead ends is a site you stop relying on.
None of that is dramatic. It is a slow tax, and like most slow taxes it stays invisible until you add it up.
The kinds of broken link, and why they are not the same
"Broken link" gets used as a single phrase for several different problems, and the right fix depends on which one you are looking at.
Internal broken links
A link from one of your pages to another of your pages that no longer exists. You control both ends, which means you can fix it properly: send the old URL to the right destination with a redirect, or update the link to point somewhere that works. These are the most fixable, and usually the most common.
External broken links
A link from your site to someone else's page that has gone away. You control your end but not theirs, so you cannot redirect it. The fix is to repoint the link to a working source or remove it. The value here is simply knowing which ones rotted, because you almost never notice an external link dying.
Orphan pages
Not broken, exactly, but worth catching: a page that exists and works but that nothing on your site links to. Visitors and search engines find pages by following links, so an orphan is effectively invisible. Either link to it from somewhere relevant, or, if it has outlived its purpose, retire it.
Broken redirects
The easiest kind to miss. A redirect you set up months ago whose destination has since been deleted still catches real traffic, from old bookmarks, links on other sites, search results that have not caught up, and now sends every one of those visitors to a 404. Nothing on your site links to the old URL any more, so no amount of clicking around finds it; only checking the rules themselves does. A broken link nobody clicks is theoretical. A broken URL with live traffic is costing you visitors right now.
Finding them without a crawl marathon
You cannot find broken links by clicking around. On any real site there are too many, and the ones that matter are never the ones you would think to check. You need two things working together.
The first is a crawl: something that follows every link on the site and records which ones fail, and, crucially, where each broken link was found, so you can go fix it at the source. RecapWP Pro does this across your whole site and lists every broken link with its origin.
The second is auditing the redirects themselves. RecapWP checks every redirect rule as part of the crawl: a rule whose target has since died is flagged at high severity, because real traffic is still arriving through it and landing on a dead page, and you can repoint it to a live destination on the spot. That is how a dead URL with live traffic reaches the top of your list instead of hiding in a log.
A broken link nobody clicks is theoretical. A broken URL with live traffic is costing you visitors right now.
Fixing each kind the right way
For an internal broken link, or a broken redirect, the right fix is almost always a permanent redirect that sends the old address to the correct new one. RecapWP creates that redirect for you: pick the type (a permanent 301 in most cases, a temporary 302 when the move might reverse), point it at a destination, and the target is checked to be live before the rule can be created, so a redirect can never lead into another dead end. Every rule is reversible and managed in one place, the Redirects tab, so your redirects do not quietly become their own mess over time.
For an external broken link, repoint it to a working source or take it out. For an orphan page, give it a link from somewhere relevant or retire it. These are editorial calls, so they are surfaced for you to decide rather than changed automatically.
One thing not to do: do not redirect every dead URL to your homepage. It feels tidy, but to a search engine a homepage redirect for missing content reads as a soft 404, and that is worse than an honest one. If a page is genuinely gone with no equivalent, mark it gone instead: RecapWP can answer the URL with a Gone (410), the strongest signal for search engines to drop it from results, or a plain 404. Redirect when there is a real destination, not as a reflex.
Keeping them from coming back
Broken links are not a problem you solve once. They come back after every migration, every restructure, every bulk delete, because that is exactly when URLs change. The way to stay ahead of them is the same as the rest of site health: crawl regularly (RecapWP's Broken Links tool makes it a one-click run, with the results streaming in live), and clear the new findings worst-first while the list is still short.
Do that and broken links stop being a periodic cleanup you dread and become a handful of findings you clear in a few minutes. The fastest way to see how many your own site is carrying is to run a scan and look.