Executive Summary
This is cycle 1 of Harmony's on-page work. The Apr 17 SEO research established the strategic frame: Harmony's market is national, the inventory gap with Tebra/athenahealth is a content program (not a tweak), and the homepage has structural on-page gaps that compound into AI Overview invisibility (Harmony 0 vs Tebra 5,000). This document is the bridge from that research to deploy-ready fixes.
What's deploying this cycle: 11 homepage on-page drafts spanning title rewrite, meta description, H1, Open Graph + Twitter Card tags, image alt text plan, and a 3-payload JSON-LD schema bundle (Organization · SoftwareApplication · FAQPage). All drafts are written against Harmony's brand voice from the homepage footer mission block. Implementation is via Harmony's existing MetaSync 2.6.4 WordPress plugin (verified Apr 30) — no new tooling required.
Address (street / city / state / zip / timezone) — needed for Organization.address in the JSON-LD schema bundle. Without it, Organization schema ships as name + URL only, missing the LocalBusiness signals search engines and AI assistants use to disambiguate "Harmony Medical" from other entities.
Business name confirmation — homepage footer reads "© 2026 Mi Corp"; the brand presented across the site is "Harmony Medical." Per schema convention, Organization.name = "Harmony Medical" and Organization.legalName = "Mi Corp" — but please confirm before we ship.
Both items are tagged in the drafts table with pending and the affected schema fields are isolated so the rest of the bundle deploys clean either way.
See On-Page Drafts for the per-issue table with current vs recommended values and Apollo notes; Schema Bundle for the three JSON-LD payloads with deployment guidance; Pre-State Snapshot for the captured site state; Open Asks for the two pending-confirmation items; Roadmap for what cycle 2 looks like; Approval for the final sign-off ask.
Is: Manually-prepared on-page recommendations for Harmony's homepage. Apollo wrote each draft against the audit findings + brand voice + competitive context. Implementation is straightforward via MetaSync; no automation runs in this cycle.
Isn't: A full-site audit (33 pages — out of scope this cycle); an SA OTTO managed deploy (planned for cycle 2 once Harmony confirms the two open items above); a content-production engagement for new pages (separate scope).
On-Page Drafts — homepage cycle 1
11 drafts, sorted by impact. Each row = one issue type with the current state, Apollo's recommended replacement, and a short note on the why. Two items carry pending tags where final values depend on Harmony's confirmation. Source: Apr 17 homepage audit + Apr 30 site recon.
1. Page title
2. Meta description
3. H1 tag
4. Open Graph tags
og:title = title aboveog:description = meta aboveog:type = websiteog:url = https://harmonymedical.net/og:image = 1200×630 brand image (Harmony to provide; or use existing logo on a brand-color background)og:site_name = Harmony Medicalog:image requires an asset — if Harmony doesn't have a 1200×630 ready, Apollo can produce one as part of cycle 1 (~1 hour of design time).5. Twitter Card tags
twitter:card = summary_large_imagetwitter:title = title abovetwitter:description = meta abovetwitter:image = same as og:image6. Image alt text — homepage (22 images)
7. Robots meta
index (correct, no change needed) Verified cleanhttps://harmonymedical.net/).8. Schema markup — Organization (LocalBusiness layer pending)
<script type="application/ld+json"> blocks on the page. Zero schema. Harmony 0 vs Tebra 5,000 AI Overview gap traces partly to this miss.null until Harmony provides — the rest deploys clean.9. Schema markup — SoftwareApplication
10. Schema markup — FAQPage
11. Site-wide WAF crawler whitelist (recommendation only — not on-page)
/contact/ page returns 403 (likely WAF rule), and standard SEO crawlers (Ahrefs, Screaming Frog, etc.) get 403 across the site. Browsers and Googlebot pass cleanly, so search rankings aren't affected — but any third-party audit Harmony runs (or partners run) will fail silently. Recommendation: ask Harmony's dev team to whitelist common SEO user-agents at the WAF/CDN layer. Restores audit visibility without affecting the security posture.Schema Bundle — JSON-LD payloads
Three JSON-LD payloads, deploy-ready. Each is wrapped in <script type="application/ld+json">...</script> and placed in the homepage <head>. Recommended deployment via MetaSync 2.6.4 (already installed) — Settings → Schema → Add JSON-LD blocks. Address fields in Organization ship as null until Harmony confirms; the rest is final.
Payload 1 — Organization
// Address + telephone fields ship as null until Harmony confirms (R6 + R2 in Open Asks tab) { "@context": "https://schema.org", "@type": "Organization", "@id": "https://harmonymedical.net/#organization", "name": "Harmony Medical", "legalName": "Mi Corp", // pending Harmony confirmation "url": "https://harmonymedical.net/", "logo": "https://harmonymedical.net/[logo-path].png", "description": "Harmony provides physicians and their administrators with the tools necessary to deliver exceptional patient care and receive prompt, accurate compensation.", "telephone": "+1-443-996-4000", "email": "info@harmonymedical.net", "address": { "@type": "PostalAddress", "streetAddress": null, // pending Harmony "addressLocality": null, // pending Harmony "addressRegion": "MD", "postalCode": null, // pending Harmony "addressCountry": "US" }, "sameAs": [ "https://www.facebook.com/Harmony-Medical-403900503080426/" ] }
Payload 2 — SoftwareApplication
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"@id": "https://harmonymedical.net/#software",
"name": "Harmony Medical Practice Management Suite",
"applicationCategory": "BusinessApplication",
"applicationSubCategory": "HealthcareApplication",
"operatingSystem": "Web-based",
"description": "Customized EHR, medical billing, and revenue cycle management software for medical practices of all sizes and specialties.",
"featureList": [
"Electronic Health Records (EHR)",
"Medical Billing",
"Revenue Cycle Management",
"Practice Management",
"Patient Portal"
],
"audience": {
"@type": "BusinessAudience",
"audienceType": "Medical Practices"
},
"provider": { "@id": "https://harmonymedical.net/#organization" },
"offers": {
"@type": "Offer",
"availability": "https://schema.org/InStock",
"priceSpecification": {
"@type": "PriceSpecification",
"description": "Custom pricing — contact for quote"
}
}
}
Payload 3 — FAQPage (drafts; Harmony confirms before ship)
// 6 FAQ drafts written from Apr 17 research findings + homepage content. // Harmony reviews each Q+A pair; approved entries deploy. If FAQ section // isn't ready for cycle 1, this whole payload defers to cycle 2. { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "Does Harmony work for small medical practices, or only large ones?", "acceptedAnswer": { "@type": "Answer", "text": "Harmony serves practices of all sizes — solo practitioners, group practices, and multi-site organizations. The software customizes to the workflow of each practice rather than imposing a one-size template." } }, { "@type": "Question", "name": "What specialties does Harmony support?", "acceptedAnswer": { "@type": "Answer", "text": "All specialties. Harmony's templates and workflows are configured per specialty during onboarding so the system reflects how each practice actually operates." } }, { "@type": "Question", "name": "How does Harmony's EHR connect to medical billing and RCM?", "acceptedAnswer": { "@type": "Answer", "text": "Harmony's EHR, billing, and revenue cycle management share a single data layer — clinical documentation flows to claim coding to billing to collections without re-entry. This is the workflow simplification Harmony is built around." } }, { "@type": "Question", "name": "What does data migration from another EHR look like?", "acceptedAnswer": { "@type": "Answer", "text": "Harmony's onboarding includes a structured data migration from the practice's existing EHR. The team handles patient records, clinical history, scheduling data, and billing records as part of a fixed migration window." } }, { "@type": "Question", "name": "How does Harmony handle compliance — HIPAA, MIPS, etc.?", "acceptedAnswer": { "@type": "Answer", "text": "Harmony is built to HIPAA standards and includes the documentation, audit trails, and security controls needed to support practices' compliance reporting (MIPS, MACRA, and payer-specific requirements)." } }, { "@type": "Question", "name": "What support does Harmony provide after implementation?", "acceptedAnswer": { "@type": "Answer", "text": "Practices receive ongoing technical support, updates, and access to Harmony's training resources. Customizations as the practice evolves are part of the relationship, not a separate engagement." } } ] }
The 6 FAQ entries above were drafted from Harmony's homepage mission language + the Apr 17 research context. They're plausible but not authoritative. Harmony's team should review each Q+A pair, edit any that don't fit operational reality, and remove any that aren't ready to commit to publicly. The FAQPage schema only deploys with confirmed entries — if Harmony defers all six, the FAQPage payload is held for cycle 2.
Deployment notes — MetaSync 2.6.4 (WordPress)
- Open WordPress admin → MetaSync → Schema (or wherever the JSON-LD injection point is in the current MetaSync UI).
- Add three blocks: paste each
{...}payload above as a separate JSON-LD block. Use page-scope = homepage (don't set them site-wide; per-page schema is correct here). - Save. Verify on the live homepage by viewing source — three
<script type="application/ld+json">blocks should be present in<head>. - Test each payload using Google's Rich Results Test ↗. All three should validate as "Eligible for rich results" (or "Page is eligible" depending on test mode).
- Submit the homepage URL to Google Search Console for re-indexing once schema is live.
If Harmony's dev team prefers theme-level schema injection over plugin-level, the same three payloads can drop into functions.php via wp_head action. Apollo can provide the PHP wrapper on request.
Pre-State Snapshot
Captured Apr 17 (homepage SEO audit) + Apr 30 (site recon for OTTO setup intake). This is the baseline cycle 1 deploys against — useful as a before/after reference once recommendations land.
Site infrastructure
| Component | State | Note |
|---|---|---|
| WordPress core | Active | WordPress site (confirmed via wp-sitemap.xml) |
| MetaSync plugin | v2.6.4 installed | Post-bug-fix baseline (Apr 25, 2026 release fixed an 18-month title-propagation bug). Schema injection path is live. |
| OTTO tracker | Loaded | otto-tracker.min.js present in homepage <head> — pre-existing install. If cycle 2 enables full OTTO management, the Pixel link is expected to be automatic. |
| Sitemap | Healthy | wp-sitemap.xml serves cleanly · ~25 URLs indexed |
| Server | nginx | Standard configuration; HTTPS-only via canonical |
| Canonical tag | Self-referencing | Correctly points to https://harmonymedical.net/ |
| HTML lang | en-US | Correct |
| WAF / 403 behavior | Blocks SEO crawlers | Standard SEO user-agents return 403; /contact/ page returns 403 to Apollo's audit. Browsers + Googlebot pass cleanly. See On-Page Drafts row 11 for whitelist recommendation. |
On-page state captured
| Element | State | Reference |
|---|---|---|
| Title tag | Thin "Harmony Medical" (~17 chars) | Apr 17 audit |
| Meta description | Missing | Apr 17 audit |
| H1 tag | None present | Apr 17 audit |
| Open Graph tags | None detected | Apr 17 audit |
| Twitter Card tags | None detected | Apr 17 audit |
| JSON-LD schema | 0 blocks | Apr 17 audit + Apr 30 recon — confirmed clean |
| Image alt text | 0 of 22 (100% missing) | Apr 17 audit (homepage) |
| Internal links | 127 internal, 11 external | Healthy linking structure for a 33-page site |
| External authority links | Industry credentialing | CARF, Joint Commission, HIMSS, MGMA, AAPC, Drummond, HHS, spine.org — strong trust signal |
| Robots meta | index | Correct — site is indexable |
| Favicon | Present | Clean |
| Social profile presence | Facebook only (legacy URL) | FB URL has 2015-era aymt_homepage_panel tracking parameter; consider canonicalizing. No LI/X/IG/YT. |
Authority + AI signals (Apr 17 baseline)
Carried forward from the Apr 17 SEO research deliverable for context — these don't change with cycle 1 on-page work but inform why the schema bundle matters most.
| Signal | Value | Implication for cycle 1 |
|---|---|---|
| Indexed pages | 33 | Small site; per-page on-page work has outsized impact |
| Domain Rating | 4 | Authority is the long game; on-page is the near-term lever |
| AI Overviews count | 0 | Schema bundle is the primary unlock for AI Overview eligibility |
| Spam Score | 1 | Clean foundation — no negative signals to repair |
| LLM visibility (avg across 6 platforms) | ~3% (vs Tebra ~80%, athenahealth ~100%) | Structured data + content depth are the path; this cycle starts the structured-data half |
Open Asks — items pending Harmony confirmation
Two items where Apollo can't ship the final value without Harmony's input. Both are isolated so the rest of cycle 1 deploys clean either way.
What we need: street address · city · state · ZIP · timezone · (optional: latitude/longitude — derivable once street + city land).
What it affects: The Organization.address.PostalAddress fields in the JSON-LD bundle. Currently shipping as null across street / locality / postal code (Maryland and US are populated from public data).
Why it matters: Address signals are how search engines and AI assistants disambiguate "Harmony Medical" from other entities with similar names. Empty address fields are not blocking on schema validation, but they leave the LocalBusiness layer thin.
Resolution path: 30-second answer from Monique covers it. Apollo updates the Organization payload + redeploys — typically same-day.
What we observed: Homepage footer reads "© 2026 Mi Corp. All Rights Reserved." The brand presented across the rest of the site is "Harmony Medical."
Apollo's working interpretation: Harmony Medical is the brand name; Mi Corp is the legal/parent entity. Schema convention then is Organization.name = "Harmony Medical" and Organization.legalName = "Mi Corp".
Why we're asking before shipping: If the entities differ (separate legal structure, M&A history, brand-vs-corp split), the schema convention may need adjustment. Brand Vault values feed multiple downstream systems (OTTO management in cycle 2, future content generation, future authority-building work) — getting this right at the foundation matters.
Resolution path: A one-sentence confirmation from Monique covers it. "Yes, Harmony Medical is the brand; Mi Corp is the parent entity" is enough.
No FAQ content confirmation requested in this cycle — Apollo drafted six entries (in the Schema Bundle tab) for review, but if Harmony defers them all, FAQ schema simply moves to cycle 2. No social media expansion ask — sticking with current Facebook-only presence is fine. No content additions ask — that's a separate engagement.
Roadmap — cycles 2 and beyond
What ongoing on-page work looks like once cycle 1 lands. Apollo's recommendation: monthly cadence with light-touch curation between cycles.
Cycle 2 (recommended start: ~2–3 weeks after cycle 1 deploy)
Once Harmony confirms the two open asks above, cycle 2 transitions to SA OTTO managed deployment for ongoing on-page work. The setup steps are:
- Brand Vault fill. Apollo opens the SA OTTO project for harmonymedical.net, walks the 25-field Brand Vault using the Apr 30 intake data + Harmony's confirmed values from open asks.
- Pixel verification. Pre-existing OTTO tracker is expected to auto-link; Apollo verifies pixel status = Installed/Engaged.
- OTTO draft generation. 24–48 hour passive window — OTTO scans Harmony's full 33-page index and generates per-page recommendations across 22 issue types.
- Apollo curation. Apollo walks the OTTO drafts table, edits any rec where OTTO's auto-generation needs brand-voice tightening or factual correction, logs curation rationale.
- Monique review. Apollo hands the curated drafts review doc to Monique; "DO NOT PUBLISH" gate holds until explicit approval.
- Sage greenlight + OTTO engage. Final check; Apollo toggles OTTO engagement; auto-deploy starts.
- Verification + impact report. Diagnostics tool run; impact snapshot delivered.
Stages 2–8 of the SA OTTO Auto-Deploy product canvas — this is the recurring monthly rhythm Apollo runs for SA-managed clients.
Cycles 3+ (recurring monthly)
OTTO regenerates draft sets monthly based on what's changed on the site, what's changed in search behavior, and what new issue types its taxonomy has surfaced. Apollo's monthly QC pass takes ~2–3 hours: walk the new drafts, curate any that need brand-voice work, ship the curated set to Monique for review, engage. The Monthly Impact Report follows: OTTO Score delta, GSC impression/click delta on affected pages, schema validation post-deploy, rollback log if any, next-cycle preview.
Out-of-scope for this monthly cadence
- Content production for new pages. Closing the 33-vs-78,400 inventory gap with Tebra is a content engagement, not on-page recommendations. Available as a separate scope.
- Authority work (link building, digital PR). Separate engagement.
- National keyword research expansion. The $297 AIO Research engagement (referenced in Apr 17 deliverable) drops the geo filter and benchmarks against Tebra / athenahealth / eClinicalWorks at national scope.
- Site-wide technical SEO audit. Beyond the homepage; available as a one-time engagement.
Approval Ask
Cycle 1 is ready for Harmony's sign-off. Approval covers the 11 on-page drafts + 3 schema payloads outlined in this document. Two items (Address + Business Name confirmation) can be resolved in parallel; the rest of the bundle deploys cleanly without them.
Three options
| Option | What it means | Next step |
|---|---|---|
| Approve as-is | Apollo proceeds with cycle 1 deploy. Address + Business Name fields ship null in the schema bundle and get backfilled when Harmony confirms. | Apollo coordinates with Harmony's dev team on MetaSync deployment timing. |
| Approve + provide answers | Same as above, plus Harmony confirms the two open asks now. Cycle 1 ships fully populated. | Reply with: street/city/zip/timezone + business name confirmation. |
| Revise | One or more drafts need adjustment. Apollo iterates and re-presents. | Comment on any rows in the On-Page Drafts tab that need changes; Apollo turns it around within 1–2 business days. |
Option 2 if the two answers are close at hand (probably 5 minutes for Monique). Otherwise Option 1 — the 9 ready drafts + 2 ready schema payloads (Organization + SoftwareApplication) cover ~85% of the cycle 1 impact, and the gating items are isolated and easy to backfill.
Comments
— space for Monique / Harmony notes —
