Measuring a live 9,399-product webshop from the outside — what's broken, how much of it, and what the fix costs.
The problem
Anyone can claim they'd improve a webshop. I wanted to know whether I could walk up to a catalogue I had never seen, measure it from the public side only, and come back with findings specific enough to act on — before anyone asked me to.
The approach
I pulled the store's sitemap (9,739 URLs, 9,399 of them products), sampled 420 product URLs evenly across the whole catalogue, and fetched each one read-only. For every page I recorded the title, the meta description, canonical tag, schema.org microdata, itemprop fields and stock state. Then I re-checked every finding in a rendered browser, because raw HTML misses anything a tag manager injects after load. The output is a dataset, not an opinion: 417 confirmed product pages, each one a row.
The result
Two findings that survived verification. 409 of 417 product pages (98.1%) serve one identical meta description — the same store blurb on a driver, a skort, an umbrella and a shoe bag, typo included. And while every page declares schema.org/Product, not one of the 417 declares availability: 265 of them (63.5%) are sold out, and the markup never says so. Everything already correct got stated too — canonicals 417/417, unique titles 413/417, prices on every in-stock page. Priced against an enrichment engine at $0.0022 per product, redrafting the entire catalogue costs $20.68.
The division of labour
What the AI does
- Drafts a unique description, SEO title and meta per product from the product name
- Fills the structured-data fields the markup is missing
- Flags anything ambiguous instead of guessing at a spec
What I decide
- What counts as a defect versus normal behaviour for that platform
- Which claims are solid enough to put in front of the company itself
- Which categories a person has to sign off before anything publishes
What went wrong
My first two versions of the second finding were both wrong. I first reported 'no structured data on any page' — I had grepped raw HTML for JSON-LD only and missed the inline microdata sitting on every page. I corrected it to '38.1% publish no price', which was also wrong: those pages are sold-out products, where dropping the price block is correct platform behaviour, not a defect. Only the third version held, because I checked whether the gap was a real fault or a legitimate state. Both errors were caught before publishing, and the fix is now a rule I work by: verify in the rendered DOM, on positive and negative cases, before putting a number in front of anyone.
Decision log
2026-07-27
Sample 420 pages instead of publishing the first 8
Eight pages showing the same pattern is an anecdote. A 420-page spread across the whole sitemap is a number that survives someone checking it.
2026-07-27
State what the store already gets right
Canonicals and titles were done properly. Saying so is both true and the difference between a measurement and a verdict — and it makes the actual findings land.
2026-07-27
Publish the method, the sample size and the date on the page
A claim about someone else's site has to be re-runnable by them. If they can't check it, they shouldn't believe it.