A broken internal link in WordPress is any link on your site that points to a page that no longer exists, usually because the target was deleted, its slug changed, or it was merged into another post. You find them by crawling your own site with a link checker, then fix each one by updating the link to the correct URL or removing it if there is nothing worth linking to anymore. Here is the full process.
Why Internal Links Break in the First Place
Broken internal links rarely happen on purpose. The usual causes are:
- Changing a post slug after it was already linked to from other content
- Deleting a page or post without checking what links to it
- Merging two posts into one and forgetting to update links to the old URL
- Simple typos when adding a link manually in the editor
- Moving to a new domain or changing your permalink structure site-wide
None of these are unusual mistakes. Most WordPress sites accumulate broken internal links steadily just from normal editing over months and years, which is why checking periodically matters more than trying to prevent every single one from ever happening.
What Broken Links Actually Cost You
A single broken link on a low traffic post is not going to sink your site, but the effect compounds. Visitors who click a dead link hit a 404 page and often leave rather than navigate back to find what they wanted, which shows up as a small bump in bounce rate on the pages that link out incorrectly. Search engine crawlers that repeatedly hit dead ends on your site also spend less time discovering and re-crawling your genuinely useful pages, since some of their crawl budget gets burned on links that go nowhere. Neither effect is dramatic on its own, but a site with dozens or hundreds of broken links accumulated over years is quietly worse for both users and search engines than one that gets checked regularly.
Finding Broken Internal Links
You have three realistic options, ranging from manual to automated.
Manual Checking, for Small Sites Only
If your site has fewer than 20 or so posts, you can open each one and click through its internal links to confirm they load correctly. This is tedious and does not scale past a small site, but it works fine if you are just starting out and have very little published yet.
Desktop Crawlers
Screaming Frog SEO Spider is the standard tool here. The free version crawls up to 500 URLs, which covers most small to mid-sized WordPress sites. Point it at your domain, let it crawl, then check the Response Codes report filtered to 4xx client error codes. Each row shows you the broken URL and, in the inlinks tab, exactly which pages link to it.
WordPress Plugins Built for Internal Links
Rather than running a general purpose crawler, a plugin built specifically for internal linking can scan your content from inside the dashboard and hand you a direct list of broken links along with the post each one lives in. The free plugin Interlink does this, checking every published post for internal links that point to missing or redirected URLs, so you are not exporting spreadsheets from a separate crawler tool just to manage links on your own site. Paid alternatives like Link Whisper cover similar ground but charge a yearly license, which is worth knowing if budget is a factor for your site.
Fixing What You Find
Once you have your list of broken links, each one falls into one of three fixes.
Update the link. If the content moved to a new URL, or was renamed, edit the post and repoint the link to the correct current address. This is the most common fix and takes seconds once you know the right URL.
Remove the link. If the target page was deleted and there is genuinely nothing relevant to link to instead, just remove the hyperlink and leave the anchor text as plain text, or delete the sentence entirely if it no longer makes sense without the link.
Add a redirect, then update the link anyway. If you deleted a page that still gets external backlinks or direct traffic, set up a 301 redirect from the old URL to the most relevant current page using the free Redirection plugin, found under Tools > Redirection. But still go back and fix your own internal links to point directly to the new URL rather than relying on the redirect long term. A redirect is a safety net for outside traffic, not a substitute for a correct internal link.
Working Through the List Efficiently
If you are dealing with more than a handful of broken links, sort your list by how many pages link to each broken URL. Fixing the URL that is linked from fifteen different posts clears far more broken links in one pass than fixing one that is only linked once. Open each source post, use your browser find function with Ctrl+F to locate the broken URL in the HTML editor, and swap it for the correct one.
For very large sites, batch the work by post type or category rather than trying to fix everything in one sitting. Clearing all broken links inside your top ten highest traffic posts first gets you most of the SEO benefit before you have even touched the rest of the site. It also gives you a natural stopping point if you run out of time partway through and need to pick the work back up later.
A Few Edge Cases Worth Knowing
Not every broken link is straightforward. Links inside old widget areas, footer menus, or custom HTML blocks do not always show up in a standard content crawl, so check those areas separately if your theme uses them heavily. Links inside comments are usually left alone, since editing visitor comments to fix broken URLs is rarely worth the effort unless the comment itself is prominent or gets significant traffic.
Image links deserve a separate check too. An image that links to a since deleted product page or post is still a broken internal link, even though it will not show up if you are only scanning text based anchor links. If your site uses a lot of linked product images or infographics, include those in whatever crawl or scan you run.
Links inside PDFs or downloadable files hosted on your site are usually outside the reach of a standard crawl as well. If you link to internal PDFs from your posts, spot check those separately since they will not update automatically when the pages they reference change.
Keeping It From Piling Back Up
The habit that actually prevents broken links from accumulating is simple: whenever you rename a slug, merge posts, or delete a page, search your site for internal links pointing to that URL before you hit save, not after. Most WordPress editors let you search post content directly from the dashboard, or you can use your link checking plugin scan feature right after making the change instead of waiting for a quarterly audit to catch it later.
