How to Find Broken Links on Your Site Without Installing Anything
A broken link doesn't announce itself. Visitors quietly hit a 404, most don't report it, and it sits there until someone stumbles onto it — often a site owner, well after the fact. Checking for these doesn't require an SEO subscription or desktop software; for a small to mid-sized site, a free browser-based crawl covers it in a couple of minutes.
Why links break in the first place
The page you linked to got moved, renamed, or deleted — on your own site (a page reorganization, a slug change) or on someone else's (they redesigned, the resource got taken down, the domain expired). Internal broken links are entirely within your control to fix; external ones aren't, but they're just as worth knowing about, since a visitor doesn't distinguish between "your mistake" and "a link you pointed at that later broke."
Step 1: Run a crawl
Point a site crawler at your homepage and let it follow links from there. A crawler starting from your homepage and following internal links will naturally discover most of a small site's page structure without needing a manually compiled list of every URL.
Step 2: Read the broken-link report, not just the count
A count alone ("3 broken links found") doesn't tell you what to fix. Look at the actual list: which page contains the broken link, and what status code came back. A 404 means the target is gone; a 500 or timeout on an external link might just mean that site was temporarily down during the crawl, which is worth a manual recheck before you go changing anything on your end.
Step 3: Fix internal links first
These are entirely within your control and usually the easiest fix — update the link to the page's new location, or remove it if the target genuinely no longer exists. Internal broken links are also the ones most likely to be hit by real visitors following your own navigation, so they're worth prioritizing over external ones.
Step 4: Decide what to do with broken external links
Options, roughly in order of effort: remove the link and keep the surrounding text, replace it with an archive.org snapshot of the original page if one exists, or find a current equivalent resource to link to instead. Leaving it broken is also a legitimate choice for old content where the link was never central to the point being made — not every broken external link needs fixing the same day you find it.
Step 5: Make this a recurring check, not a one-time cleanup
Links don't break all at once — they break gradually, as other sites reorganize over time. A quarterly recheck (or whenever you do a significant content update) catches new breakage before it accumulates into a much bigger cleanup job.
A couple of things people get wrong the first time
Treating a redirect as broken. A link that 301s or 302s to a new location isn't broken — it's working exactly as intended, just pointing somewhere the target has since moved to. Only 4xx (not found, forbidden) and 5xx (server error) status codes indicate an actual problem; a redirect chain is worth cleaning up for tidiness eventually, but it's not the same failure as a dead link.
Assuming a single 5xx means the page is really gone. A server error during a crawl can be temporary — the target site having a bad moment, a rate limit kicking in, a brief outage. Worth a manual recheck before deciding a link needs fixing, especially for high-traffic external sites that are very unlikely to be permanently down.
Try it
FreeToolDev's Site Crawler & Audit tool does exactly this: point it at your homepage, and it crawls up to 40 pages, reporting broken links (with status codes) and missing meta tags — no install, no account, entirely from your browser.