Broken links accumulate quietly. A page gets restructured, an external site goes offline, a plugin is removed — and suddenly visitors are clicking links that lead nowhere. You often don’t notice until someone emails to say a link is dead, or until a crawl tool surfaces a list of 404 errors that have been building for months.
In my experience, most WordPress sites have at least a handful of broken links by the time they’ve been live for a year or two. They’re not a crisis, but they do quietly damage user trust and give search engines dead ends to crawl. A systematic sweep, run every few months, keeps things clean. Working through the step-by-step process of building and maintaining a WordPress website means this kind of routine maintenance should be part of the plan from early on.
Quick Answer
Install the Broken Link Checker plugin to scan for broken links automatically, or use a crawler like Screaming Frog for a one-off audit. Fix each broken link by updating the URL, removing the link, or setting up a 301 redirect for URLs that have changed permanently.
Why Broken Links Matter
From an SEO perspective, broken internal links waste crawl budget — search engines follow every link they find, and a link that leads to a 404 is a dead end. Over time, a pattern of broken links can affect how thoroughly Google crawls and indexes your content. External links that go nowhere also strip any link equity you were passing to that destination.
From a user experience perspective, broken links signal a poorly maintained site. A visitor who clicks three links and hits two 404 pages is unlikely to trust anything else on the site, let alone convert. Fixing broken links is a small time investment with a real impact on both metrics.
How to Find and Fix Broken Links in WordPress
1. Scan your site for broken links
The simplest approach for most WordPress sites is the Broken Link Checker plugin. Install and activate it, then let it run — it scans all posts, pages, and comments in the background and flags any links returning a non-200 status code. You’ll see broken links listed under Tools > Broken Links in the WordPress dashboard.
One caveat: Broken Link Checker runs continuously and can be resource-intensive on shared hosting. On a smaller site this is usually fine; on a larger site or if your host flags the load, consider running it periodically rather than always-on, or use it for an initial audit and then disable it.
For a one-off audit — particularly after a migration or a major site restructure — a crawler like Screaming Frog (free up to 500 URLs) gives you a full picture of every link on the site and its HTTP status.
2. Triage the results
Not every flagged link needs the same treatment. Work through the list by type:
- Internal broken links — links within your own site pointing to pages that no longer exist or have changed URL. These are the highest priority.
- External broken links — links to third-party sites that have moved or gone offline. Worth fixing but lower urgency than internal ones.
- Temporary errors (503, timeouts) — may resolve on their own. Recheck before acting.
3. Fix internal broken links
For internal links, you have two options: update the link to the correct URL, or remove it entirely if the content no longer exists and there’s nothing equivalent to point to.
If the page still exists but has moved to a new URL, the cleanest fix is a 301 redirect from the old URL to the new one — this handles any external links pointing at the old address as well, not just internal ones. Then update the internal links in your content to point directly to the new URL, so you’re not relying on redirect chains.
4. Fix or remove external broken links
For external links that return a 404, check whether the destination page has moved. A quick search for the page title often surfaces the new URL. If the page no longer exists at all, either remove the link or replace it with a current authoritative source on the same topic.
The Wayback Machine (web.archive.org) is useful here — it often has a cached version of the original page, which helps you understand what the link was pointing to and find a replacement.
5. Check Google Search Console
In Google Search Console, go to Indexing > Pages and look at the “Not found (404)” list. These are pages on your own domain that Google has tried to crawl and found missing. Any that appear here with inbound links — internal or external — are worth creating a redirect for, not just leaving as dead ends.
6. Set up a custom 404 page
Even after a thorough cleanup, some 404s will always slip through — old bookmarks, cached external links, typos in comments. A well-designed custom 404 page keeps visitors on the site when they do hit a dead end, with navigation options and a search bar rather than a generic error screen.
7. Schedule regular checks
Broken links are an ongoing maintenance task, not a one-time fix. External links rot at a steady rate — studies suggest around 5% of URLs break per year. Set a reminder to run a link check every three to six months, or after any major update to the site structure. Including this in a broader site audit alongside security and performance checks makes it easier to keep on top of.
Practical Tips
- Run a full link check after any site migration — URL structures almost always change and bring a wave of internal 404s with them
- Check after major WordPress, theme, or plugin updates — occasionally these restructure URLs or remove pages
- In Screaming Frog, filter by status code 404 and sort by inlinks descending to prioritise the most-linked broken pages first
- In Google Search Console, the Linked externally filter in the Pages report shows which 404 pages are being linked to from other websites — these are the highest priority to redirect
Common Mistakes
- Only checking internal links and ignoring external ones — outgoing links that go nowhere still reflect poorly on the site
- Removing a broken link when the correct approach is a redirect — if the page has moved, a redirect preserves any link equity and provides a better user experience
- Not rechecking after a site update — a single plugin update or URL change can introduce new broken links across dozens of posts
- Leaving Broken Link Checker running permanently on a resource-constrained server — run it on a schedule instead
Plugin vs. Crawler: Which to Use
Use the Broken Link Checker plugin for ongoing monitoring — it runs in the background and surfaces new broken links as they appear. It’s the lowest-effort option for a site that changes regularly.
Use a crawler like Screaming Frog for a one-off deep audit — before a launch, after a migration, or when you want a complete picture of every URL and link on the site at a point in time. Crawlers also pick up issues the plugin can miss, such as broken image links or redirect chains.
For most WordPress sites, the plugin handles day-to-day monitoring well. Add a manual crawl once or twice a year to catch anything it might have missed.
Conclusion
Run a scan now if you haven’t already — broken links build up faster than most site owners expect. An hour or two spent cleaning up 404s and updating stale external links pays off in better crawlability, cleaner user journeys, and a site that simply feels more professional to anyone who uses it.

Etienne Basson works with website systems, SEO-driven site architecture, and technical implementation. He writes practical guides on building, structuring, and optimizing websites for long-term growth.