Skip to content

Find and Fix Broken Links in WordPress (Data-Backed)

Broken links waste crawl budget, leak link equity, and frustrate visitors. Sites with more than 2% broken links typically see measurable ranking drops. Here is how to find and fix broken links in WordPress using free and paid tools, with a prevention strategy that stops them from recurring.

Find and Fix Broken Links in WordPress (Data-Backed)

The numbers behind broken links in WordPress

About 42.5% of websites have at least one broken link, and the average site carries 5.2 broken links per 100 pages. That matters because every broken internal link wastes crawl budget, kills a link equity pathway, and sends visitors to a dead end.

Here is what the data shows about how broken links damage a WordPress site:

MetricImpact
Domain authority loss from broken backlinksUp to 17% reduction
SEO professionals who say broken links hurt rankings74%
Users less likely to return after hitting broken links88%
Estimated annual business losses from broken links$2.6 billion globally
Percentage of all backlinks that are brokenOver 66%

Those numbers make the case on their own. But understanding how to fix broken links in WordPress requires knowing the three ways they hurt you: wasted crawl budget, lost link equity, and degraded user experience.

Broken links vs. 404 errors: they are related but different

A broken link is a hyperlink on your site (or on an external site) that points to a URL returning a 404 or other error. A 404 error is the server response itself.

The distinction matters for the fix:

  • 404 errors are fixed at the destination (restore the page, fix permalinks, update server config)
  • Broken links are fixed at the source (update the href, set up a redirect, or remove the link)

A single deleted page can create dozens of broken links if multiple pages linked to it. Fixing the 404 at the destination (by redirecting it) fixes all the broken links pointing to it at once.

How to find broken links in WordPress

Five tools cover the full range, from free browser-based checks to enterprise-grade crawlers. The right choice depends on site size and how often you need to scan.

Google Search Console (free, every site should use this)

Search Console reports broken links that Google discovered while crawling your site. Go to Pages > Not indexed > Not found (404). This shows URLs Google tried to reach but could not.

Strengths: Direct data from Google, shows which URLs Google cares about, free.

Limitations: Only shows links Google’s crawler found. Internal links between pages that Googlebot has not recently crawled will not appear. There is also a delay of several days between discovery and reporting.

Check Search Console weekly. Sort by “First detected” to catch new broken links before they accumulate.

Broken Link Checker plugin (free and cloud versions)

WPMU DEV’s Broken Link Checker is the most widely used WordPress plugin for this, with over 600,000 active installations. It scans posts, pages, comments, and custom fields for broken internal and external links.

The plugin now offers two scanning modes:

  • Local scanning runs on your server. Works but can slow down sites with thousands of posts during scans.
  • Cloud scanning offloads the work to WPMU DEV’s servers. This is 20x faster and avoids the risk of your server IP getting flagged by external sites you are checking links against. A free Hub account gives access to cloud scanning with some limits.

For sites under 500 pages, the local scan is fine. For larger WordPress sites, cloud scanning is worth it to avoid performance hits during scans.

Screaming Frog SEO Spider (free up to 500 URLs)

Screaming Frog crawls your entire site from the outside, just like a search engine. It finds broken internal links, broken external links, redirect chains, and orphan pages in a single crawl.

The free version crawls up to 500 URLs per session. The paid license removes that limit at $259 per year.

Why Screaming Frog catches things plugins miss: It crawls rendered pages, so it finds broken links in navigation menus, footers, widgets, and dynamically generated content that database-level plugins do not scan.

Ahrefs Site Audit (paid, part of SEO suite)

Ahrefs crawls your site and flags broken internal and external links alongside other technical SEO issues. The real value is its backlink database, which shows broken inbound links from external sites pointing to your domain.

Those broken inbound links represent lost link equity. Someone linked to you, but the page they linked to no longer exists. A 301 redirect from the dead URL to the most relevant live page reclaims that equity.

Manual browser check (free, limited)

For small sites under 20 pages, opening Chrome DevTools (F12 > Console) on each page and checking for 404 errors in the Network tab is fast enough. Filter by status code 4xx.

This does not scale, but it catches mixed content issues alongside broken links. If your site is small and you are already checking for mixed content, add a quick broken link check to the same pass.

Broken link detection tools compared

ToolCostScan TypeBest ForCatches External Inbound
Google Search ConsoleFreeGoogle’s crawl dataEvery site, baseline monitoringNo
Broken Link Checker (WPMU DEV)Free / cloud free tierWordPress plugin (local or cloud)Sites under 1,000 pagesNo
Screaming FrogFree (500 URLs) / $259 per yearDesktop crawlerMedium to large sites, deep crawlsNo
AhrefsFrom $129 per monthCloud crawler + backlink databaseSites with significant backlink profilesYes
Chrome DevToolsFreeManual per-pageSmall sites under 20 pagesNo

How to fix broken links in WordPress

Finding broken links is the diagnostic step. Fixing them comes down to three actions: redirect, update, or remove.

Action 1: Set up 301 redirects for high-value URLs

If a broken URL has backlinks pointing to it or was previously indexed and ranking, redirect it. A 301 redirect passes most of the link equity to the destination URL.

