WordPress Broken Links Are Killing Your SEO — Find & Fix Them Now 2026

✍️ By Vikas Rohilla 📅 Updated: April 2026 ⏱️ 11 min read 🏷️ WordPress SEO

Here is something that happens to every WordPress site that has been running for more than a year. You published a post and linked to a helpful resource. The resource was there when you wrote it. Months later, the resource moved, the domain expired, or the page got deleted. Your link now leads nowhere. Your visitor hits a dead end. And Google’s crawler — which follows every link on your site — discovers a 404 error where useful content used to be.

That is a WordPress broken link. And one of them is manageable. But most sites that have never specifically audited for broken links are sitting on dozens — sometimes hundreds — of them across their content library.

WordPress broken links damage your site in three compounding ways. They frustrate visitors who click and land on error pages. They waste crawl budget — Googlebot follows every link on your site, and every dead link it chases is crawl time that could have been spent discovering your new content. And they signal to Google that your site is poorly maintained — a quality signal that quietly suppresses rankings over time.

This guide covers every type of broken link in WordPress, how to find them all using free tools, how to fix each type correctly, and how to prevent them from accumulating again.

🚨 Check right now: Go to Google Search Console → Pages → “Not found (404).” If you have more than 10 URLs listed there, your site has a broken link problem that is actively affecting your SEO. The number of 404s Google has discovered is usually only a fraction of the total broken links on your site — it only shows pages it has actually tried to crawl.
google search console not found 404 errors wordpress broken links coverage report
Google Search Console → Pages → “Not found (404)” — this count shows pages on your site that returned a 404 error when Googlebot tried to crawl them. Most WordPress broken links problems are first discovered here, but GSC only shows what Google has already attempted to crawl — the actual count is usually higher.

What Are WordPress Broken Links — And Why Do They Happen?

A broken link is any link on your WordPress site that leads to a URL returning an error — most commonly a 404 (page not found). There are two types: internal broken links (links pointing to other pages on your own site that no longer exist) and external broken links (links pointing to pages on other websites that have moved, been deleted, or gone offline).

Both types cause problems, but they have different causes and different fixes.

WordPress broken links happen for predictable reasons:

🔴 Post/Page Deleted

You delete a WordPress post or page without setting up a redirect. Every internal link pointing to that URL now returns a 404. External sites linking to it also break.

🔴 Permalink Changed

You edit a post slug after publishing. The old URL breaks. Any link — internal or external — pointing to the old slug now returns 404 unless a redirect is set.

🟡 External Site Changed

You linked to a resource on another domain. That site changed its URL structure, deleted the page, or went offline. Your link now leads nowhere.

🟡 Domain Migration

Your site migrated from HTTP to HTTPS, or changed domain. If old URLs were not redirected, every previously existing link can break simultaneously.

🔵 Typo in URL

A manually typed URL in the link href field contains a spelling error. The link was always broken — it just was not caught during publishing.

🟣 Attachment Page Deleted

A media file was deleted from the WordPress library. Any post that linked directly to the attachment URL now has a broken link to a non-existent file.

How WordPress Broken Links Damage Your SEO

The SEO impact of broken links in WordPress is more significant than most site owners realise. It operates through three separate mechanisms:

Link equity loss. When you have an internal broken link — a link from one of your posts pointing to a deleted page — the link equity that would have flowed through that link to strengthen the destination page simply disappears. It does not get redistributed. It is wasted. On sites with hundreds of posts, the cumulative link equity lost through internal broken links can be substantial.

Crawl budget waste. Googlebot follows every link on your site. When it follows a link and receives a 404, it has spent crawl time on a dead end. On a site with 50 broken links, Googlebot is making 50 wasted crawl requests on every full site crawl — requests that could have been used to discover and index new content instead.

Quality signal degradation. Google evaluates site quality through multiple signals, and the presence of broken links — particularly in large numbers — is a signal that a site is not well-maintained. This is not a direct penalty, but it is a consistent factor in sites that plateau in rankings despite good content. A site that regularly fixes its broken links signals active maintenance, which correlates with higher content freshness scores.

📖 Related: Broken links waste crawl budget on every Googlebot visit. Read the WordPress Crawl Budget Guide to understand the full picture of how to stop Googlebot wasting time on dead pages, and redirect that crawl capacity to your most important content.

