Schema markup for healthcare SEO: the JSON-LD templates Google actually rewards
Schema seo, for a hospital or clinic site, comes down to a short list of JSON-LD blocks placed in the right templates, cited correctly, and kept honest abo…
No pitch. Written root-cause diagnosis. AI-powered, healthcare only.
Direct answer
Schema seo, for a hospital or clinic site, comes down to a short list of JSON-LD blocks placed in the right templates, cited correctly, and kept honest abo…
TL;DR
By Hanuman Sihag — Head of Innovation Chamber & SEO Lead, ICG, and Abhishek Kumar — Sr. Manager, SEO and AIO, ICG.
Reviewed for strategy and compliance accuracy by Abhash Kumar — Co-Founder, Strategy, ICG.
Neither the authors nor the reviewer is a clinician; this is a strategy and compliance review, not a clinical sign-off.
Schema seo, for a hospital or clinic site, comes down to a short list of JSON-LD blocks placed in the right templates, cited correctly, and kept honest about what they can and can't do for rankings. Most healthcare sites either skip structured data entirely or copy a generic template that was never built for medical entities, which is why doctor pages, location pages and FAQ content sit right next to competitors' rich results instead of inside them. This piece gives you working code for the five schema types a hospital or clinic site actually needs, is plain about the difference between eligibility and ranking, and covers the India-specific compliance points — DPDP Act 2023, the NMC Ethics Code, ASCI Healthcare Guidelines — that a US-written guide has no reason to mention. It's the same technical groundwork our medical SEO engagements start from before any content work begins.
Table of contents
- What schema markup actually is (and what it isn't)
- Schema does not improve rankings. Here's what it actually does.
- MedicalOrganization schema for your practice or hospital site
- Physician schema for individual doctor pages
- MedicalClinic schema for location pages
- FAQPage schema for patient-question content
- MedicalWebPage schema for condition and procedure content
- Testing and validating your markup
- What not to put in your schema: DPDP Act 2023 and patient data
- Review and rating schema under NMC and ASCI rules
- Structured data and AI citation: ChatGPT, Perplexity, Gemini and AI Overviews
- India-specific entity signals: Practo, Justdial and consistent NAP
- FAQ
What schema markup actually is (and what it isn't)
Schema markup is structured data, written in JSON-LD and placed inside a page's <head> or body, that tells a search engine (or an AI model) exactly what a page is about in a machine-readable format rather than leaving it to infer meaning from prose. A hospital page can read as a hospital to a human visitor and still look, to a crawler, like an undifferentiated block of text — schema closes that gap by naming the entity, its type, and its properties explicitly.
For a healthcare site this matters more than for most verticals, because the entities involved (a hospital, a named physician, a medical specialty, a clinical location) all have dedicated schema.org types built specifically for them, not generic Organization or LocalBusiness markup borrowed from a retail template. Using the medical-specific types is what unlocks the rich-result formats Google reserves for that content, and it is the same underlying discipline that runs through general SEO work — get the on-page fundamentals right before layering in anything else.
What schema is not: a shortcut around content quality, a way to hide thin pages from Google, or a guarantee of any particular search feature. That distinction is worth its own section.
Schema does not improve rankings. Here's what it actually does.
Schema markup does not directly move a page up or down in Google's rankings. That's not a hedge, it's what Google's own documentation says. Google Search Central is explicit that structured data creates eligibility for enhanced search features — rich results, knowledge panel data, FAQ snippets — not a ranking boost on its own. A page with flawless MedicalOrganization markup and thin, generic content will still lose to a page with strong content and no schema at all.
What schema actually buys you is eligibility, and eligibility is conditional three times over. Google can read your markup and simply choose not to display the rich result, for reasons it doesn't disclose. Google can also ignore markup that technically validates but that its systems judge doesn't match the visible page content. And markup that's inaccurate, deceptive, or designed to make a page look more authoritative than the content supports can trigger a manual action — the same enforcement Google applies to any other spam pattern, just applied to structured data instead of link schemes or cloaked text.
This is worth stating plainly for healthcare specifically because healthcare is Google's canonical example of a YMYL (your money or your life) topic. The Search Quality Rater Guidelines hold medical content to the highest E-E-A-T bar in the entire document, and inflated or misleading structured data on a hospital or clinic page sits exactly where that scrutiny lands hardest. Treat schema as a description of what's true on the page, not a lever to pull to make the page look more impressive than it is.
MedicalOrganization schema for your practice or hospital site
Every healthcare website needs exactly one MedicalOrganization block, placed site-wide, usually in a shared template or the homepage. It's the entity anchor everything else on the site refers back to — doctor pages, location pages and even AI answer engines resolve "who is behind this site" through this one block.
{
"@context": "https://schema.org",
"@type": "MedicalOrganization",
"name": "Example Clinic",
"url": "https://www.exampleclinic.example",
"logo": "https://www.exampleclinic.example/logo.png",
"medicalSpecialty": "Cardiology",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Sample Road",
"addressLocality": "Example City",
"addressRegion": "Delhi",
"postalCode": "110001",
"addressCountry": "IN"
},
"telephone": "+91-00000-00000",
"sameAs": [
"https://www.practo.com/example-clinic-placeholder",
"https://www.justdial.com/example-clinic-placeholder"
]
}
Schema.org's MedicalOrganization page lists the full set of required and recommended properties — name, url and address are the essentials, but medicalSpecialty and sameAs are what actually differentiate a medical entity from a generic business listing, and the sameAs array is what ties this block to the directory-consistency point covered later in this piece.
Physician schema for individual doctor pages
A hospital with fourteen doctor bio pages and no Physician markup on any of them is leaving fourteen separate rich-result opportunities on the table. Each bio page is a distinct entity as far as schema.org is concerned, and each one can carry its own specialty, credentials and affiliation data independent of the site-wide MedicalOrganization block.
Required vs. recommended properties
Schema.org's Physician type technically requires very little to validate — a name and a type are enough to pass. What actually earns rich-result treatment is the recommended layer: medicalSpecialty, alumniOf for the doctor's medical school, and worksFor linking back to the hospital or clinic entity. A bare-minimum Physician block validates but does almost nothing; the recommended fields are where the value sits.
{
"@context": "https://schema.org",
"@type": "Physician",
"name": "Dr. A. Sharma",
"medicalSpecialty": "Cardiology",
"alumniOf": {
"@type": "CollegeOrUniversity",
"name": "Example Medical College"
},
"worksFor": {
"@type": "MedicalOrganization",
"name": "Example Clinic",
"url": "https://www.exampleclinic.example"
}
}
Note that no claim of comparative superiority or self-laudatory language belongs in any of these properties — a point that resurfaces later in the piece under NMC rules.
MedicalClinic schema for location pages
MedicalClinic only helps if a location actually has its own indexable page — bolting it onto a single national homepage does nothing for local rich results, because Google needs a page-to-place match, not a company-to-many-places match. Once a location has its own page, MedicalClinic is the type that ties geography, hours and specialty together in one block.
Geo and address properties
The geo property, using latitude and longitude rather than just a text address, is what lets Google place the clinic accurately on a map result rather than approximating from the postal address alone.
Opening hours
openingHoursSpecification supports different hours per day, which matters for clinics that run shorter hours on weekends or close for a lunch break — a single flat "9am-6pm" string undersells what the property can actually express.
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"name": "Example Clinic - Example City Branch",
"address": {
"@type": "PostalAddress",
"streetAddress": "45 Sample Avenue",
"addressLocality": "Example City",
"addressRegion": "Maharashtra",
"postalCode": "400001",
"addressCountry": "IN"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "19.0000",
"longitude": "72.0000"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
],
"parentOrganization": {
"@type": "MedicalOrganization",
"name": "Example Clinic"
}
}
See schema.org's MedicalClinic page for the full property list, including subtype options for specific clinic categories.
FAQPage schema for patient-question content
FAQPage schema pairs each visible question on a page with its answer in a separate machine-readable block, which is what lets Google — and increasingly an AI answer engine — lift that answer directly into a result without a user having to click through and scan the page themselves. The visible content and the markup have to match; Google has restricted which sites get FAQ rich results in search, but the schema still functions as a citation-ready answer pair regardless of whether Google chooses to render it as a snippet.
This piece practices what it preaches: the FAQ section below carries its own visible questions and a matching FAQPage block, so the symmetry between advice and execution is direct rather than assumed.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Does schema markup improve Google rankings for a hospital or clinic website?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No. Schema creates eligibility for rich results; it is not a ranking factor on its own."
}
}
]
}
The mainEntity array can hold every question on the page — the example above shows one pair, but a real implementation lists all of them.
MedicalWebPage schema for condition and procedure content
MedicalWebPage's schema.org definition nests a MedicalAudience and a MedicalSpecialty property that most CMS page-builder templates don't expose by default, which is why this type gets skipped even on sites that already run MedicalOrganization markup site-wide. Medical webpage schema is meant for content pages about a specific condition or procedure, not for the site's homepage or a doctor's bio.
{
"@context": "https://schema.org",
"@type": "MedicalWebPage",
"name": "Understanding Hypertension: Causes and Treatment",
"about": {
"@type": "MedicalCondition",
"name": "Hypertension"
},
"audience": {
"@type": "MedicalAudience",
"audienceType": "Patient"
},
"medicalAudience": "Patient",
"lastReviewed": "2026-07-15"
}
When to skip it
A condition page under roughly 300 words of substantive content isn't a good candidate for MedicalWebPage markup. The type implies the page is a genuine reference resource with reviewed medical content behind it, and a thin page carrying that markup is closer to the deceptive-schema pattern Google Search Central warns about than to a legitimate use of the type. If the content isn't there yet, add the content first and the schema second.
Testing and validating your markup
Two tools matter here, and most healthcare sites only know about one of them. Google's Rich Results Test checks whether a given URL's markup is eligible for any of Google's specific rich-result formats and shows a preview of what would render. Schema.org's own Schema Markup Validator, separately, checks whether the JSON-LD is structurally valid against the schema.org vocabulary itself, independent of whether Google supports a rich result for that type at all.
Running a MedicalClinic block through only the Rich Results Test can miss a genuine structural error, because Google's tool only reports on the subset of properties it uses for its own features. Run new markup through the Schema Markup Validator first to confirm it's valid schema.org syntax, then through the Rich Results Test to see what Google specifically will do with it.
What not to put in your schema: DPDP Act 2023 and patient data
Never place patient-identifying data in publicly-crawlable JSON-LD. Structured data is, by definition, meant to be read by machines and indexed — anything in a schema block is at least as exposed as the visible page content, often more so, because scrapers and AI crawlers parse structured data specifically for its machine-readable clarity. Under the DPDP Act 2023, a patient's name, condition, or any other identifying detail embedded in a Review or testimonial block counts as personal data processing, and it needs the same documented consent any other use of that data would require.
This matters most for Review and aggregateRating schema built from patient testimonials, since that's the pattern most likely to carry a real patient's name and a specific outcome in the same block. If a testimonial doesn't have documented consent for public, machine-readable use — not just consent to appear on the page as prose, but consent for the structured version too — leave it out of the schema rather than assume the two are equivalent.
The same caution extends to ABDM health-ID context: an ABDM-linked patient identifier has no legitimate reason to appear in public-facing structured data, on a hospital site or anywhere else, and shouldn't be treated as a convenience field just because a CMS happens to store it.
Review and rating schema under NMC and ASCI rules
Review and aggregateRating schema on a doctor page isn't just a technical add-on in India, it's a compliance surface. The NMC Ethics Code restricts self-laudatory claims and comparative superiority claims by registered practitioners, and the ASCI Healthcare Guidelines separately restrict misleading or unsubstantiated outcome claims in healthcare advertising generally. A Review schema block that surfaces a patient quote claiming a doctor is "the best in the city" or implying a guaranteed outcome carries the same restriction the visible page copy would, whether or not anyone reads the markup directly.
Practically, that means the review content feeding an aggregateRating block should be genuine, attributable, and free of comparative or outcome-guarantee language — the same bar the visible testimonial would need to clear on its own. If an example rating value is needed for illustration, mark it explicitly as placeholder data rather than publishing a number that reads as a live statistic. A rating like "4.7 stars from 112 reviews," used purely as an illustrative example in a code sample and clearly labelled as such, is fine; presenting an invented number as this piece's own claim would not be.
Structured data and AI citation: ChatGPT, Perplexity, Gemini and AI Overviews
Consistent entity data is the mechanism that lets an AI answer engine resolve who a practice actually is with enough confidence to cite it by name. When the same doctor name and the same clinic name are spelled identically across the site's own schema, its Practo listing, its Justdial listing and its Google Business Profile, a model has one coherent entity to point to instead of several fragments it has to guess are the same thing.
This is a newer angle than most schema advice covers, because most schema advice was written for ranking in blue-link search, not for being the source an AI system quotes back to a user. It's also the specific problem AEO and LLM optimization work is built to address, and tools built specifically to measure it exist now — AIO Intel, for instance, tracks brand citation rates across ChatGPT, Perplexity, Google AI Overviews and Gemini, which is a different measurement problem than anything Google Search Console reports on. The underlying work that makes a clinic citable in the first place is the same entity consistency this piece has been describing throughout: correct, matching schema, correct, matching directory listings, and no conflicting versions of the same name floating around the internet.
This kind of work — technical structured data feeding into both search visibility and compliance — is exactly the intersection ICG's MMT framework (Marketing × Medicine × Technology) is built around; see the frameworks page for how the three disciplines are meant to operate together rather than in separate silos.
India-specific entity signals: Practo, Justdial and consistent NAP
Practo, Justdial and Lybrate function as entity-reinforcement signals for Indian healthcare businesses, in a way that US-focused schema guides, which reach for Healthgrades or Yelp, simply can't describe accurately. A clinic's name, address and phone number appearing identically across its own site and across those three platforms strengthens the same underlying entity graph the site's own schema is trying to declare — Google and AI systems alike cross-reference these signals rather than trusting any single source in isolation.
This ties directly back to the sameAs property in the MedicalOrganization block covered earlier: those Practo and Justdial URLs aren't decorative, they're the mechanism by which the site's own markup gets corroborated by independent third-party listings. A mismatch — a slightly different clinic name on Justdial than the one in the site's schema — undermines that corroboration more than having no sameAs entries at all.
If your site's schema needs a second pair of eyes to check exactly this kind of consistency, ICG runs a technical audit that covers structured data alongside the rest of a site's technical SEO groundwork, at no cost to see where the gaps actually are.
FAQ
Does schema markup improve Google rankings for a hospital or clinic website? No. Schema creates eligibility for rich results and helps machines parse entity data accurately. It does not directly move rankings, and Google's own documentation says so explicitly.
What schema type should a doctor's individual bio page use? Physician schema, with medicalSpecialty, alumniOf and worksFor filled in beyond the bare-minimum required fields, and linked to the clinic's MedicalOrganization or MedicalClinic entity.
Is FAQPage schema still worth adding after Google's 2023 rich-result restrictions? Yes. Google narrowed which sites qualify for the visible FAQ snippet in search, but the underlying Question/Answer structure still gives AI answer engines a clean, citable pairing of question and answer, independent of whether Google itself renders a rich result.
Can patient reviews be included in schema markup under India's DPDP Act 2023? Only with documented consent covering public, machine-readable use specifically, not just consent for the testimonial to appear as page copy. Leave out any patient-identifying detail if that consent doesn't exist.
Does structured data help a clinic get cited by ChatGPT or Google AI Overviews? It helps indirectly, by making the clinic's identity — name, specialty, location — consistent and machine-readable, which is what lets an AI system resolve who the entity is with enough confidence to cite it.
What's the difference between MedicalOrganization and MedicalClinic schema? MedicalOrganization is the single site-wide entity for the practice or hospital as a whole. MedicalClinic is for an individual, indexable location page, and should link back to the parent MedicalOrganization via parentOrganization.
If you'd rather have someone run through your site's current markup than build these blocks from scratch, book a diagnostic with ICG's SEO team or start with the healthcare SEO agency overview to see how this fits into the broader technical picture — including the pillar guide on healthcare SEO for readers who want the wider context this piece assumes.
Book a free SEO diagnostic.
Hanuman Sihag's team runs a live crawl, checks technical health, cannibalisation, schema coverage and content gaps. 60 minutes, prioritised fix list.
The three platforms
behind every ICG engagement.
Beacon
CAPI middleware that fixes Event Match Quality, translates CRM statuses to Meta-standard events, dedups across channels.
Agency OS
Live client dashboard. GSC, GA4, Google Ads, Meta Ads, IVR calls in one view. Login anytime, not monthly.
Phoenix
Clinic revenue intelligence over your PMS. Daily action queue: Prevent Loss, Maintain & Engage, Grow Revenue. 46-centre rollout.
Or book a free 30-min audit to see all three in action on your account.
Healthcare brands
that already run on ICG.
A representative slice of the 150+ healthcare brands ICG has delivered for across India. Most engagements remain under NDA.
What ICG clients say · on video.
"Scale up of organic channels and business consulting. ICG has absolute domain authority in their field."
"Working with ICG transformed how we acquire IVF patients in Gurgaon. They understand the fertility journey from inquiry to consult..."
"What Ichelon accomplished — they got all my ideas and worked over 3-4 months to create an amazing, super-customised website."
The intelligence stack behind this playbook.
Every ICG engagement runs on the Search Intelligence Trifecta — Angryturtle for GMB, SIE for search and AI Overview, YODA for YouTube. Live product screens below.
Need help operationalising this?
Every ICG service is healthcare-only, NMC + DPDP-aware, and built around the patient-research patterns that drive Indian healthcare growth in 2026.
More from
ICG.
Healthcare AIO is the discipline of getting your clinic or hospital cited inside Google AI Overviews, ChatGPT and Perplexity answers — not j...
Conversational-search advertising places brand messages inside AI chat answers — ChatGPT, Perplexity, Copilot — rather than beside a results...
NABH digital compliance means every claim, image and testimonial your hospital publishes online matches what an accreditation surveyor can v...
Stop guessing.
Book a Diagnostic.
30 minutes. Free. With the AI-powered healthcare-only marketing agency 150+ brands already run on. No slides, no pitch, no hard close.