Finding and fixing broken links
Broken links frustrate visitors, waste crawl budget, and leak ranking signals into dead ends. Here's how they happen and how to clear them.
A broken link points to a URL that returns an error — usually 404 (not found) or 5xx (server error). Each one is a small dead end: a visitor hits a wall, a crawler wastes its budget, and any ranking signal flowing through that link is lost.
Where they come from
- Pages that were renamed or deleted without a redirect.
- Typos in href values, or links to staging/localhost URLs left in production.
- External sites you link to that move or shut down.
- Case sensitivity — /About vs /about on case-sensitive servers.
Internal links: fix at the source
For links within your own site, update the href to the correct URL. If the old URL had value or is still linked externally, add a 301 redirect from the old path to the new one so nothing is lost.
# Old URL still linked around the web → redirect it
/old-pricing -> /pricing (301 permanent)Give 404s a helpful page
Some 404s are unavoidable (mistyped URLs, ancient links). Make the 404 page genuinely helpful — a clear message, a search box or key links back into the site — and make sure it returns a real 404 status, not a 200 (a "soft 404" confuses search engines).
How to fix it
- Crawl the site to list internal links returning 404/5xx.
- Fix the href for links you control; 301-redirect removed URLs that still receive traffic.
- Ensure the 404 page returns a 404 status and helps the visitor onward.
- Re-scan periodically — external links rot over time.
Glossary
- 404
- HTTP status for a URL the server can't find.
- Soft 404
- A missing page that wrongly returns a 200 (or redirects to an unrelated page), confusing search engines.
- Crawl budget
- The finite number of URLs a search engine will fetch from your site in a given period.