[Placeholder case study — real deltas publish as post-launch scans complete. Numbers illustrative.]
The situation
A residential cleaning service in St. George, Utah — competent operation, strong local reputation, five-star reviews on Google. But when we ran a visibility check against the twelve most common queries a local homeowner might ask an AI assistant ("best house cleaners in St. George", "eco friendly cleaning southern utah", "same day house cleaning near me", and so on), they were named on zero of them. Not one AI assistant recommended them.
The site was a template WordPress build from 2019. Reviews were pulled in from Google via an embedded widget that AI crawlers couldn't parse. Service area coverage lived in a footer paragraph, not a structured schema. And the site's category — "residential cleaning" — appeared exactly once in the entire HTML.
What the signals said
The correlation engine surfaced the pattern immediately. Three signals pointed to the same root cause:
What we shipped
Site rebuild — Moved from WordPress to a crawler-native Astro build. Server-rendered, zero client-side JavaScript for critical content. Every page an AI assistant lands on has the full text available in the initial HTML.
Review restructure — Pulled reviews out of the iframe. Rebuilt them as structured Review + AggregateRating schema in JSON-LD, with the actual review text in prose so assistants could quote it.
Service-area pages — One page per neighborhood in the service area, each answering the specific "cleaner in [neighborhood]" query with real category, service, and pricing data structured for retrieval.
Entity graph — Full LocalBusiness schema with categories, service area, hours, and citations to industry credentials.
GBP cleanup — Corrected category (had been listed under "cleaning products retailer"), added missing service tags, restructured photos with descriptive filenames, and set up a weekly response cadence for reviews.
The result
Thirty days after launch, we re-ran the twelve-query baseline scan. Client was named on eight — a jump from 0% to 67% coverage. The queries where they still weren't named all had the same characteristic: they specified a competitor by name, or asked for a service the client doesn't actually offer. In both cases, correctly excluded.
Meanwhile, phone inquiries increased and the client's Google Business Profile saw a measurable lift in direct calls attributed to "asked ChatGPT / asked AI" as the source — first time that attribution had ever appeared in their intake data.
What this proves
The point of this case study isn't the number itself. Any agency can produce a case study with a favorable number. The point is that every ship is attributed to a specific signal. When we say "the number moved," we can tell you exactly which piece of work moved it and which piece of data said to do that work.
That's the difference between correlation-driven work and template work: when something works, we know why. When something doesn't work, we know that too, and we adjust the model for the next cycle.