CarePatrol
United States • Senior Care Placement Franchise Network — https://carepatrol.com
Project Snapshot
What they needed: A franchise-ready web platform that could scale from 1 to 170+ subsites, power location-aware SEM campaigns, and keep non-technical owners inside brand rails.
What we delivered: While on staff at Mopdog Creative & Strategy, I engineered the entire WordPress multisite build—crafting four custom plugins, a bulk-migration CLI, location-based HubSpot form logic, and a locked-down “Location Editor” role—while Mopdog handled the visual & UX direction.
The Challenge
CarePatrol’s legacy site was a patchwork of hard-coded pages, disjointed lead forms, and ad-hoc branding. Scaling it meant weeks-long dev tickets and manual copy-paste. The 2.0 rebuild had to:
- Give 170+ franchisees freedom to publish local content without breaking corporate standards
- Auto-route leads to the correct franchise based on ZIP code—across every form, ad landing page, and PDF download gate
- Support mass content imports/updates (ACF, RankMath meta, PDFs, images) via CSV or WP-CLI
- Stay blazing fast, WCAG-compliant, and easy to extend for future franchises
Our Approach
- Custom Plugin Suite
• CarePatrol Services Manager – Registers the five core services (Assisted Living, Memory Care, Independent Living, Nursing Homes, In-Home Care) as immutable pages, yet lets franchisees toggle visibility or override copy. CSV importer updates local text, hero images, and RankMath fields in bulk.
• SEM Landing Pages System – Franchisees choose from three high-converting templates in a Gutenberg sidebar; URLs stay clean (/atlanta-assisted-living/
), HubSpot forms inherit a hiddenlocation_id
, and a built-in GTM data layer fires lead events.
• Discharge Planning Guidebook – One-page microsite with repeater-field PDF uploads. Each download gate logs a “guidebook_lead” event and pipes to HubSpot with the same ZIP router. - ZIP-Code Lead Router
A single HubSpot form embed receives every lead network-wide. Our PHP middleware looks up the submitted ZIP against a 40 k-row CSV (cached in transients), swaps theportalId
/formId
pair, and tags the submission with franchise data before the request reaches HubSpot—zero extra iframes or API calls. - Location Editor Role
• Strips WP-Admin to Pages, Media, and our custom plugin menus.
• Can’t install plugins, change themes, or edit global ACF layouts.
• Sees only their sub-site’s media and posts, enforcing franchise data isolation. - Bulk Migration & Mass Uploads
A WP-CLI command (carepatrol:migrate
) duplicates each legacy sub-site, maps old IDs to new, fetches remote images into the shared media library, and regenerates RankMath meta. Total runtime for 170 subsites: ~3 hours (vs. weeks by hand). - Performance & Accessibility
WebP conversion, lazy-loading, critical-CSS inline, and an axe-core CI check keep every template 90+ in Lighthouse and WCAG AA-compliant. - Design Implementation
Mopdog’s Figma system turned into a component-driven Beaver Builder theme: global color tokens, pattern-locked typography, and fluid-responsive spacing.
Outcome
- 170 subsites migrated live over a single launch weekend
- <10 min for a franchisee to spin up a new SEM landing page
- 2× faster page-load times compared with the legacy network
- 100 % lead attribution accuracy thanks to the ZIP-router middleware
Site Highlights
- Dashboard “Launchpad” panel summarizing each location’s live pages and lead counts
- CSV importer for one-click service-page localization and PDF batch uploads
- Template picker with live thumbnail previews and brand-locked colour schemes
- Accessibility-checked colour palette, focus indicators, and aria-labelled form controls
Multisite engineering, custom plugin development, WP-CLI migration tooling, and HubSpot lead-routing logic by Connor of CMD Designs while serving as Lead Front-End Developer at Mopdog.