The Broken Link Checker loads a page, extracts every anchor tag, and performs a real HTTP HEAD request (with GET fallback for servers that reject HEAD) against every destination. Requests run in parallel — up to 10 at a time — so a full audit of 100 links finishes in seconds, not minutes. Redirects are followed for up to 5 hops so you get the true final status and the redirect count. Each link is classified as OK, redirect, broken, timeout, or error, along with the response time in milliseconds. The tool distinguishes internal from external links so you can prioritize your own broken links first (higher ranking impact) before chasing down partner sites. It respects rel="nofollow" as a display filter (some audits deliberately exclude nofollow because you're not sending link equity to those anyway) and skips mailto:, tel:, and JavaScript pseudo-URLs automatically. Ideal for post-migration audits, quarterly link-hygiene sweeps, and any time you make a bulk content change.
Why broken links matter more than they seem
A broken link hurts SEO in three concrete ways. 1. Wasted crawl budget. Googlebot spends time following your links; every 404 is a request that returned no value, and on large sites the wasted budget cumulatively slows discovery of new content. 2. Lost link equity. External links passing to a 404 dissipate — the linked page is gone, so the ranking signal has nowhere to land. Internal links to 404s deprive good pages of the internal signal you meant to send. 3. Poor user experience → indirect ranking impact. High bounce rate, lower session depth, and negative engagement signals all correlate with lower rankings. A 2023 SEMrush study found that sites with under 1% broken-link rate ranked, on average, 12% higher for competitive terms than sites with over 5% — controlling for other factors. It doesn't cause the ranking; but the same discipline that keeps links clean tends to keep everything else clean too.
Internal vs external — which to fix first
Internal links first, always. You own them. They pass signals within your site, they define your site architecture, and they're your responsibility. A broken internal link is a bug: it typically points at a URL that was renamed or deleted without a redirect. Fix by either restoring the destination, adding a 301, or updating the link source. External links second. You don't own them, so all you can do is delete the link, update it to the current URL if the target moved, or find a replacement source. External broken links matter less for SEO (Google understands that external content changes) but they still hurt user experience, and clusters of dead outbound links are a low-quality signal. Do a full external sweep quarterly; internal sweeps monthly on active content.
HEAD vs GET — and why we do both
An HTTP HEAD request asks the server for a URL's headers only, not the response body. It's the standard way to check if a URL exists without paying the download cost — the response is a few hundred bytes instead of a full HTML page. Most servers respect HEAD correctly. Some don't: they return 405 (Method Not Allowed), 501 (Not Implemented), or 5xx errors even though the URL is fine. Our checker handles this: if HEAD returns 405 or 5xx, we retry with a Range-limited GET (first 1 KB only), which every server supports. The net effect is fast checks by default (HEAD costs pennies) with reliable fallback (GET catches the misbehaving servers). Response times reflect real-world latency: slow responses that don't quite time out still show up as slow.
Redirects — not broken, but not free either
A link that 301s isn't broken but it isn't free either. Every redirect adds latency (an extra RTT), and Google explicitly recommends updating internal links to point directly at the final URL rather than through redirects. Our checker follows redirects up to 5 hops and shows the count for each link. Common redirect patterns worth cleaning up: trailing-slash normalization (link to /page, site redirects to /page/), http→https (link to http://…, site redirects to https://…), www vs naked, URL renames (link to old slug, site redirects to new). Fixing internal links to skip the redirect improves crawl speed and page-load performance simultaneously.
What to do with what you find
The output splits into three buckets. Broken (4xx/5xx). Either fix the destination (if it's yours) or update the link source (if it's external and dead). If the destination was intentionally removed, add a 301 to a related live URL — never leave a 404 in place if a good replacement exists. Timeouts. Retry manually — some servers are slow but functional, and a single 10-second timeout doesn't mean the URL is dead. If timeouts are persistent, treat as broken. Redirects. Update internal links to point at the final URL directly. For external links, only bother if you'll edit that page for another reason — the win is marginal. Rerun the tool after fixes to confirm and re-check periodically to catch new drift.