Every link on your site was correct the day you published it. None of them are guaranteed to stay that way. Pages you linked to get deleted, sites get redesigned, domains lapse, and URLs change structure without a redirect to match. The result is link rot -- a slow, invisible accumulation of dead links that nobody notices until a visitor clicks one and lands on a 404, or Google's crawler does the same and quietly downgrades how much it trusts the page.
The question isn't whether your site has broken links. If it's more than a few months old and links to anything outside your own domain, it does. The real question is how often checking is actually worth your time.
Why links break even when you don't touch your site
Most broken links aren't your fault. A link breaks when something changes on the other end: a company reorganizes its site and every old URL 404s, a blog gets migrated to a new platform and loses its slugs, a domain expires and gets parked, or a page gets deleted outright. None of that shows up in your CMS or your git history -- your page looks identical, but the destination is gone.
Internal links break for a different reason: you renamed a page, deleted an old post, or restructured your URL slugs, and forgot one of the dozen places that linked to the old path.
What a broken link actually costs you
For a reader, a dead link mid-article is a trust signal, and not a good one -- it reads as unmaintained. For search engines, broken links are one of many small quality signals: a page riddled with 404s and dead outbound links looks less cared-for than one that doesn't have any. Neither effect is dramatic on its own, but they compound as a site ages and accumulates more links no one has looked at in years.
The cost also depends on where the broken link sits. A dead link in a five-year-old blog post buried deep in your archive matters less than one in your main navigation, your pricing page, or a post that still gets regular traffic.
A realistic checking schedule, not an obsessive one
You don't need to check daily, and you don't need a monitoring dashboard for a small site. A reasonable cadence:
- Right after publishing or editing a page. Check any new links you just added. This is the cheapest time to catch a typo'd URL or a link to a page you haven't actually built yet.
- Every one to three months for an active site. Run a check across your most-trafficked pages. If you publish regularly, bundle this into whatever routine you already do, like a monthly content review or a quarterly site audit.
- Right before a migration, redesign, or domain change. This is when the most internal links break at once, and it's the easiest time to fix them all in one pass rather than discover them one at a time over the following year.
- Occasionally for your oldest, highest-value content. The pages that still bring in search traffic years later are exactly the ones most likely to have accumulated dead outbound links, since nobody revisits them.
If your site is large or changes constantly, more frequent checks earn their keep. If it's a handful of static pages that rarely change, checking twice a year is plenty -- the marginal broken link you'd catch by checking weekly instead isn't worth the habit.
What to actually do with a broken link once you find one
Finding it is the easy part. For an external link, you have three real options: update it to the page's new location if you can find one (search the exact old title, it's often been republished elsewhere), swap in a different source that covers the same point, or just remove the link and keep the text. For an internal link, fix it directly rather than relying on a redirect to paper over it indefinitely -- a redirect is a fine safety net, not a permanent fix for a link you actually control.
Don't treat every 404 as urgent. A single dead link in an old post is a maintenance item, not a fire. A pattern of dozens of them across your site is worth setting aside real time for.
Check your links without clicking each one by hand
Manually clicking through a page full of links to see which ones still resolve doesn't scale past about ten links. The Broken Link Checker takes a list of URLs and tells you which ones are dead or unreachable in one pass, so you can run through an entire page's worth of links -- or your whole sitemap -- in the time it would take to check two of them by hand.