Carda Health
Core Web Vitals, structured data, and CMS operations for a virtual cardiac rehab provider.

The Challenge
Carda Health delivers virtual cardiac and pulmonary rehabilitation and is the exclusive virtual provider of the Ornish Lifestyle Medicine program. The marketing site runs on Webflow.
The inherited setup had compounding problems. The homepage scored around 55 on mobile Lighthouse performance, with LCP near 8.6s. The Notion and Google Docs publishing workflow was costing the team too many hours per article. And the site's five commercial forms across four pages (four unique form IDs) mixed payer and health-system inquiries with patient questions and bot traffic, so nobody could say how many real B2B leads the site produced, or which pages produced them.
What I Shipped
Core Web Vitals
Enabled Webflow's Per Page CSS to cut unused payload, added hero image preloads with the media and imagesrcset attributes needed for art-directed sources, applied lazy-loading to non-viewport imagery, and moved image delivery to next-gen formats where Webflow allowed it.
Structured Data
For the flagship /ornish page I built a combined JSON-LD block spanning MedicalWebPage, MedicalTherapy, MedicalOrganization, and FAQPage, incorporating clinical outcomes, Lancet and JAMA references, and Medicare Advantage coverage. I also reverse-engineered the blog template's auto-generated JSON-LD (five schema types) from its embed code and found four production bugs nobody had caught: empty author and reviewer values with broken URLs on unattributed posts, a hard-coded wrong medical specialty on every cardiac article, non-ISO dates, and FAQ schema that a single double-quote character silently breaks. Delivered a corrected, quote-safe v2 embed with conditional fields and ISO dates.
CMS Operations
Designed the Notion and Google Docs to Webflow publishing workflow: source doc, field-mapping recap, client approval, API draft, client review and publish, then a post-publish audit against live CMS state. The standardized CTA infrastructure was rolled out across the full blog, 124 articles at the time of rollout; the blog stands at 156 articles under management as of August 2026.
Custom Tooling
Built a Python batch runner for the PageSpeed Insights API that measures Core Web Vitals across URL sets, making performance validation across many pages far faster than manual runs.
Content Operations at Scale
Between mid-July and late August 2026 the pipeline shipped four more content batches: a five-post AFib and cardiac-rehab cluster, two posts in late July, a four-post HFpEF cluster with one in-place retarget, and a Medicare coverage post and an AFib versus atrial flutter explainer, all live-verified on production. The blog stands at 156 articles under management as of late August 2026. The pipeline also absorbs specialist review rather than routing around it: when the client's medical reviewer returned a seven-item correction list on a Stage D heart-failure article, all seven corrections were applied and verified live in production the same day, including adding the supporting JACC expert-panel citation.
Search and AI Visibility Baseline
A July 14, 2026 baseline pull put cardahealth.com on page 1 for 8 of 12 tracked commercial queries, and cited in 363 Google AI answers versus 29, 6, and 14 for its three closest commercial competitors: the category leader in AI citations among direct rivals at that snapshot.
Conversion Tracking and Lead Intelligence
Shipped a GA4 commercial_form_submit event, confirmed live on production, then pulled the full 24-month form-submission history and classified every entry: of 288 submissions, 79 were real B2B leads, 134 were patients, and 75 were bots, spam, or internal tests. The cleaned trend is the number that matters: real B2B leads grew from 22 (Aug 2024 to Jul 2025) to 57 (Aug 2025 to Jul 2026), from 1.8 to 4.8 per month. The analysis now refreshes weekly through an automated classify-and-chart pipeline the client checks directly.
Full-Site Audit and a Paid-Traffic Fix
A 351-page crawl of the live site produced a prioritized fix list (1 critical, 175 warnings). The critical item was real money: a signup CTA on a paid Taboola landing page had broken (a protocol-less link resolving to a 404). The July 30 audit surfaced it; the fix shipped and was live-verified on 2026-08-27, leaving 0 broken join links and 56 correct ones.
Content Integrity Monitoring
A three-layer integrity system, approved by the client, now guards the content: a field-level CMS baseline across 164 items and 1,305 text fields that alarms on shrunk or emptied fields, a rendered-page monitor across the 337-page sitemap, and a monthly full-content archive as a restore source. The site's llms.txt is maintained in sync and byte-verified after every paste.
The Results
Homepage Lighthouse performance moved from 55 to 96 on mobile and from 68 to 94 on desktop. On mobile, LCP dropped from 8.6s to 1.3s and FCP from 5.0s to 0.8s. Accessibility, Best Practices, and SEO all reached 100 on mobile.
The blog runs on a standardized publishing system across its 156 articles under management, and the pipeline has passed a client-side clinical review with same-day corrections. Real B2B leads from the site's forms grew from 22 to 57 year over year (Aug to Jul windows), now tracked through a dedicated GA4 event and a weekly refreshed lead-composition analysis. At the July 2026 search baseline, the site sat on page 1 for 8 of 12 commercial queries and led its direct competitors in Google AI answer citations (363, versus 29, 6, and 14). The /ornish page ships a combined four-type JSON-LD block, and a three-layer content-integrity monitor guards the whole CMS.
Have a Build Like This One?
Thirty minutes, your project on screen. You leave with a scoped plan and a number, whether or not we work together.