The most valuable output of this audit was a project we cancelled.
158 findings across 15 dimensions. 44 of them refuted outright before the client ever saw them. The one that mattered most stopped a planned English content rebuild — because Search Console showed the demand it was aimed at does not exist.
The problem
What was structurally wrongAmbar sells womenswear direct to consumer from Morocco, in four languages, to thirteen countries. Every instrument reported it as one brand in one market, and the plan on the table was a content rebuild aimed at English-language demand.
Three things were structurally wrong, and none of them appear in a rankings report. The catalogue was fully approved in Merchant Center and earning nothing. The site was translated into four locales but only partly localised. And the entity itself was ambiguous — a Turkish clothing brand and a store in Amman share the name, which distorts every averaged figure the account reports.
The diagnosis
14 measurements · each with its instrumentThe first pass produced 158 raw findings across 15 dimensions. Each was then re-examined by a hostile verifier instructed to refute it: 44 were refuted outright and 56 had their severity corrected downward. Only the survivors were re-scoped against live admin data and put in front of the client.
That step is the most expensive part of the method and the least visible. It is also the reason the figures below can be quoted: each one names the instrument it came from, and anything that could not be traced to an instrument was removed rather than softened.
| Dimension | Measured | Verdict | Source |
|---|---|---|---|
| Sitemap URLs | 309 → 297 | Resolved | Shopify Admin API |
| URLs noindexed by design | 24 | Correct | Live crawl |
| Self-referencing canonicals | 297 of 297 | Correct | Live crawl |
| Products approved in Merchant Center | 1,508 | Correct | Merchant Center |
| Disapprovals | 0 | Correct | Merchant Center |
| Clicks from those product listings | 0 | Live defect | Merchant Center |
| Products missing age_group and gender | 744 of 1,508 | Live defect | Merchant Center |
| Referring domains | 396 | Measured | Ahrefs |
| Referring domains that are not spam | 2 | Live defect | Manual review, 396 domains |
| AI crawlers served 200 with full HTML | 15 of 15 | Correct | Header probes |
| Locales live and genuinely translated | 4 | Correct | Live crawl |
| Stale Spanish metadata fields | 194 | Needs action | Shopify Admin API |
| Countries with live shipping rates | 13 | Correct | Shopify Admin API |
| URLs carrying FAQPage or HowTo schema | 0 of 84 | Measured, not a defect | Corpus scan |
The finding that changed the plan
Search Console showed the site ranking between position 1.0 and 17.0 for its own product terms — bar dress, white satin set, mini trench, earrings — and taking zero clicks from any category or product term. One branded term, ambar denim, sat at position 1.0 with no clicks at all.
Rankings existed. Demand did not. The English content rebuild was aimed at a market that was not searching, and the same account showed why the averages had looked survivable: two unrelated businesses share the brand name, and their impressions were inside every figure being used to justify the work.
So the recommendation was to stop. Not to reduce the scope, or stage it, or run it as a test — to cancel it and spend the budget on the feed, the locales and the entity instead.
The intervention
Marked as a revision- 309 URLs submitted, state unresolved
- canonical strategy inconsistent per locale
- 4 locales live
- English content rebuild scheduled
- no regression check between audits
- 297 indexable, 24 noindexed by design
- self-referencing canonicals, sitemaps partitioned per locale
- 4 locales live
- rebuild cancelled, budget redirected to feed and locales
- harness re-runs every check and reports
Shipped in two-week loops. Indexation first, because every other layer is inherited from it — then the measurement instrument, because the numbers being used to make decisions were wrong.
The outcome
Measured, and not measuredTwo things are measured and reported below. A third — the effect on organic revenue — is not, and will not be printed here until there is a clean before-and-after window to attribute it to.
The pixel result is the one worth reading twice: neither pixel alone moves the performance score, and gating both moves it six points. An A/B that tested them one at a time would have concluded there was nothing there.
The system
What keeps producing valueCorrection, 17 September 2026: the FAQPage/HowTo row was first published with a verdict of “live defect”. That was wrong. Google deprecated HowTo rich results in 2023 and withdrew FAQ rich results entirely on 7 May 2026, before this engagement began, so the missing markup could not have cost a result. The count is unchanged and the verdict now reads as measured. Sources — Google Search Console, Google Merchant Center, Shopify Admin API, Ahrefs, live crawls and header probes, Lighthouse (20 runs per arm). Engagement window August–September 2026. Published with the client’s written authorisation. Payment-mix economics, legal-surface findings and internal correspondence are excluded by choice, not by omission.
Three ways to start
None of them is a discovery callScan your own site
A visibility scorecard against the published 100-point scale, an hreflang validator, an answer-readiness reader and a SERP preview measured in pixels — all running in your browser. Nothing is uploaded and nothing is stored.
Run a scanThe AEO & GEO field guide
What changes when a result is assembled rather than listed — and the eight things to fix first. Written for engineers and founders, not for a newsletter funnel.
Read the guideBook a working call
Bring the site and the constraint you already suspect. You leave with the diagnosis whether or not there is an engagement in it.
Book on Cal.comAtlas reads the site before the first conversation. Seven questions; what comes back is a reading against the 100-point scale, the bottleneck named, and the smallest change that moves it.