ShipGuardeRELEASE CLEARANCE BUREAU
How it worksUse casesDocsPricing
FREE CHECK · BROKEN LINKS

Broken links, without the false alarms.

Paste a public page. Every link on it is requested, and each result is classified honestly: broken, reachable, or undetermined, because a 403 from a bot wall is not a dead page.

All six checks
RUN IT ON YOUR SITEFREE · NO ACCOUNT

Six read-only checks on one page: accessibility, performance, SEO, console and network errors, broken links, cookie handling. About a minute. Nothing is submitted, signed into, or changed.

WHAT IT LOOKS AT

The questions it asks of the page.

01Every link on the page, up to fifty, requested from a real network with a real browser identity
02HTTP 404 and 410 responses, and hosts that do not resolve at all
03Links whose target answers 403 or 429, filed as undetermined rather than broken
04Single-page apps that return 404 and then route the visitor somewhere valid
05The page's own assets: fonts, stylesheets and scripts that fail to load
06Links to the site's own social profiles and legal pages, which break most often
WHAT IT FINDS MOST OFTEN

From real public pages. No company named.

FOUND
THE PRIVACY POLICY LINK GOES TO A 404

The footer linked /privacypolicy and the page lived at /privacy-policy. Every visitor who checked before signing up hit a dead page. Fix the href, and add a redirect from the old path so links already shared keep working.

FOUND
A TRACKING SCRIPT POINTED AT A HOSTNAME WITH NO DNS RECORD

The vendor changed domains. The request failed on every page view, so the analytics the team was reading had a hole in it. Update the script URL, then check the dashboard for the gap.

FOUND
FONTS LOADED FROM A STAGING DOMAIN

The live site fetched seven font files from a staging host that answered 404, so every visitor saw fallback type. Point the font URLs at the production host, or self-host the files.

WHAT IT CANNOT SEE

The honest limit.

One page, up to fifty links, one request each. It does not crawl the site. A link that is rate-limited during the check is reported as undetermined, not broken, and worth a second look by hand.

Run the journey too: the pilotCheck a page now
INQUIRIES

Questions about the broken links check.

Why does it say "undetermined" instead of broken?
Because a 403 almost always means bot protection, not a missing page, and a single-page app can answer 404 and then route the visitor to a real page. Calling those broken would send you chasing links that work for every human.
Does it crawl my whole site?
No. It checks the links on the one page you give it. Give it your homepage, your pricing page and your docs index separately if you want the three that matter most.
Will it hammer my server?
No. One request per link, once, from one client, and the check stops at fifty links.
THE OTHER FIVE

Every run does all six.

01Accessibility
02SEO basics
03Performance
04Console & network errors
05Cookies & consent

Code review checks the diff. ShipGuarde also checks the running product, so a release does not ship on the hope that nothing broke.

Join the free 30-day pilotStart a 7-day trial

NO CREDIT CARD · CONNECT GITHUB IN UNDER FIVE MINUTES · CANCEL ANY TIME

ShipGuarde

RELEASE CLEARANCE BUREAU
ISSUING AUTHORITY FOR SOFTWARE RELEASES
[email protected]

PRODUCT

  • Features
  • PR Reviews
  • Visual QA
  • Compare
  • Integrations
  • Pricing

RESOURCES

  • Free website check
  • Docs
  • How it works
  • Use cases
  • Sample report
  • Founding pilot
  • Blog
  • Changelog
  • FAQ
  • Support

COMPANY

  • About
  • Security
  • Status
  • Contact us
  • Privacy
  • Terms
  • Refunds
  • Sub-processors
FILED · SG-482 · ACME-COMMERCEEST. 2026