A single dead link costs trust — and search engines notice too. Four ways to check your whole site, from zero-install to fully automated in CI.
Updated August 2026 · 5 min read
wget --spider or a dedicated CLI tool
gives full control and output you can pipe into scripts.# Check one URL's status code
$ curl -s -o /dev/null -w "%{http_code}" https://yoursite.com/old-page
# Crawl an entire site with wget (status only, nothing downloaded)
$ wget --spider -r --no-parent https://yoursite.com 2>&1 | grep -B2 "404"
Sort by where the link lives, not just by the error itself. One dead link on your most visited page costs more than twenty on an archive page. Check first:
| Location | Why it matters most |
|---|---|
| Homepage and main navigation | First impression — everyone sees them |
| Pages with the most organic traffic | Direct loss of visitors |
| Pages with many backlinks | Wastes value others gave you |
| The conversion path | Breaks the sale midway |
Also read: how to find all pages on a website, check redirect chains and technical SEO checks.
They send visitors and search engines into 404 pages. That costs trust, wastes link equity from internal and external links, and can hurt rankings over time. Google Search Console reports them directly under coverage.
An online broken link checker or a sitemap crawl. Paste the URL, wait a few minutes, get a list of every link with its HTTP status. For larger sites a CLI tool is faster and more controllable.
Run a link check in your CI pipeline on every release, or schedule a weekly crawl of sitemap.xml. GitHub Actions is free for public repositories and needs no server.
No — some are intentional (removed pages). But they should serve a proper 404 page, and important old URLs deserve a 301 redirect to relevant content. Prioritize links from pages with the most traffic and backlinks.
Related: Find all pages · Redirect chains · Technical SEO checks