How to find broken links on your website

To find broken links reliably, crawl the site: follow every internal link from the homepage and record the status code of each target. A link is broken when the target answers 404 or another 4xx, a server error, or nothing at all. Checking pages one at a time with a browser extension finds the obvious ones but misses pages that nothing in your menu links to.

Free ways to do it

Google Search Console. Indexing → Pages → Not found (404) lists missing URLs Google has seen, and URL Inspection shows a page that links to each. It is free and reflects what Google sees, but it lags by days and does not show every link.

A desktop crawler. Screaming Frog SEO Spider crawls up to 500 URLs for free and lists every broken link with the page it is on. Enough for a small site.

An online audit. A crawler that runs in the cloud and reports broken links with the rest of a site check. SignalCrawler does this in its free scan.

A browser extension. Checks the links on the page you are viewing. Useful for one page, not for a site.

  1. Links in the menu, header or footer. They appear on every page, so one broken link is broken everywhere.
  2. Links on pages with traffic. Visitors actually hit them.
  3. Links to pages that moved. Someone already wanted that page; redirect or update the link.
  4. Broken images. Visible to everyone, and easy to miss in a link check that only looks at <a> tags.
  5. Links in old articles to external sites that closed. Lower priority, but they add up.

Of the 24 sites SignalCrawler audited in September and October 2026, 10 had internal links to pages that answer 4xx, and 4 had images that fail to load.

Fix them at the source

  • Menu and footer links: fix once in the template or menu settings.
  • Renamed pages: update the link to the new address, and add a 301 redirect from the old address for links you do not control.
  • Deleted pages: remove or replace the links, and let the old address answer 404.
  • Links to redirects: not broken, but slower. Point them to the final address.

Do not stop at 404s

While crawling, also note:

  • links that go through redirect chains or loops;
  • links to pages blocked by robots.txt or marked noindex;
  • links with no text (an icon without a label), which screen readers cannot announce;
  • anchors (#section) that point to an id that does not exist on the page.

What SignalCrawler checks here

The audit crawls the site and reports internal links to 4xx pages (with the pages that contain them and whether they are in the navigation), server errors, links to redirects, redirect chains and loops, links to blocked URLs, broken images, links without text and anchors that point nowhere. You can download all affected addresses of a finding as a CSV.