How to Find and Fix Broken Links in WordPress
Every site over a year old has dead links. Readers hit them, search engines note them, and nobody tells you. Here is the full routine.
On this page
To find broken links in WordPress you need two tools looking in two directions: a scanner that checks every outbound link in your content, and a 404 log that records every inbound request for a page you do not have. Then you fix in a fixed order: internal links first, inbound 404s second, outbound links last. Here is the routine, including how to avoid the classic mistake of “fixing” links that were never broken.
Two kinds of broken
Outbound. A link in one of your posts points to a page that now returns 404, or a domain that expired, or a site that moved. Readers click and hit a dead end. You wrote these links, so you can fix them in the post.
Inbound. Someone requests a URL on your site that does not exist: an old permalink, a deleted product, a typo in a link on another site, a page you renamed. You cannot fix the link where it lives, so the fix is a redirect from the old URL to the closest live page.
Internal links are both: a link in your own content pointing at your own missing page. They are the easiest to fix and the most embarrassing to leave.
Scan your content for outbound links
A link scanner walks your published posts and pages, extracts every link and image URL, and checks each one. Three details separate a useful scan from a frustrating one:
It follows redirects. A link that returns 301 to a live page is fine. A scanner that reports every redirect as a problem buries the real ones.
It retries and distinguishes blocked from dead. Many sites block automated requests with a 403, or answer slowly. One timeout is not death. DevDome Link Monitor follows up to five redirect hops, retries before calling a link broken, and keeps the reported list clean enough to trust. Scanning your published content is free, with no cap on pages or links within that scope, and no account needed. We make it, so weigh that; the behaviours above are what to demand from any scanner.
It lets you edit the exact link from the results. Knowing a post has a broken link is half the job. Changing that exact URL without opening the editor is the other half.
Run the first scan and expect a long list on an older site. That is normal.
Fix outbound links in the right way
For each broken outbound link, pick one of four actions:
- Update the URL. The page moved and you can find the new address. Best outcome.
- Link an archived copy. The page is gone but the reference matters. The Wayback Machine often has a snapshot.
- Unlink. Keep the text, remove the link. Fine for casual references.
- Rewrite. The sentence only made sense with the link. Edit the paragraph.
Do not leave it. A dead link in an otherwise good post is the thing readers remember.
Find inbound 404s with a log
Turn on a 404 log and leave it for a week or two. Then sort by frequency and look at the top entries. You will see two groups:
Bot probes. wp-login.php variants, xmlrpc.php, random plugin paths, .env, phpinfo. Ignore these; they are scanners, not visitors. A log that separates bot hits from human hits, as Link Monitor’s does, makes this split instant.
Real misses. Old permalinks after a slug change, deleted pages that other sites still link to, product URLs from a retired catalogue, mistyped links in a newsletter. These are costing you readers and link value.
For each real miss, add a redirect to the closest live page. Not the homepage; the page that best answers what the visitor came for. One-click redirect suggestions from the 404 log speed this up, and DevDome Redirect Manager stores unlimited rules for free with per-rule click counts so you can see which redirects are still used.
Internal links first
Before anything else, search the broken-link report for your own domain. Every one of those is a page you deleted or renamed while other pages still point at it. Fix the link in the post and add the redirect. These take two minutes each and remove the most visible damage.
Broken images count too
Links are not the only thing that rots. Images embedded from other sites disappear, images you moved between folders leave broken tags in old posts, and a CDN change can orphan thousands of image URLs at once. A content scan should check image sources as well as links, and the fix is the same triage: replace the image, remove it, or in the case of a moved folder, a single redirect rule that maps the old path to the new one for every image at once. Broken images are more visible to readers than broken links, so put them at the top of the list when they appear.
Affiliate links deserve their own pass
On a site that earns from links, a dead affiliate link is lost money rather than a lost reader, and the common failures are specific: a product discontinued, an ASIN changed, a merchant’s programme closed, a tracking parameter dropped. A generic link check catches the dead pages; it does not notice an Amazon page that loads fine but shows the product as unavailable. If affiliate links matter, use monitoring that checks stock per product as well as the HTTP status, and keep a fallback product ready for the top earners. The monthly link routine then has two columns: broken, and alive but not earning.
Make it a routine
Link rot is steady. Studies of web links find a meaningful share dead within a few years, and the rate does not slow down. A monthly rhythm keeps it manageable:
- Run the content scan, fix the new broken links.
- Check the 404 log’s human hits, add redirects for the real misses.
- Glance at redirect click counts; a redirect with thousands of hits deserves a look at where those visitors come from.
Ten minutes a month. The alternative is an afternoon every few years, after a reader or a client points it out.
Disclosure: DevDome publishes this blog and makes the products it mentions. We describe what they do rather than promise results.
Key takeaways
- Broken links come in two kinds: outbound links in your content that died, and inbound requests for pages on your site that no longer exist.
- Scan content for outbound links with a tool that follows redirects and retries, so a slow or bot-blocking site is not reported as dead.
- Fix the link where it lives: update the URL, link to an archived copy, or unlink. Do not leave a dead link just because the text is still useful.
- For inbound 404s, a redirect to the closest live page keeps readers and link value. Check the 404 log for what real visitors hit.
- Make it monthly. A quarter's worth of rot is a ten-minute job; five years' worth is an afternoon.
Sources
- Google Search Central: HTTP status codes and crawling : how Google treats 404, 410 and redirect chains
- Internet Archive: Wayback Machine : archived copies for dead pages worth keeping a reference to
- MDN: HTTP response status codes : what 403, 404, 410 and 5xx actually mean
Links last checked October 17, 2026.
Frequently asked questions
Do broken links hurt SEO?
A few dead outbound links do not move rankings. Many of them signal a neglected site and waste crawl time. Broken internal links and inbound 404s matter more, because they drop readers and lose the value of links pointing at you. Fix those first.
Why does my link checker say a link is broken when it works in my browser?
The site is blocking automated requests, or it is slow, or it needs cookies. A checker that treats a 403 or a timeout as dead produces these false reports. Better tools retry and label the link blocked rather than broken.
Should I redirect or fix a broken internal link?
Both. Fix the link in the post so readers go straight to the right page, and add a redirect from the old URL so anyone arriving from outside also lands correctly. The redirect catches the links you cannot edit, on other sites.
Can I fix broken links automatically?
Partly. A tool can suggest a redirect for a common 404 and update a URL across posts. Deciding where a dead link should point still needs a human, because the right answer is often a different page or no link at all.