How to Find WordPress Broken Links — 4 Methods

There is no single tool that catches 100% of broken links on a WordPress site. Using two or three methods together gives you the most complete picture.

Method 1 — Google Search Console (Free, Field Data)

  1. Open Google Search Console → Pages (left sidebar under Indexing)
  2. In the “Why pages aren’t indexed” list, look for “Not found (404)”
  3. Click on it to see all URLs that returned 404 when Googlebot crawled them
  4. Export the full list — this is your confirmed broken URL list from Google’s perspective
  5. Also check GSC → Settings → Crawl stats → By response — the 4xx response count shows the volume of broken link requests Googlebot is making on your site

GSC only shows URLs that Googlebot has actually attempted to crawl. It will not show broken links on pages that Google has not recently visited — so it is a reliable list of confirmed problems, but not a complete list of all problems.

Method 2 — Broken Link Checker Plugin (Free, Comprehensive)

  1. Go to WordPress Dashboard → Plugins → Add New
  2. Search for “Broken Link Checker” by WPMU DEV → Install → Activate
  3. Go to Tools → Broken Links
  4. The plugin scans every link on your site — internal and external — and lists all broken ones with their source page, the broken URL, and the HTTP status code returned
  5. You can filter by status code (404 only), by internal vs external, and by post type
  6. The plugin also adds a warning marker directly in your post list next to any post containing a broken link
broken link checker plugin dashboard wordpress broken links list status source
Broken Link Checker plugin → Tools → Broken Links — shows every broken link on your WordPress site with the source page, broken URL, and HTTP status code. Filter by internal or external links to prioritise your fixing order.
⚠️ Deactivate after auditing. Broken Link Checker runs continuous background scans which can increase server load and slow your site. Use it for your audit — fix the links — then deactivate it. Re-activate quarterly for the next audit. Do not leave it running permanently on a production site.

Method 3 — ToolXray Free Audit (Fastest for Overview)

  1. Go to toolxray.com/seo-audit-tool/
  2. Enter your domain URL → Run scan
  3. The audit checks for broken links alongside 80+ other SEO signals — crawlability, Core Web Vitals, redirect chains, and more
  4. Use this as your first-pass overview to understand the scale of your broken link problem before diving into deeper tools

Method 4 — Chrome Extension (Spot Check)

The Check My Links extension for Chrome highlights all links on any page — green for working, red for broken. It is the fastest way to spot-check a specific post or page for broken links without running a full site scan. Install from the Chrome Web Store → open any post → click the extension icon → broken links turn red instantly.

Fix 1 — Fix Internal Broken Links

Internal broken links — links from one of your posts to another page on your own site that no longer exists — are the most important to fix first because they directly affect your link equity distribution and internal linking structure.

When the Destination Page Was Deleted

  1. Identify which post contains the broken internal link (Broken Link Checker plugin shows this)
  2. Open that post in the WordPress editor
  3. Find the broken link in the content — click on it → the link popup appears with the broken URL
  4. Option A: Replace the link with a relevant alternative page on your site that covers the same topic
  5. Option B: Remove the link entirely if no relevant alternative exists — unlink the anchor text so it becomes plain text
  6. Update the post
wordpress post editor link edit popup broken link fix internal linking
WordPress post editor — clicking a link opens the link popup showing the current URL. For broken internal links, either replace the URL with a working alternative page or remove the link entirely. This is the direct fix for internal WordPress broken links caused by deleted pages.

When the Destination Page’s Slug Was Changed

This is the most common cause of internal broken links on WordPress — a post slug was edited after publishing. The fix for this is a 301 redirect rather than editing every link manually:

  1. Install the Redirection plugin (free) → Plugins → Add New → search “Redirection” → Install → Activate
  2. Go to Tools → Redirection
  3. Click “Add new redirection”
  4. In “Source URL” — enter the old broken URL (e.g. /old-post-name/)
  5. In “Target URL” — enter the new working URL (e.g. /new-post-name/)
  6. Click Add Redirect
  7. This single redirect fixes the broken link for every page on your site that links to the old URL — and for any external sites linking to it — simultaneously
