How to Find and Fix Broken Links on Your Website
Broken links hurt SEO, frustrate visitors, and waste crawl budget. Learn how to find every dead link on your site and fix them systematically — with free tools and a priority-based approach.
Broken links are silent revenue killers
A broken link is a promise you made to a visitor that you didn't keep. They clicked expecting something useful and got a dead end instead. Multiply that experience across dozens of broken URLs on a mid-sized site, and you have a problem that leaks traffic in three separate ways: visitors leave frustrated, search engines waste crawl budget on 404s instead of indexing your best content, and whatever link equity those dead pages had accumulated evaporates.
The worst part is that broken links accumulate silently. Pages get renamed, products go out of stock, external sites you linked to shut down, and nobody notices because nobody checks. By the time you spot the problem — usually because rankings dropped or a customer complained — the damage has been compounding for months.
Types of broken links and why each matters
Not all broken links carry the same cost, and understanding the types helps you prioritize fixes instead of treating them all as equally urgent.
- Internal 404s: links between your own pages that point to URLs that no longer exist. These are entirely in your control and the highest priority to fix, because they break user navigation and waste crawl budget
- External 404s: links from your site to other websites that have since moved or died. Lower priority than internal links, but they still degrade user experience and signal neglect to search engines
- Redirect chains: technically not 'broken,' but a link that goes through 301 → 301 → 302 before reaching its destination slows page load, dilutes link equity at each hop, and confuses crawlers. Flatten chains to a single hop
- Soft 404s: pages that return a 200 status code but display an error message or empty content. These are the hardest to catch because automated tools see a 'success' response while visitors see nothing useful
- Broken images and resources: a missing CSS file or image doesn't return a page-level 404, but it breaks the visual experience and can tank Core Web Vitals scores
How to find broken links: the systematic approach
The amateur approach is to click through your site manually, which works for about fifteen pages before attention wanders and coverage collapses. The professional approach is to crawl your entire site programmatically — the same way Google does — and flag every URL that returns a non-200 status code.
WebEnture's Broken Links Agent (/broken-links-agent) does this for free: enter your URL, and it crawls up to 10 pages, following every internal and external link and reporting the status of each one. For larger sites, the dashboard crawl (/dashboard) covers up to 100 pages in a single scan. Either way, you get a categorized report: internal 404s, external dead links, redirect chains, and missing resources.
If you prefer a manual process, open your browser DevTools Network tab, navigate your site page by page, and filter for 4xx and 5xx status codes. This works but scales poorly — a 50-page site takes an afternoon, and you'll miss links buried in JavaScript-rendered content unless you wait for full page load on each one.
How to fix broken links without breaking more things
The fix for a broken link depends on why it broke. A renamed page needs a 301 redirect from the old URL to the new one. A deleted product needs either a redirect to the closest equivalent or a proper 410 Gone response so search engines stop trying to index it. An external dead link needs to be updated to the new URL, or removed if the resource no longer exists.
The critical rule: never fix broken links by deleting the link without addressing the destination. If other sites (or your own pages) still link to that URL, removing the link on one page doesn't fix the 404 — it just means one fewer path leads there. Set up redirects for anything that ever had external backlinks or significant traffic.
- Priority 1: Internal 404s on high-traffic pages — fix with 301 redirects or corrected hrefs
- Priority 2: Redirect chains — flatten to single hops in your server config or CMS redirect rules
- Priority 3: External dead links on important pages — update or remove, starting with your homepage and top landing pages
- Priority 4: Broken images and resources — replace or remove broken src/href attributes
- Priority 5: Soft 404s — either restore the content or return a proper 404/410 status code
Preventing broken links from coming back
Fixing broken links once is easy. Keeping them fixed requires a system. The most reliable approach is a scheduled scan: set your site to be crawled weekly or monthly, and review the broken link report as part of your regular maintenance cycle. If you use WebEnture, the scheduled monitoring feature (/scheduled-crawls) does this automatically and can email you when new breaks are detected.
Beyond scanning, the best prevention is discipline at the source: when you rename or delete a page, add a redirect at the same time. When you link to an external resource, prefer canonical URLs over deep links that are more likely to change. And when you launch a redesign or migration, run a pre-launch crawl of the old site and a post-launch crawl of the new one, comparing the URL lists to catch anything that fell through the cracks.