Finding and Fixing Broken Links in WordPress

wordpress broken link checker tools compared

Broken links are 2 different problems wearing the same name. The internal ones cost you something real and are entirely your responsibility. The external ones are inevitable and mostly not worth chasing.

Sorting those apart is the difference between a useful afternoon and busywork.

404 error page from a broken link

Internal broken links

A link from one page of your site to another page of your site that no longer exists. These are always your doing: a page was deleted, a URL changed, a post was renamed, or a site was rebuilt without redirects.

These matter. They are also completely fixable, because both ends are under your control.

External broken links

A link from your site to someone else’s page that has since moved or disappeared. You did nothing wrong. The other site changed and did not tell you.

These matter far less, and on a site with a long archive you will never get to zero, because the web keeps moving. Fix them on the pages that get traffic and let the rest sit.

If you only do one thing: fix internal broken links on your top 10 pages and ignore the external ones on old posts. That is roughly 90% of the available benefit for about 10% of the work.

What Broken Links Actually Cost You

internal versus external broken links

There is a myth worth clearing up first. Broken links do not directly reduce your rankings. Google has said repeatedly that 404 errors are a normal part of the web and having them does not, by itself, harm your site.

The real costs are more specific and, honestly, more convincing.

  • Internal link equity goes nowhere. When one of your pages links to another, it passes authority. If that link is broken, the authority is spent on a dead end. On a site with 100 posts linking to a page you deleted, that adds up.
  • Crawl budget is wasted. Google spends part of its allowance on your site fetching URLs that return nothing, instead of fetching pages you want indexed.
  • Visitors leave. Someone reading a service page who clicks through to a 404 usually does not come back and click something else. They go back to the search results.
  • It reads as neglect. Not a ranking signal, but a real impression on a human deciding whether to trust you with their money.

The Plugin Hosts Used to Ban

Broken Link Checker is the most widely used tool for this in WordPress and for years it had a serious reputation problem. The original version scanned from your own server, constantly firing outbound requests, and on a large site it consumed enough CPU that several hosts banned it outright.

That is now fixed, and it changes the advice completely. The plugin has a cloud version that runs the scan on WPMU DEV’s infrastructure instead of yours. Their own documentation puts it at roughly 20 times faster than the local mode, and you do not need a paid membership to use it. A free Hub account, which you can create from inside the plugin during setup, is enough.

Check which mode you are on. If the plugin was installed before this change, or if your site was not connected to a Hub account at setup, it may still be running the old local scanner and quietly eating your server resources. The setting is in the plugin’s own dashboard.

Why Half Your Results Are False Positives

This is the part that turns people off link checkers, and almost nobody explains it.

Link checkers are automated scanners, and a large share of the web now blocks automated scanners. So a perfectly working link can be reported as broken because the destination site returned a 403 to the bot, rate-limited it after too many requests, served a Cloudflare challenge page, or blocked the scanner’s user agent entirely.

The rule: open every reported broken link in a normal browser before you touch it. If it loads fine, it is a false positive and you should dismiss it rather than removing a working link.

These are the patterns worth recognising:

  • 403 Forbidden on a site that clearly works. Almost always bot blocking.
  • 429 Too Many Requests. Rate limiting, not a broken link. Rescan later.
  • Timeouts on large or slow sites. Often the scanner giving up rather than the page failing.
  • Social media links. LinkedIn, Instagram and X block scanners aggressively and get flagged constantly.

A genuine broken link returns 404 or 410, or the domain no longer resolves at all. Those are the ones to act on.

The 4 Ways to Find Them

1. A WordPress plugin

Broken Link Checker in cloud mode is the practical default. It scans posts, pages, comments, custom fields and WooCommerce product links, flags missing images too, and lets you edit or unlink directly from the results without opening each post.

AIOSEO also includes a cloud based checker if you already use it, which saves running a second plugin.

Best for: ongoing monitoring on a site you update regularly.

2. Google Search Console

Free, already installed, and it shows you what Google actually found rather than what a scanner guesses. Go to Pages in the Indexing section, then look at Not found (404). Click any URL and check the Referring page detail, which tells you where the broken link lives.

Note that this report is called Pages. Older guides refer to a Coverage report, which Google renamed some time ago.

Best for: finding the broken links that are actually costing you, since these are URLs Google tried to crawl.

3. A desktop crawler

