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.

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.
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)
- Open Google Search Console → Pages (left sidebar under Indexing)
- In the “Why pages aren’t indexed” list, look for “Not found (404)”
- Click on it to see all URLs that returned 404 when Googlebot crawled them
- Export the full list — this is your confirmed broken URL list from Google’s perspective
- 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)
- Go to WordPress Dashboard → Plugins → Add New
- Search for “Broken Link Checker” by WPMU DEV → Install → Activate
- Go to Tools → Broken Links
- 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
- You can filter by status code (404 only), by internal vs external, and by post type
- The plugin also adds a warning marker directly in your post list next to any post containing a broken link

Method 3 — ToolXray Free Audit (Fastest for Overview)
- Go to toolxray.com/seo-audit-tool/
- Enter your domain URL → Run scan
- The audit checks for broken links alongside 80+ other SEO signals — crawlability, Core Web Vitals, redirect chains, and more
- 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
- Identify which post contains the broken internal link (Broken Link Checker plugin shows this)
- Open that post in the WordPress editor
- Find the broken link in the content — click on it → the link popup appears with the broken URL
- Option A: Replace the link with a relevant alternative page on your site that covers the same topic
- Option B: Remove the link entirely if no relevant alternative exists — unlink the anchor text so it becomes plain text
- Update the post

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:
- Install the Redirection plugin (free) → Plugins → Add New → search “Redirection” → Install → Activate
- Go to Tools → Redirection
- Click “Add new redirection”
- In “Source URL” — enter the old broken URL (e.g. /old-post-name/)
- In “Target URL” — enter the new working URL (e.g. /new-post-name/)
- Click Add Redirect
- 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
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.
| Situation | Fix |
|---|---|
| The page moved to a new URL on the same site | Update 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 replacement | Either 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 offline | Check 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 page | Remove 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.
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:
- Before changing any slug: Note the current full URL of the post
- Change the slug in the WordPress editor as needed → Update the post
- Immediately go to Tools → Redirection
- Add a redirect: old URL → new URL
- Test by visiting the old URL in an incognito browser window — it should automatically redirect to the new URL
- In Google Search Console → URL Inspection → enter the new URL → Request Indexing
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.
- Go to WordPress Dashboard → Appearance → Menus
- Check every menu item — click “URL” to expand each item and verify the URL is correct and returns a 200 status
- For any menu item pointing to a deleted or moved page — update the URL or remove the menu item
- Also check: Appearance → Widgets — any text widget or custom HTML widget with manually typed links
- 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.
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.
- 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.
- 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.
- Add to .htaccess:
- 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.
- Resubmit sitemap: GSC → Sitemaps → delete old submission → resubmit with the new URLs. This pushes Google towards crawling the correct post-migration URLs faster.
- 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.
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.
After Fixing — Verify and Monitor
- Re-run Broken Link Checker after fixing all identified issues — confirm the broken link count is zero or near zero
- 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.
- 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.
- Monitor Redirection plugin’s 404 log monthly — catch new broken links as they appear rather than letting them accumulate

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
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.