Using Rank Math (if installed): Go to Rank Math > Redirections > Add New. Enter the broken URL as the source, the target URL as the destination, and select 301 (Permanent).

Using .htaccess (Apache servers):

Redirect 301 /old-page/ /new-relevant-page/

Priority order for redirects:

  1. URLs with external backlinks (highest link equity value)
  2. URLs Google has indexed (visible in Search Console)
  3. URLs with historical organic traffic (check analytics)

Never redirect a broken URL to an unrelated page. Google treats irrelevant redirects as soft 404s and ignores them.

Action 2: Update links pointing to moved content

If content moved to a new URL (slug change, restructured sections), update every internal link pointing to the old URL. Redirects work as a stopgap, but direct links are always better for performance and crawl efficiency.

In WordPress, use the Better Search Replace plugin or WP-CLI to find and update URLs in bulk:

wp search-replace '/old-slug/' '/new-slug/' wp_posts --dry-run

Review the dry-run output, then run without the flag to apply changes.

Action 3: Remove dead external links

External links break when third-party sites shut down, restructure, or delete content. You have three options:

  1. Find the new URL. Check if the content moved. The Wayback Machine (web.archive.org) often has the original content and may show where it redirects now.
  2. Replace with an equivalent resource. Link to a different, current source covering the same topic.
  3. Remove the link entirely. If no equivalent exists, unlink the text but keep the sentence if it still reads well.

Broken external links do not leak your link equity, but they signal neglected content. A page full of dead outbound links tells both visitors and quality raters that the content has not been maintained.

Internal vs. external broken links: different priorities

Not all broken links carry the same weight. Internal and external broken links damage your site through different mechanisms.

Internal broken links are the higher priority:

  • They waste crawl budget (Googlebot follows the link, gets a 404, moves on)
  • They break link equity flow between your own pages
  • They directly hurt user navigation
  • They are entirely within your control to fix

If 5% of your internal links are broken, roughly 5% of your crawl budget is being wasted on dead URLs. For a site with 500 pages and strong internal linking, that can mean dozens of pages getting crawled less frequently.

External broken links (your links pointing to other sites) are lower priority but still worth fixing:

  • They do not waste your crawl budget (Googlebot does not follow outbound links during your crawl)
  • They do not leak your link equity
  • They do hurt user experience and content credibility

Broken inbound links (other sites linking to your broken pages) are the hidden loss. Over 66% of all backlinks across the web are broken. Check Ahrefs or Search Console for 404 pages that have external backlinks, then redirect those pages to reclaim the equity.

Prevention: stop broken links before they start

Fixing broken links reactively is necessary. Preventing them is better. These four practices catch problems before they compound.

Run monthly link audits

Add a broken link scan to your monthly WordPress maintenance checklist. Screaming Frog or Broken Link Checker on a monthly cadence catches broken links within weeks of appearing, before they accumulate into a larger problem.

Monthly is the right frequency for most sites. Weekly is overkill unless you publish daily or have a large site with frequent content changes.

Use relative URLs for internal links

When linking between pages on your own site, use relative paths (/about/) instead of absolute URLs (https://yourdomain.com/about/). Relative URLs survive domain changes, SSL migrations, and staging-to-production moves without breaking.

WordPress internal linking in the editor typically generates relative URLs by default. The risk comes from hardcoded links in theme files, widgets, and plugins.

Set up redirect rules before deleting content

Before deleting or unpublishing any page or post:

  1. Check if it has backlinks (Search Console > Links > External links)
  2. Check if it has internal links pointing to it (Screaming Frog or site search)
  3. Set up a 301 redirect to the most relevant alternative page
  4. Then delete

This sequence prevents broken links from ever appearing. Skipping step 3 is how most broken links are born.

Monitor Search Console for new 404 spikes

A sudden increase in 404 errors in Search Console often signals a bigger issue: a plugin update that changed URL structures, a bulk content deletion, or a permalink setting change. Catching these spikes early limits the SEO damage.

Set up email alerts in Search Console so you do not have to remember to check manually.

When broken links signal a larger maintenance problem

A handful of broken links on a WordPress site is normal. Content evolves, external sites disappear, slugs get updated. But patterns tell a different story:

  • Dozens of new broken links monthly means content is being deleted or restructured without redirect planning
  • Broken links in navigation or footer means a theme update or menu edit went wrong
  • All links to a specific post type returning 404 means the plugin registering that post type was deactivated or updated
  • Broken links only on external references means the content has not been reviewed or updated in a long time

If your site has accumulated more than 50 broken links and the count keeps growing, the root cause is a maintenance gap, not just individual link problems. Regular WordPress maintenance catches these issues before they compound.

Your next step

Run Screaming Frog or Broken Link Checker against your WordPress site today. Sort results by link type (internal first, then external), fix every broken internal link, and set up a monthly scan to catch new ones. Sites that drop below 2% broken links and stay there consistently outperform sites that let link rot accumulate unchecked.

Frequently Asked Questions

Broken links piling up across your WordPress site?

We audit, fix, and set up monitoring so broken links stop hurting your rankings.