Screaming Frog SEO Spider crawls your whole site the way a search engine would and reports every internal and external link with its status code. The free version has a URL limit that is fine for most small business sites.

It is the most thorough option and the least convenient, since it runs on your computer rather than continuously.

Best for: a proper audit once or twice a year, and before and after a rebuild.

4. A free online scanner

Tools like Dead Link Checker and Broken Link Check scan a site without installing anything.

They are limited on page count and give shallower reports, but they take 2 minutes and require no setup.

Best for: a quick check on a site you do not own or manage.

How to Decide: Fix, Redirect, or Remove

Most guides stop at finding them. The decision about what to do is where the value is, and there are only 4 answers.

Update the link

If the destination moved and you know the new address, just change it.

This is the answer for most internal links after a page was renamed.

Set up a 301 redirect

If a page on your site was deleted or its URL changed, and other sites or search results still point at the old address, redirect the old URL to the closest equivalent page. Fixing the link in your own content does nothing for the external links and bookmarks pointing at the old URL. This is the step people skip.

Do not redirect everything to your homepage. Google treats that as a soft 404 and it frustrates visitors who expected a specific page.

Remove the link

If it pointed to something that no longer exists anywhere, unlink the text and leave the sentence readable.

A dead link to a resource that closed down is worth nothing.

Leave the 404

Genuinely valid. If a page was deleted deliberately, has no equivalent, and nothing links to it, a 404 is the correct answer. Google’s own position is that 404s are normal.

A well designed 404 page with a search box and links to your main sections does the job.

Why Rebuilds Create Hundreds at Once

The single biggest source of broken links is a website rebuild where the URL structure changed and nobody mapped the old addresses to the new ones.

Every internal link in old blog posts breaks. Every external link anyone ever built to you breaks. Every bookmark and every search result breaks. And because the new site looks fine, it can be months before anyone notices traffic is down.

The prevention is a redirect map built before launch rather than a link check after it, which is why we treat it as part of the project rather than a follow up task.

More on that under website redesign. If you are planning URL changes for any other reason, our notes on URL structure cover what to decide before you commit.

How Often to Check

Monthly is enough for most small business sites. Weekly if you publish often or link out heavily. And always after any of these:

  • Deleting or renaming pages
  • Changing your permalink structure
  • Migrating to a new host or domain
  • A redesign or rebuild
  • Removing a plugin that created its own pages

If a cloud-based checker is running, this is mostly automatic and you are just reviewing an email. That is the realistic version of a maintenance task most people intend to do and never quite get to, along with updates, backups and monitoring. We bundle all of it into a care plan for exactly that reason, and the same logic applies to backups, which fail silently in the same way.

Common Questions

Not directly. Google has said 404 errors are a normal part of the web and do not by themselves reduce rankings. What broken internal links do cost you is link equity that flows to a dead end, crawl budget spent on URLs that return nothing, and visitors who leave rather than clicking something else.

Broken Link Checker in cloud mode for ongoing monitoring, because the scan runs off your server rather than consuming its resources.

Google Search Console for finding the broken links Google actually encountered. Screaming Frog for a thorough audit before or after a rebuild. Most sites benefit from using the first 2 together.

Because many sites block automated scanners. A working page can return 403 Forbidden or 429 Too Many Requests to a bot while loading normally in a browser, and Cloudflare challenges have the same effect.

Always open a reported link in a browser before removing it. Genuine broken links return 404 or 410, or the domain no longer resolves.

No. Google treats a mass redirect of unrelated URLs to the homepage as a soft 404, and it frustrates visitors who expected something specific.

Redirect each old URL to its closest equivalent page, and if there is no equivalent, let it return a 404 with a helpful error page.

Open the Pages report under Indexing, then select Not found (404). Click any URL to see the Referring page detail, which shows where the broken link is coming from. Older guides call this the Coverage report, which is the previous name for the same thing.

The old local scanner did, badly enough that some hosts banned it. The cloud version runs the scan on external servers instead, so it does not consume your hosting resources. If you installed the plugin years ago, check which mode it is running in.

The Short Version

Fix internal broken links on the pages that matter, redirect old URLs rather than only patching the links pointing at them, and verify anything a scanner flags before you act on it. External links on old posts can wait, probably forever.

And if your site was rebuilt at some point without a redirect map, that is worth checking today rather than in a year.

broken link checker plugin scan results

Share with friends