Summary
A 12-market out-of-network therapy practice needed a search plan for every location, in a category where an invented claim is a regulatory problem. It became the reference implementation for the growth-plan layer of my Audit Engine: audit data turned into per-market execution cards, an installable fix package and an evidence workbook, behind a 60-plus-check quality gate. It is also where the system’s failure catalog came from, and every defect in it is now a structural check.
Twelve markets, one compliance bar
Each of the practice’s twelve locations competed in its own city against local therapists, national platforms and directories. Each needed its own page, its own structured data and its own answers to the questions people in that city ask an assistant. And every sentence had to be defensible in a healthcare context.
That combination is the hardest case for an automated system. It was the right one to build against.
Building the growth-plan layer
The growth-plan layer sits on top of the Audit Engine. It takes the audit’s data and produces a client-ready plan where every figure links to its evidence row.
For the practice that meant one execution card per market carrying its own verified structured data, drafted FAQ additions, title rewrites and a competitor teardown. It meant an install-ready package the client’s developer could apply directly: per-market structured data, FAQ blocks, an AI-crawler file, title changes. And it meant a deep-linkable evidence workbook behind all of it.
The AI-visibility baseline used a disclosed 30-question set agreed with the account lead, replacing the engine’s built-in prompt sets. The whole plan was gated by a 60-plus-check QA pass before it went live on a hosted page.
The failure catalog
The value of a hard client is what it makes the system confess. Working through twelve markets surfaced every class of defect the pipeline could produce.
- Invented URLs. The AI-crawler file referenced two service pages that didn’t exist on the site.
- Keyword-API noise. A film actor’s name followed by “therapist” came back as a keyword and nearly became a brief.
- Cross-market leakage. One market’s plan told the client to refresh URLs belonging to a different market, 13 times.
- A schema misread. A valid medical-clinic schema subtype was flagged as missing.
- False zeros. AI Overview checks fired before the Overview loaded and reported zero citations.
- Drifting counts. Hand-typed figures went stale after a data refresh.
- Template repetition. The same sentence appeared 10 to 12 times across market cards.
Each one became a permanent check in the quality gate rather than a fix to one deliverable.
The invariant that came out of it
The most important rule to come out of this engagement is one line: the deliverables builder raises an error on any URL that isn’t in the live crawled inventory. A plan cannot ship a broken link, an invented page or another market’s URL, because the build stops.
That rule, and the rest of the catalog, is what let the 59-market home-services plan ship later with 1,147 evidence links and a 93-check gate passing clean.
At a glance
- The niche: Out-of-network therapy practice, 12 US markets, healthcare compliance.
- The problem: Per-market SEO and AI visibility at scale, with cross-market content leakage and unverifiable claims as the failure modes.
- What was built: The growth-plan layer of my Audit Engine: per-market execution cards, an installable fix package, an evidence workbook, a disclosed 30-question AI-visibility sweep, and a 60-plus-check quality gate.
- Implementation: Reference implementation; seven defect classes caught and converted into permanent structural checks, including a hard rule against any URL outside the live crawl.
- Results: A live, evidence-linked 12-market growth plan; a hardened system that later delivered the 59-market plan clean.
- Built with: my Audit Engine (growth-plan layer) and the ship-or-block QA gate.





