Behavioral Health Network
A multi-state behavioral health and addiction-treatment network
NINE WORDPRESS SITES, ONE MONOREPO, 33-SECOND BUILDS
Strategy
- Multi-Location Web Build
- Monorepo Architecture
- Performance Engineering
- Call Tracking & Attribution
- HIPAA-Aware Development
A network that grew by acquisition, not by design.
This is a multi-state behavioral health and addiction-treatment network running admissions across many locations in several states. Growth by acquisition had left a fragmented inheritance: nine separate location WordPress sites plus one siloed adolescent-treatment site, spread across three different hosts. The brief was a multi-location website build that would consolidate the estate onto one system, lift each location's web presence, and keep individual locations independently sellable while an acquisition was in flight.
Hundreds of landing pages, a broken tracking estate, a cold cache of debt.
The inherited stack was deep technical debt. Roughly 350 paid-search landing pages with no keyword optimization sat split across Instapage and Unbounce. The call-tracking account carried about 390 phone numbers, mostly undocumented, with conversion tracking dead since November and a national catch-all number mis-routing local admissions calls. Google Ads-to-call-tracking conversion data had been broken for months, collapsing every lead into one generic source. The legacy main site was a breached WordPress install storing protected health information.
A monorepo, not nine forks.
We rebuilt the estate as a Turborepo monorepo. Instead of nine drifting WordPress installs, each location became its own independently deployable Next.js app, all drawing from one shared design-system package, a single Sanity content backend, and shared config and styles. A component fix ships once and reaches every location, yet each site stays an independently sellable property during the acquisition. The apps deploy to per-location subdomains on Vercel with Cloudflare in front, while the legacy WordPress stayed live on a separate origin as a rollback net through every cutover.
A flagship location in days, then a repeatable template per location.
The flagship location shipped first as a rapid proof-of-concept against a hard roughly two-week admissions deadline: clean conversion-focused UI, working forms wired to the CRM, an optimized phone system, full tracking, and a per-site dashboard emailing scheduled reports. That app became the template. We crawled each legacy WordPress site programmatically with Cloudflare Browser Rendering, migrated its content and roughly four thousand images into Sanity and Cloudflare R2, and generated 728 permanent 301 redirects across the location apps to preserve link equity, each run through an automated migration-verification step. A later location was scaffolded from the template in about three days, and one production deploy clocked a 33-second build.
Attribution rebuilt, calls untangled, compliance baked in.
We rebuilt the plumbing under the sites. Each location got an isolated five-number dynamic call-tracking pool with a documented six-phase deployment SOP, untangling the national catch-all that had been hijacking local numbers. We stood up one tag-manager container and one analytics property with per-subdomain streams, wired the contact and insurance-verification forms straight into Salesforce with clean per-location lead-source naming, and implemented Consent Mode v2 defaulting to denied with form pages as zero-analytics zones, HIPAA-aware by design. Media moved to a CDN, stripping about 12MB from each deployment.
A consolidated, fast, compliant foundation, handed over in full.
We handed over a Turborepo monorepo: per-location Next.js apps on a shared design system and one Sanity backend, three locations live and the rest built out, replacing nine fragmented WordPress installs. Alongside it: a catalogued landing-page redirect map, 728 permanent redirects, a CDN migration of roughly four thousand media files, a CMS migration of hundreds of documents, and HIPAA-aware tracking. On the team-built pages, brand-campaign impression share held near a four percent loss versus roughly minus 98 percent on the decrepit legacy site, a direct read on build quality. Census recovery and organic gains were the client's own and the next year's work, not ours to claim. All infrastructure was handed to client-owned accounts.
The data
Landing-page sprawl, catalogued and mapped
| Active LPs catalogued | 120 |
|---|---|
| Mapped to 301 redirect | 93 |
| Decommissioned | 22 |
| Kept | 4 |
Brand impression share: team-built vs legacy pages
| Team-built pages | -4% |
|---|---|
| Older location pages | -44% |
| Legacy main site | -98% |
Mobile PageSpeed, baseline to delivered
| Baseline (PSI) | 62 |
|---|---|
| After (PSI remote) | 67 |
| After (local Lighthouse) | 90 |
Inbound call handling: measured baseline vs targets set
| Baseline miss rate | 26 |
|---|---|
| Target miss rate | 15 |
| Baseline answer (s) | 43 |
| Target answer (s) | 30 |