Deep Audit Case Study: The Sales a DTC Brand Loses on Its Product Pages

Third in our monthly series. We've done a law firm and a dental group. This month we're on ecommerce heading into the holidays — and doing something different. For a store, the homepage isn't where you make money; the product page is. So we pointed a Deep Audit at a single product page and read every finding that costs a sale.

Auditing the homepage of an ecommerce store tells you almost nothing about whether it sells. We pointed the audit at one product page instead and it came back 3.92 on AI readability, 2.34 on SEO — with two crawlability findings a homepage audit would have reported as fine.

Our subject is Beardbrand, a mid-sized DTC grooming brand on Shopify. We audited one product page — their beard brush — because that is where the money is.

The output

Deep Audit — https://www.beardbrand.com/products/beard-brush
==============================================================
  LAI Score: 3.51/5  (good)   confidence 61.29%
  AI 3.92/5   SEO 2.34/5   Local n/a
  Tasks scored: 5962  (passed 1958, warned 2267)

Section scores (0-5):
  S1  Technical Foundation & Rendering   4.37
  S2  Crawlability & Site Architecture   2.49
  S3  Content Quality & Entity Semantics 4.26
  S4  Core Web Vitals & Performance      2.78   ← conversion killer
  S5  Technical SEO & Index Control      3.61
  S6  Schema, Local, Trust & E-E-A-T     2.30   ← weakest
  S7  Security & Privacy                 4.44
  S8  Multimodal Content & Media         3.46
  S9  Off-Site Signals & Reputation      3.49

The same pattern we keep finding — strong content, weak machine-readable SEO — but on a product page the consequences are more direct.

Finding What it means What it costs
S6 6.8.01 No Review schema Product reviews on the page aren't marked up No star rating in Google results
S4 4.9.01/02 Organization schema, no sameAs Brand entity is thin Weaker brand trust signal
S4 4.2.01 212KB inline JS across 61 blocks Heavy scripts block rendering Slow product page
S4 CWV = 2.78 Poor Core Web Vitals Conversion risk
S2 2.5.02 sitemap has 0 URLs Product URLs not in a discoverable sitemap Crawlers can't reliably find products
S2/S5 2.1.01 No robots.txt found No crawl directives detected Crawl budget wasted
S2 2.7.02 Text-to-HTML 4% 96% markup/script Thin crawlable signal + slow
S6 6.7.01 No FAQPage Product Q&A not marked up Miss AI answer citations
S3 3.10.01 No llms.txt No AI-crawler guidance Weaker answer-engine presence

Fix 1 — The one that shows stars: Product + Offer + AggregateRating

The highest-ROI change on any product page. A result showing ★ 4.8 gets more clicks than a bare link, and that requires review markup. Build against Google's product structured data guide and the review snippet requirements.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Beard Brush",
  "image": "https://www.beardbrand.com/beard-brush.jpg",
  "description": "Boar's hair beard brush for styling and distributing oils.",
  "sku": "BB-BRUSH-01",
  "brand": { "@type": "Brand", "name": "Beardbrand" },
  "offers": {
    "@type": "Offer",
    "price": "25.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://www.beardbrand.com/products/beard-brush"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "612"
  }
}
</script>

Generate this from catalog data, not by hand. On Shopify that means editing the product template so price, availability, sku, and the real review aggregate are injected for every product automatically. The ratings must be real and shown on the page — fabricated AggregateRating is a manual-action risk.

A caveat on the star payoff: rich results are never guaranteed. Valid markup makes you eligible; Google decides per query whether to show it. Treat this as removing a blocker, not as buying a feature.

Fix 2 — Get availability and price right, per variant

The most common product-schema mistake is stale availability. If a product is out of stock but your schema says InStock, you lose trust and risk the markup being ignored. Wire these to live inventory:

  • availability: InStock / OutOfStock / PreOrder / BackOrder
  • price + priceCurrency: from the variant being viewed
  • priceValidUntil: for sale prices

For multi-variant products, emit an Offer per variant, or AggregateOffer with lowPrice/highPrice so the result shows an accurate range.

Fix 3 — Speed is conversion: the 2.78 Core Web Vitals

This page ships 212KB of inline JavaScript across 61 script blocks (4.2.01), which is why Section 4 sits at 2.78.

  • Audit third-party apps. Shopify stores accumulate review widgets, upsell apps, chat, and pixels — each injecting script. Remove what you don't use; defer the rest.
  • Don't block the add-to-cart path. Product image, price, and buy button render first. See optimizing LCP.
  • Trim inline JS into deferred bundles.

We break the ratio and performance work down in fixing a low text-to-HTML ratio, including why the ratio is a symptom rather than a ranking factor.

Worth stating plainly: the "every 100ms costs X% conversion" statistics you have seen are drawn from other companies' sites and do not transfer to yours. Faster is better and Core Web Vitals are a confirmed ranking input, but if you want a conversion number for your store, measure it.

Fix 4 — Make every product discoverable

S2 2.5.02 (sitemap has 0 URLs) and the missing robots.txt (2.1.01) are a crawlability problem. Shopify generates /sitemap.xml automatically — confirm it is populated, referenced from /robots.txt, and submitted in Search Console. If a custom theme or app is interfering, that is the fix. Products that aren't crawled can't rank.

This is the finding that justifies auditing product pages rather than the homepage: a sitemap reporting zero URLs is invisible from the front door.

Fix 5 — Product Q&A as FAQPage, plus llms.txt

6.7.01 and 3.10.01. Shoppers ask the same things — how long does it last, is it for coarse hair. Mark that Q&A up as FAQPage.

With one correction to the standard advice: Google deprecated the FAQ rich result and stopped showing it in Search as of May 7, 2026. Any guide telling you FAQPage wins FAQ rich results is out of date. It is still worth shipping — AI shopping assistants parse it — but expect answer-engine citations, not a Google SERP feature.

Then ship an llms.txt so those assistants know where your categories, guides, and policies live. It is a proposed convention rather than a standard any vendor has committed to honoring — cheap to ship, not a guaranteed channel.

Fix 6 — Organization sameAs and WebSite

4.9.01/02, 6.4.01. The brand has Organization schema but no sameAs — add links to verified social and marketplace profiles so answer engines can confirm the entity. Add WebSite schema for the sitelinks search box.

What this wins back — honestly

No fabricated after-score, and no revenue projection — we can't see their traffic, margins, or competitors.

  • Fix 1 is the difference between a bare listing and one eligible to show ★ 4.8 on every product that already ranks.
  • Fixes 2–3 protect conversion once the shopper lands.
  • Fix 4 determines whether products are in the race at all.

The schema work is a template change, not per-page labor — do it once and it applies to the catalog. That is the real economics of ecommerce SEO: one fix, thousands of products.

What it will not fix is a product nobody searches for, or a brand with no authority behind it. Structured data makes an existing demand signal legible; it does not create demand.

Run it on your own product pages

Audit the products that make you money, and your best-selling competitor's:

curl -X POST "https://seoscoreapi.com/site-audit" \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"url": "https://yourstore.com/products/best-seller"}'

Fix the product template once and re-audit to confirm the stars, price, and availability validate. See our Q4 readiness checklist for the full pre-holiday pass.


See plans and pricing → — Pro and Ultra include 20 and 100 Deep Audits a month plus batch auditing, so you can score every top product and re-audit the catalog.

Next month: another mid-sized store, and the schema that decides whether your products win the holiday-gift searches.