Rankato

Free Broken Link Checker

Paste any page URL. We extract every link, HEAD-check every destination in parallel, and show you exactly which are broken, redirected, or slow.

HEAD-first, GET fallback10 parallel requests

Find broken links on any page

We extract every <a href> on the page, then HEAD each one (with GET fallback) and flag 4xx / 5xx / timeouts, redirect chains, and cross-domain drift. Great for post-migration cleanup.

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.

Tool FAQs

Everything you need to know about using Broken Link Checker.

How many links does it check at once?+

Up to 200 per scan, configurable via the Max links selector (defaults to 50). Links beyond the limit are counted as total_found but marked skipped. To audit an entire site rather than a single page, use a dedicated crawler (like our Website SEO Audit) that walks internal links and respects rate limits.

Does it respect rel=nofollow?+

Yes, as a filter. By default, nofollow links are included so you get a complete inventory. Uncheck Nofollow to exclude them — useful when you're specifically auditing where your link equity flows, since you don't pass equity through nofollow anyway. Nofollow doesn't affect the health check itself: a broken nofollow link is still a broken link and still hurts UX.

Why did some links get skipped?+

Two reasons. First, if the total link count on the page exceeds Max links, the extras are counted but not checked. Second, we skip links that redirect to private or non-public IP addresses to prevent server-side request forgery (SSRF). URLs with non-http(s) schemes (mailto:, tel:, javascript:) are also skipped — they're not links to check in the traditional sense.

The tool says a link is broken, but I can open it in the browser. Why?+

Three common causes. 1. User agent blocking. Some sites block non-browser user agents at the CDN layer — we send a bot-shaped UA. 2. Bot protection (Cloudflare, Akamai). They challenge our request with JavaScript we can't execute. 3. Country blocking or IP-based rate limits. The site may respond fine to your browser but 403 our origin. If a link consistently 403s in our tool but works in the browser, verify manually — it's usually a false positive from anti-bot systems, not a real problem.

How long does a scan take?+

Roughly 1–2 seconds per 10 links on typical sites. We run 10 parallel requests and time each one out at 10 seconds. A 50-link scan usually completes in under 15 seconds. If the target site is slow or rate-limits us, expect longer — some servers cap requests-per-second and we back off automatically.

How often should I run this?+

Depends on content velocity. High-velocity sites (news, blogs with weekly posts) should audit the top 20–50 pages monthly; slower sites quarterly is fine. Always audit after: (a) a site migration, (b) a URL structure change, (c) a big content prune, (d) a CMS platform change, or (e) an external website you link to a lot changes structure. The reason: those events cause the most broken-link drift, and catching it in the first week is much easier than doing detective work six months later.