✅ Redirect vs manual edit — when to use which: If only 1–2 pages link to the broken URL internally → edit those links directly. If 5+ pages link to the broken URL, or if the URL was linked to externally → use a 301 redirect. The redirect fixes all instances at once and preserves any external link equity pointing to the old URL.

Fix 2 — Fix External Broken Links

External broken links — links from your WordPress posts to pages on other websites that have moved or been deleted — are different from internal ones because you cannot fix the destination. You can only fix your link.

SituationFix
The page moved to a new URL on the same siteUpdate your link to the new URL. Check if the site has a redirect in place first — if visiting the old URL auto-redirects you to the new one, your link may already be working.
The page was permanently deleted with no replacementEither remove the link entirely, or find a different high-quality resource covering the same topic and replace the link destination.
The entire external domain is offlineCheck the Wayback Machine (web.archive.org) — if the content is archived, link to the archived version. Otherwise remove the link.
The external site now redirects to a spam or irrelevant pageRemove the link immediately. Linking to a hijacked or spam domain is a negative quality signal.

For external broken links, the general principle is: if the linked content is important enough to reference, find it elsewhere. If it is not important enough to track down a replacement, remove the link. A post with no external links is better than a post with links to dead pages.

📖 Related: External broken links often mean you are also missing internal linking opportunities. After fixing your broken links, run through the WordPress Internal Linking Guide to replace removed links with strong contextual internal links — this turns a cleanup task into an SEO improvement.

Fix 3 — Fix Broken Links Caused by Changed Slugs

Changing a post slug after publishing is one of the most common ways WordPress site owners accidentally create broken links — and one of the most damaging, because it breaks both internal links and any external backlinks pointing to the old URL.

The correct fix is always a 301 redirect from the old URL to the new one — never just changing the slug and hoping for the best. Here is the full process:

  1. Before changing any slug: Note the current full URL of the post
  2. Change the slug in the WordPress editor as needed → Update the post
  3. Immediately go to Tools → Redirection
  4. Add a redirect: old URL → new URL
  5. Test by visiting the old URL in an incognito browser window — it should automatically redirect to the new URL
  6. In Google Search Console → URL Inspection → enter the new URL → Request Indexing
💡 RankMath auto-redirect: RankMath includes a built-in redirect manager. When you change a post slug in the editor with RankMath active, it can automatically prompt you to create a redirect from the old URL. Enable this under RankMath → General Settings → Redirections → Auto Post Redirect. This prevents the most common source of WordPress broken links from slug changes before they even happen.

Fix 4 — Fix 404 Pages That Are Linked From Your Navigation

Navigation broken links are the most damaging type because they appear on every page of your site. A broken link in your main menu, footer, or sidebar widget multiplies the problem by the number of pages on your site — Googlebot encounters the broken link on every single page it crawls.

  1. Go to WordPress Dashboard → Appearance → Menus
  2. Check every menu item — click “URL” to expand each item and verify the URL is correct and returns a 200 status
  3. For any menu item pointing to a deleted or moved page — update the URL or remove the menu item
  4. Also check: Appearance → Widgets — any text widget or custom HTML widget with manually typed links
  5. And: your theme’s footer settings — footer links are often hardcoded and missed in standard broken link audits

404 errors from a site migration still haunting you?

Hostinger’s migration tool handles most URL redirects automatically during site moves. If your site has hundreds of broken links from an old HTTP→HTTPS or domain migration, Hostinger support can help clean them up during the move.

Explore Hostinger →

Fix 5 — Handle Broken Links After a WordPress Migration

Site migrations — moving from HTTP to HTTPS, changing domains, reorganising permalink structure — are the single biggest source of mass broken links on WordPress sites. Done incorrectly, a migration can create hundreds of broken links simultaneously.

  1. Before migrating: Export a full crawl of your current site URLs using Screaming Frog free version (up to 500 URLs) or Broken Link Checker. This becomes your redirect map.
  2. HTTP to HTTPS migration: The .htaccess redirect rule is required. Without it, all HTTP links remain broken for Googlebot even if your browser handles the redirect automatically through HSTS.
  3. Add to .htaccess:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  1. After migration: Run Broken Link Checker immediately. The first scan post-migration typically reveals the largest batch of broken links you will ever encounter on the site.
  2. Resubmit sitemap: GSC → Sitemaps → delete old submission → resubmit with the new URLs. This pushes Google towards crawling the correct post-migration URLs faster.
  3. Monitor GSC 404 count for 30 days: The 404 count in GSC Pages should trend down steadily as Google processes your redirects. A count that stays flat or rises means redirects are not working correctly for some URL patterns.
