How to Find and Fix Broken Links on WordPress (Without Slowing Your Site)
How to find and fix broken links on WordPress: use Search Console and an external crawler, fix or redirect each one, and skip slow always-on link plugins.

On this page
- Types of broken links
- How to find broken links on WordPress
- Why not just install a broken link checker plugin?
- How to fix broken links on WordPress
- Broken links after a redesign or migration
- Broken links and SEO
- Prioritising what to fix first
- Common causes on WordPress sites
- A simple monthly routine
- Quick check: find broken links in ten minutes
- When to get help
- FAQs
- Find broken links with Search Console and a periodic crawl from outside the site, rather than an always-on link checker plugin that slows WordPress.
- Fix internal links at the source, use 301 redirects for moved pages, and update or remove dead external links depending on how useful they were.
- Check links after every redesign, migration or permalink change, because that is when most broken links appear.
To find and fix broken links on WordPress, check Search Console's Pages report for 404s, run a crawler such as Screaming Frog or a free online checker from outside the site, then fix each broken link at the source, add a 301 redirect for pages that moved, and remove or replace dead external links. Avoid leaving a broken-link plugin running permanently; most slow the site by checking links in the background.
Broken links frustrate visitors, waste crawl attention and can leave important pages without internal links. They pile up after redesigns, migrations and URL changes. Below is a practical routine. If your site needs a wider clean-up, it is part of my WordPress SEO services.
Types of broken links
| Type | Example | Usual fix |
|---|---|---|
| Internal link to a deleted or renamed page | Menu or blog post links to /old-service/ | Update the link; add a 301 redirect from the old URL |
| External link to a dead site | Resource link to a page that no longer exists | Replace with a working source or remove the link |
| Broken image or file | Image in a post returns 404 after a migration | Re-upload the file or fix the URL |
| Incoming link from another site | Partner site links to a URL you removed | 301 redirect to the closest relevant page |
| Redirect chain | Link hits two or three redirects before loading | Point the link straight at the final URL |
How to find broken links on WordPress
1. Google Search Console
Open Indexing, Pages, and look under "Not found (404)". This lists URLs Google tried to crawl that returned 404, including ones linked from other sites. Click a URL to see where Google found it, where that information is available. Search Console page indexing errors explains the other statuses you will see in the same report.
Not every 404 there is a problem. Old spam URLs, test pages and typed-in mistakes can safely stay as 404.
2. A crawler run from outside the site
A desktop crawler such as Screaming Frog (free up to a set number of URLs) or an online checker follows every link on your site and reports the ones that fail. Because it runs from your computer or its own servers, it does not load your hosting the way a plugin does. Export the list of broken links with the page each one appears on.
3. Your analytics
If your 404 page has a recognisable title, filter page views in GA4 by that title to see which missing URLs visitors actually hit. Fix those first. How to make a helpful 404 page covers setting that up.
Why not just install a broken link checker plugin?
Plugins that scan links continuously store results in your database and check URLs on a schedule, which uses server resources on every run. On shared hosting this can noticeably slow the admin area and sometimes the front end. If you prefer a plugin, install it, run one scan, fix the issues, then deactivate and delete it. Some services now run the checks on their own servers instead, which avoids most of the load.
How to fix broken links on WordPress
Fix internal links at the source
Edit the post, page, menu or widget that contains the link and point it to the correct URL. For many links to the same old URL, a search-and-replace tool can update them across the database, but take a backup first and do a dry run. A redirect alone is a patch; updating the link itself is cleaner and avoids an extra hop.
Add 301 redirects for moved pages
When a page has moved or been merged, add a permanent 301 redirect from the old URL to the most relevant new page, not to the home page. The Redirection plugin or your SEO plugin can manage this. 301 vs 302 redirects explains which to use and why.
Handle external links
For dead external links, find the same resource at its new address, link to another reliable source, or remove the link and adjust the sentence. Do not leave links to domains that have expired; they are sometimes bought and filled with spam.
Fix images and files
Broken images after a migration usually mean the media URLs still point to the old domain or http version. A careful search and replace of the old address, plus regenerating thumbnails, usually fixes them.
Broken links after a redesign or migration
Most broken-link problems arrive in one go, after a new site launches or the site moves host or domain. Before launch:
- Export a list of all existing URLs from the old site's sitemap and a crawl.
- Map each old URL to its new URL in a spreadsheet.
- Set up 301 redirects for every URL that changes.
- After launch, crawl the new site and check Search Console for new 404s over the following weeks.
If pages show 404 straight after a permalink change, start with fixing WordPress pages returning 404. Redesigns are covered in more detail on the website redesign page.
Broken links and SEO
A few broken external links will not sink your rankings, but broken internal links do real harm: pages lose internal links and Google may stop crawling them as often. Pages left with no internal links at all become orphans; orphan pages explained shows how to find them. Redirecting removed pages that had backlinks also keeps that link value pointing somewhere useful. Internal linking explained is a good next read if you are tidying your structure at the same time.
Prioritising what to fix first
A first crawl of an older site can list hundreds of broken links, which feels overwhelming. Work through them in order of impact rather than top to bottom:
- Site-wide links. A broken link in the header menu, footer or sidebar appears on every page, so one fix clears hundreds of rows in the report.
- Links on money pages. Service pages, product pages, the contact page and anything you advertise. A dead link there costs enquiries directly.
- Old URLs with backlinks or traffic. Search Console's Links report and your analytics show which removed pages still get visits or links from other sites. Redirect those to the best match.
- Internal links inside blog posts. Usually many, but each matters less. A search-and-replace often fixes them in bulk.
- External links in old posts. Replace the useful ones and remove the rest.
Group the crawler export by the broken URL rather than by the page it appears on. Fifty rows often turn out to be the same three missing pages linked from many places.
Common causes on WordPress sites
- Changing a page slug without adding a redirect.
- Switching permalink structure, for example from dates in the URL to post names.
- Deleting old products or services instead of redirecting them.
- Moving from http to https or from a staging domain without updating stored links.
- Page builders saving absolute URLs that still point to the old domain.
- Deleting media files that are still used in older posts.
Knowing the cause tells you whether to fix one link or run a careful search and replace across the database.
A simple monthly routine
- Check Search Console's 404 list and note anything new.
- Run an external crawl every month or two, or after big content changes.
- Fix internal links first, then add redirects, then review external links.
- Keep a redirect list so you know why each redirect exists.
- Avoid redirect chains: when you redirect a page that was already redirected, update the old redirect too.
This takes under an hour a month on most small business sites, and it is part of ordinary WordPress maintenance.
If you work with a developer or agency, ask them to include a link check in every launch and every major content change, and to hand over the redirect list along with the site.
Quick check: find broken links in ten minutes
- In Search Console, open Indexing > Pages and look at the "Not found (404)" row for URLs Google cannot reach.
- Run a crawler such as Screaming Frog SEO Spider (free up to 500 URLs) and filter by Client Error (4xx). Use the Inlinks tab to see which page holds each broken link.
- Fix internal links at the source, and add a 301 redirect only for old URLs that had traffic or backlinks.
When to get help
Get help when hundreds of 404s follow a migration or URL change, when redirect chains have built up, or when you are unsure which old URLs need redirects. WordPress SEO services covers crawl clean-up and redirects. You can also send the details through the contact form.
FAQs
How do I find broken links on WordPress?
Use Search Console's Pages report for 404 errors, run a crawler such as Screaming Frog or an online broken link checker, and check analytics for visits to your 404 page.
Do broken links hurt SEO?
Broken internal links can, because they stop Google and visitors reaching pages. A handful of dead external links is mainly a user experience issue, but it is still worth fixing them.
Is the Broken Link Checker plugin safe to use?
It works, but running it permanently can slow your site because it checks links in the background. Run a scan, fix the issues and deactivate it, or use an external crawler instead.
Should I redirect every 404 to the home page?
No. Redirect only to a genuinely relevant page. Sending everything to the home page confuses visitors, and Google often treats those as soft 404s anyway.
How often should I check for broken links?
Monthly for active sites, and always after a redesign, migration, domain change or bulk deletion of content.
Need help with your website?
I'm a freelance WordPress developer building fast, SEO-friendly websites since 2020. Tell me what you need and I'll reply with a plan and a fixed quote, usually within 24 hours.


