Broken links
Free broken link checker, up to 5,000 pages a scan
Broken internal links are a promise your own site made and failed to keep. They waste the crawl budget you get, they strand pages that nothing else links to, and they lose the reader at exactly the moment they were interested.
Enter a domain. The crawler walks the site, fetches every internal link target it finds, and lists the ones that failed, with the page that linked to them.
What the check gives you
Each broken link comes out as a row with four things:
- The linking page, so you know where to go and edit.
- The broken URL, exactly as it was written in the HTML.
- The status: the HTTP code, or the reason the fetch failed when there was no code at all.
- The anchor text, which usually tells you what the link was meant to point at.
Rows are grouped by target, so a single deleted page that forty others link to reads as one problem with forty call sites rather than forty separate problems.
Why 5,000 pages matters
Free link checkers usually stop at a few hundred URLs, which is enough to tell you that a small site is fine and not enough to audit a real one. A crawl here goes to 5,000 pages and 1,000 assets, and that limit is the same whether or not you sign in.
The check is not a second pass over your site. The crawler already fetched every internal URL it found, so the broken-link list is a query over the stored crawl. That is why it can run instantly, repeatedly, and alongside fourteen other checks on the same data.
Fixing what it finds
404 on a page you deleted. If something replaced it, redirect the old URL to the replacement with a 301 and update the internal links anyway; a redirect is a patch, not a repair. If nothing replaced it, remove the links.
404 on a page that should exist. Usually a typo, a stale slug after a rename, or a link built from the wrong base URL. Fix the link, not the routing, unless the same wrong URL appears everywhere.
500 and other server errors. Worth treating as an outage rather than an SEO fault. Re-run the scan afterwards to confirm the page came back.
Failed fetches with no status. An expired certificate, a hostname that no longer resolves, a mixed-content link to a subdomain that was retired. These are invisible in most analytics and obvious in a crawl.
After the fixes, run the scan again. Scheduled scans compare against the previous one, so you get told what changed rather than having to read the whole report twice.
The rest of the crawl comes with it
Broken links are one of fifteen checks that run against the same stored crawl. The same scan finds redirect chains, pages missing from your sitemap, pages with no H1, thin and duplicate pages, images with no alt text, heavy assets, and everything else the guide works through.
Orphan pages deserve a mention here, because they are the mirror image of a broken link: a page that exists and that nothing links to. Both are failures of the same internal link graph, and the report draws that graph.
Questions people ask
- How many pages can it check?
- Up to 5,000 pages plus 1,000 assets in a single scan, which covers most sites outright. Every internal link found on those pages is resolved against what the crawl fetched, so the check scales with the crawl rather than being a separate, slower pass.
- Does it check links to other sites?
- No. The crawler stays on the domain you entered, so external links are recorded but never fetched. What you get is every broken link that is your fault and within your power to fix, which is the list worth having first.
- What counts as broken?
- Any internal link whose target answered with a 400 or above, or whose fetch failed outright: DNS failures, refused connections, expired certificates, timeouts. Rate limiting is deliberately excluded and listed separately, because a 429 means the server would not answer, not that the page is missing.
- Do I need an account?
- No. Enter a domain and read the results at the private link you are given. An account only adds a place to keep scans and the option to re-run them on a schedule.
- How often should I check?
- Monthly for a site that changes, and always after a migration or a redesign, which is when internal links break in bulk. A free account can put the domain on a schedule and e-mail you only when the result differs from last time.
Check a site for broken links
Read next
- Free site crawler, no signup — the whole crawl, and what else it records.
- The DIY SEO guide — where broken links sit in the order of work.
- Download your crawl as SQLite — write your own broken-link query, or any other.