📖 Related: Post-migration is also the highest-risk time for duplicate content issues — old and new URLs potentially both accessible. Read the WordPress Duplicate Content Fix Guide as a companion to this broken links audit after any site migration.

How to Prevent WordPress Broken Links Going Forward

  • Never change a published post slug without setting a redirect: Enable RankMath’s auto-redirect feature. Every slug change should be paired with an immediate 301 redirect in the Redirection plugin. Make this a non-negotiable publishing standard.
  • Never delete a post without checking what links to it: Before deleting any post, run a quick GSC Internal Links check or use Broken Link Checker to see which pages link to it. Either update those links first or set a redirect from the deleted URL to a relevant alternative.
  • Audit external links quarterly: External sites change their URLs, delete pages, and go offline regularly. A quarterly run of Broken Link Checker catches these before they accumulate. 15 minutes four times a year is far less work than fixing 200 broken links at once.
  • Check links when updating old posts: Whenever you revisit and update an old post, spot-check its links. Run the Check My Links Chrome extension — takes 10 seconds — and fix any red links before republishing.
  • Use the Redirection plugin’s 404 monitor: Redirection plugin includes a built-in 404 error log that records every 404 hit on your site in real time. Check it monthly — it often catches broken links that Broken Link Checker misses because they come from external sites or campaigns linking to old URLs.
🔍

ToolXray Free WordPress Technical Audit

Check broken links, redirect chains, crawl health, Core Web Vitals and 80+ SEO signals — free scan, no signup required.

Run Free Audit →

After Fixing — Verify and Monitor

  1. Re-run Broken Link Checker after fixing all identified issues — confirm the broken link count is zero or near zero
  2. GSC → Pages → “Not found (404)” — this count will not update immediately. Google needs to re-crawl the fixed URLs. Give it 2–4 weeks then check if the count has dropped.
  3. Request re-indexing for important fixed pages: GSC → URL Inspection → enter any previously 404ing URL that now redirects correctly → Request Indexing. This accelerates Google’s re-crawl of the fixed URL.
  4. Monitor Redirection plugin’s 404 log monthly — catch new broken links as they appear rather than letting them accumulate
google search console not found 404 count reduced after wordpress broken links fix
Google Search Console → Pages → “Not found (404)” — after fixing WordPress broken links and setting up proper redirects, the 404 count should trend downward over 2–4 weeks as Google re-crawls and updates its index to reflect the corrected URLs.

WordPress Broken Links — Complete Fix Checklist

  • GSC → Pages → “Not found (404)” — note count and export URL list
  • Install Broken Link Checker plugin → run full scan → export broken links list → deactivate after scan
  • Fix internal broken links first — edit source posts to update or remove broken links
  • Set 301 redirects for changed slugs — Redirection plugin → old URL → new URL
  • Fix external broken links — replace with working alternatives or remove
  • Check navigation and widgets — menu items, footer links, sidebar widgets
  • Post-migration: add .htaccess HTTP→HTTPS redirect
  • Enable RankMath auto-redirect for future slug changes
  • Enable Redirection 404 monitor for ongoing tracking
  • Schedule quarterly Broken Link Checker audit
  • Re-run audit after fixing — confirm count near zero
  • Monitor GSC 404 count for 4 weeks — confirm downward trend
📖 Full technical picture: Broken links are one of many technical SEO issues that accumulate silently. Run a complete audit covering crawlability, indexing, site speed, schema, and 80+ signals with the Complete Technical SEO Audit Guide to catch everything at once.

The Bottom Line

Every WordPress site accumulates broken links over time. It is not a sign of carelessness — it is a natural consequence of publishing content that links to external resources, updating your own post slugs, and deleting pages that are no longer relevant. The problem is not that broken links exist. The problem is leaving them unfixed.

A site with zero broken links sends a clear maintenance signal to both visitors and Googlebot. Crawl budget goes to live content instead of dead ends. Link equity flows to the right pages. Visitors click links that actually work. None of these improvements require new content or backlink outreach — just a quarterly hour spent auditing and fixing what is already broken.

