Broken links and dead product pages are the quietest way a Shopify store loses money. Nobody files a support ticket when they click "Shop the collection" and hit a 404 — they just leave. And nobody emails you to say that Google spent its crawl budget on a hundred sold-out product pages instead of the ones you actually want ranking.
I audit Shopify storefronts fairly often, and the same pattern shows up on almost every store past its first year: menu items pointing to collections that no longer exist, footer links that 404, and "best seller" tiles on the homepage sending traffic to products where every variant is sold out. None of it is dramatic. All of it costs sales.
Here's how to find these problems yourself — manually, the way an SEO or CRO consultant would — and then how to run the same audit in about ten seconds.
The two kinds of "broken" you're looking for
These get lumped together, but they're two distinct problems:
Broken links are the obvious kind. A link points somewhere that no longer works — a deleted collection, a renamed page, a product that was fully removed. Click it and you get a 404 (not found) or, worse, a 500 (server error). Unambiguous: the destination is gone.
Dead product pages are the sneaky kind. The page still loads. It returns a normal 200 OK. It looks completely fine to you and to Google. But every variant is sold out or unavailable, so there's no working "Add to cart" — the shopper hits a dead end on a page that technically works. Search engines have a name for this: a "soft 404," a live URL with nothing purchasable behind it.
The first kind is easy to spot once you go looking. The second is the one that quietly rots a store, because from the admin everything looks healthy.
Why this quietly costs you money
There are two separate bills here, and most owners only ever see one of them — if that.
The conversion cost. Every broken link is a shopper you paid to acquire walking into a wall. If you're running ads, you're literally buying the click that lands on a dead page. Featured products that are sold out are worse than useless: they occupy your highest-intent real estate — the homepage hero, the "best sellers" row, the top of a collection — and point people at things they can't buy. And there's a trust cost that's hard to measure but real: a 404 in the footer or a dead "Shop now" button reads as "nobody's minding this store." This is a textbook revenue leak — the kind of loss that never appears as a line item, so it never gets prioritized.
The SEO cost. Search engines crawl a finite number of your URLs per visit. Every broken and dead page they wade through is attention not spent on the pages you want indexed and ranked. Internal links pointing at 404s waste the ranking signal you'd otherwise pass to live products. Empty collections and soft-404 product pages look thin, and thin pages drag on the quality signals for the rest of the site. For a small catalog this is a nuisance; for a store with hundreds of SKUs churning in and out of stock, it's a steady tax on your organic visibility.
Fastero
Connect your database. Ask questions. Get dashboards.
Postgres, BigQuery, Snowflake, and 10+ sources — live-connected, AI-powered, no dashboard builder learning curve.
Try free →How to audit it manually
Set aside an hour. Here's the sequence.
1. Crawl every navigation and footer link
Open the storefront and click every top-level menu item, every dropdown entry, every footer link, and every promotional button. Note anything that 404s, 500s, or lands on a page with no products. It's tedious, and it's exactly the tedium that lets these pile up unnoticed.
If clicking through by hand isn't realistic, a free broken-link checker or site crawler will pull every URL on the store and report its status code in one pass. That turns "click 80 links" into "scan one list."
2. Check status codes, not just how the page looks
This is the step people skip. A page can look perfectly normal and still be broken to a crawler. Open your browser's developer tools, go to the Network tab, and watch the status code as pages load. A quick key:
- 200 — OK. But hold on: a dead product page returns 200 too. Fine status, empty page.
- 301 / 302 — a redirect. Usually fine, but long redirect chains waste crawl budget and slow shoppers down.
- 404 — not found. The link is broken.
- 500 — server error. Something is actually failing; fix these first.
3. Hunt down dead product pages
The soft-404 hunt is where the real money hides. In your Shopify admin, go to Products and filter or sort by inventory so you can see everything at or near zero stock. Cross-reference that list against what's still linked from your storefront — your menus, your collections, your homepage. Any product that's out of stock, has "continue selling when out of stock" turned off, and is still linked somewhere is a live dead end.
On the storefront side, walk your collection pages and look for "Sold out" badges. A collection that's mostly sold-out badges is both a bad shopping experience and a thin page in Google's eyes.
4. Find sold-out products still featured on the homepage
Go through your homepage section by section — featured products, collection tiles, "shop the look," anything hand-picked — and confirm each featured item is actually buyable. This is the highest-leverage check on the list. These slots convert better than anything else on the site, and pointing them at a sold-out product wastes your best merchandising space.
5. Look for empty collections and stale promos
Two quieter dead ends worth a sweep:
- Empty collections. A collection linked in your nav with zero products — a seasonal drop that sold through, or a tag that no longer matches anything — is a dead end for shoppers and a thin page for search engines.
- Stale promos. Expired discount banners, a "Black Friday" section still up in July, or a hero image promoting a collection that's been deleted. These erode trust and sometimes link straight to a 404.
Do all five and you'll have a genuine picture of where your storefront leaks. It's real work, though, and it goes stale the moment your inventory turns over again — which for most stores is constantly.
Or skip the hour entirely: Scan your store free and let the audit run itself.
The 10-second version
We built the Shopify spend-leak scanner to do exactly this pass automatically. Paste your store URL — no signup, no account — and it crawls your storefront and reports what it finds. Here's precisely what it confirms:
- Broken navigation and footer links that return a 404 or 500.
- Dead product pages — pages that load
200 OKbut where every variant is unavailable. - Sold-out products still linked from your homepage — your best real estate pointing at things nobody can buy.
- Empty collections sitting in your navigation.
It also surfaces a few things worth a manual look rather than hard failures: stale promos, products in your homepage with some (not all) variants sold out, and whether common tracking tags like Klaviyo and Google Tag Manager are present on the page. That last one is a light presence check — it tells you the tags exist, not whether they're firing correctly, so treat it as a sanity check, not a full tracking audit.
A few honest limits worth stating plainly: it's Shopify-only, it looks at your public storefront, and it does not touch your ad platforms — it won't tell you what you're spending on Google or Meta. It's a fast, focused storefront audit, not an analytics suite.
Scan your store free and you'll have the same list the manual audit produces, in the time it takes to read this sentence.
What to fix first
Once you have your list, triage it in this order:
- 500 errors and broken links from the homepage or main nav — highest traffic, most visible, most damaging to trust.
- Sold-out products featured on the homepage — either restock, swap them out, or route the slot to a live product. Fastest conversion win on the list.
- Dead product pages — for permanently discontinued items, redirect (301) to the nearest live product or collection so you keep the link value; for temporary stockouts, add a back-in-stock signup so the page still does a job.
- Empty collections and stale promos — unpublish or repopulate.
Broken links and dead pages aren't a glamorous problem, which is exactly why they persist. They don't crash anything, they don't trigger an alert, and they never show up on the revenue dashboard — they just quietly skim a little off the top of every campaign you run. The fix costs an afternoon. The audit costs ten seconds.
Want to see where else your store leaks revenue? Scan your store free — no signup required. And once you're ready to go deeper than the storefront, the Shopify integration pulls your orders, products, and inventory so you can monitor this continuously instead of auditing by hand.
Related: Shopify Analytics Beyond the Built-In Dashboard | Revenue leak detection
