Find Broken Links Before Your Customers Do

TL;DR
- A page can look perfect in your code and still 404, show a broken image, or loop on redirects the moment a real visitor lands on it.
/site-auditcrawls your actual running site and hands back a plain, prioritized report of everything that fails to load — broken internal links, missing images, server errors, and dead outbound links.- You run it yourself in one line. It checks every page, link, and image and tells you what's critical versus what's just worth noting.
- It pairs with
/agent-seo: that one checks your settings are right, this one checks your site actually works for visitors. - Fix what it flags, re-run it, and ship a site you know is clean — broken links quietly cost you trust, conversions, and search ranking.
Why a Broken Link Is More Expensive Than It Looks
Your code can be flawless and your site can still be broken. You delete an old page, rename a route, swap out a product image — and somewhere a link or an image is now pointing at nothing. You won't see it, because you don't click every link on your own site. Your customer will.
That's the worst possible person to discover it. A visitor who hits a dead page or a missing product photo doesn't think "minor bug." They think the business is sloppy, hesitate, and leave. First impressions form in milliseconds, and a broken page burns yours instantly. Multiply that across a storefront, a blog, and a contact form, and broken links turn into lost sales you never even know you lost.
It hurts search ranking too. When a search engine crawls your site and keeps hitting 404s and redirect loops, it trusts your site less and ranks it lower. And one sneaky one: a hardcoded http:// image or link works fine on your laptop, then gets silently blocked the day your site goes live on secure https://. The image just vanishes for everyone, and nothing in your code looks wrong.
You own this site. /site-audit is how you check it actually works before anyone else does.
What /site-audit Actually Does
/site-audit runs a live crawl of your real, running site — not your code, the site as visitors see it. It starts at your homepage, follows every link, and checks every page, image, and outbound link to confirm it actually responds. Then it writes you a report ranked by how much each problem matters.
It catches the failures that source code can't show you:
- Broken internal links and 404s — a link pointing at a page that's been deleted or renamed.
- Broken images — a product photo or blog cover whose file is missing or whose link went stale.
- Server errors — a page that crashes instead of loading.
- Redirect loops — a page that bounces in a circle and never lands, so visitors just spin.
- Dead outbound links — a link to another site that's gone or moved.
- Mixed content — those
http://resources that work locally but get blocked on a live secure site.
Everything is sorted for you: 🔴 Critical (fix before anyone sees it), 🟠 High (fix soon), 🟡 Warning, and 🔵 Info. So you're never staring at a wall of issues wondering where to start — the report tells you.
How to Run It
You run it the same way you run everything else on your site: you ask. Just invoke /site-audit. It makes sure your site is running, crawls it, and reports back. You don't touch any of the machinery.
When it's done, it leads with the verdict — ✅ PASS or ❌ FAIL with the number of critical issues — and the counts at each level. Then it shows you the critical and high-priority problems right there in the chat: what broke, the exact link, and which page it was found on. That's your fix-list, no file-digging required. The full report, including the lower-priority notes, is saved at .claude/audits/site-audit-report.md if you want the complete picture.
![]()
Want to check your live, deployed site instead of your local copy? Point it at the real URL with --url. Want a faster pass that skips checking outbound links to other sites? Add --no-external. You don't need to memorize any of this — ask in plain English and Claude handles the flags.
What to Do With the Report
The point isn't just to find problems — it's to fix them and prove they're gone.
Each critical issue traces back to one real thing. A broken internal link usually points at a renamed or removed blog post (its entry in your blog map), a page that was deleted, or a navigation item in your brand config. A broken image is almost always a missing file, a stale storage link, or a typo in the image name. Mixed content means an http:// link that just needs to become https://. You don't have to know the fix — that's exactly what to hand to Claude, one issue at a time.
Two honest notes. If a warning says an outbound link "timed out," it might just be a slow or busy site on the other end, not a truly dead link — re-run before treating it as real. And never let a fix quietly rewrite your copy in a way that changes what a sentence means; if fixing a link would do that, it's a decision for you to make, not a silent edit.
After you fix something, run /site-audit again. A clean ✅ PASS is the proof. That's the whole loop: crawl, fix, re-run, ship with confidence.
It Pairs With Your SEO Check
/site-audit has a sibling: /agent-seo. They cover two different kinds of broken. /agent-seo reads your settings and confirms your titles, descriptions, and other search details are configured correctly. /site-audit ignores settings and checks the one thing that matters to a visitor — does every page, link, and image actually load on the live site?
Run both and you've covered both halves: your site is set up right and it genuinely works. That's a site as solid as the work it represents.
Frequently Asked Questions
Do I need to be technical to run this?
No. You invoke /site-audit and it does the crawl for you, then reports back in plain language with the problems sorted by importance. When something needs fixing, you describe the issue to Claude and it makes the change. You're directing the work, not writing code.
Will it change my site or fix things automatically?
No. The audit only looks and reports — it never edits your site on its own. You decide what to fix, fix it deliberately, then re-run the audit to confirm it's resolved. Nothing changes without your say-so.
How often should I run it?
Any time you've made real changes — added or removed pages, renamed something, swapped images, or updated links — and always before you push your site live or after a big update. It's quick, so there's no reason not to run it whenever you want peace of mind that nothing's broken.
What's the difference between this and the SEO check?
/agent-seo checks that your site's search settings are configured correctly in your code. /site-audit checks that your live site actually works — every page loads, every image shows, every link goes somewhere. Different problems, so run both.
About the author — William Rodriguez built Prompt Your Site, including the /site-audit tool that crawls your live site so you catch broken links before your customers do. More about us.