Start with the GSC 404 report. Install Broken Link Checker for the comprehensive list. Fix internal links first with direct edits or redirects. Handle external links by replacing or removing. Then set up the ongoing monitoring habits that keep your broken link count near zero permanently.

🔍 Find Every Broken Link on Your WordPress Site

Free audit — broken links, redirect chains, crawl health, Core Web Vitals and 80+ signals

Run Free Audit at ToolXray →

Related Articles

🤖

WordPress Crawl Budget Guide

Broken links waste crawl budget on every Googlebot visit. Fix both together to maximise crawl efficiency.

🔗

WordPress Internal Linking Guide

After fixing broken links, build a strong internal linking structure that actually directs authority where it belongs.

🔁

WordPress Duplicate Content Fix

Post-migration broken links and duplicate content often appear together. Fix both with this companion guide.

🗺️

WordPress XML Sitemap Not Working

A clean sitemap + zero broken links = maximum crawl efficiency. Fix your sitemap alongside the broken links audit.

🔗

WordPress Permalink Settings

Permalink structure changes are a leading cause of broken links. Get your permalink setup right from the start.

🔬

Complete Technical SEO Audit

Broken links are one of 80+ signals in a full technical audit. Run the complete check after cleaning up your links.

Frequently Asked Questions

❓ Do WordPress broken links directly hurt Google rankings?
Broken links do not trigger a direct ranking penalty — Google does not issue a manual action for having broken links. However, they hurt rankings through indirect mechanisms: wasted crawl budget (Googlebot chases dead links instead of discovering new content), lost internal link equity (broken internal links do not pass authority to destination pages), and quality signal degradation (a high 404 count signals poor site maintenance). Sites with consistently low broken link counts rank better on average because these indirect signals compound over time. Fixing broken links is most impactful on sites that have been running for 2+ years without an audit — the improvement in crawl efficiency and link equity flow can produce measurable ranking improvements within 4–8 weeks.
❓ How often should I audit WordPress broken links?
Quarterly audits are the practical standard for most WordPress sites. Monthly monitoring via the Redirection plugin’s 404 log catches new broken links as they appear, without needing to run a full scan every month. For sites actively publishing new content several times per week, a monthly Broken Link Checker scan is worth the additional time. The key habit change that prevents accumulation is linking each slug change and post deletion to an immediate redirect — this eliminates the most common sources of new broken links before they appear in an audit.
❓ What is the difference between a 301 and 302 redirect for broken links?
A 301 redirect is a permanent redirect — it tells Google that the page has moved to a new location permanently. Link equity from the old URL transfers to the new URL. Use 301 for all broken links caused by deleted pages, changed slugs, and site migrations. A 302 redirect is temporary — it tells Google the move is not permanent and link equity does not fully transfer. Only use 302 for genuinely temporary situations like maintenance pages or A/B testing. For WordPress broken link fixes, 301 is almost always the correct choice — and the default in both the Redirection plugin and RankMath’s redirect manager.
❓ Should I fix external broken links or just delete them?
For external broken links, try to find a replacement first before deleting. An outbound link to a high-quality relevant source adds credibility to your content — replacing a dead link with a working equivalent maintains that value. Search for the same topic on a reputable site (official documentation, established industry blogs, government or academic sources) and update the link destination. If no good replacement exists, remove the link entirely — plain text is always better than a link that leads to a 404 page or a spam redirect. Do not link to archived Wayback Machine URLs for general references — reserve those for content that is genuinely irreplaceable (historical documents, original research) and where the archive URL is stable.
❓ The Broken Link Checker plugin is slowing my site — what should I do?
Broken Link Checker is known to increase server load during its scanning process — this is expected behaviour. The correct way to use it is: install, run a complete scan, export the broken links list, fix the links, then deactivate and delete the plugin. Do not leave it running permanently. For ongoing monitoring, use the Redirection plugin’s 404 error log instead — it is lightweight, always-on, and only records errors rather than actively scanning. Pair this with a quarterly Broken Link Checker reinstall-scan-uninstall cycle for comprehensive coverage without permanent performance impact.

    Leave a Comment

    Your email address will not be published. Required fields are marked *

    Scroll to Top