Healthcare GEO
Schema markup for hospitals and clinics: what to mark up and what to leave off
Google says AI features need no special markup. What schema still does for a hospital, which types and properties to use, and what the advertising rules keep off.
Schema markup will not put a hospital into AI answers by itself. Google’s guidance on AI Overviews and AI Mode says there is no special schema.org markup to add, and asks that structured data match the visible text on the page. What markup does well is state facts without ambiguity: which organisation this is, what it treats, which doctors practise there, and when it is open. For a hospital, those facts are also regulated statements, so the work has two halves. Describe exactly what is true, and leave off what the advertising rules ban.
Use the medical types
schema.org has types built for healthcare providers, with properties a generic Organization does not have.
- Hospital, for hospitals. It inherits from MedicalOrganization, EmergencyService and CivicStructure, and adds availableService and medicalSpecialty.
- MedicalClinic, for clinics, with the same two properties.
- IndividualPhysician, for a doctor. schema.org added it in release 24.0 (January 2024), together with PhysiciansOffice for a doctor’s practice, to separate the person from the practice; the older Physician type covered both. Its practicesAt property links the doctor to the hospital or clinic.
Give each entity one @id and reuse it on every page, so the hospital on the homepage, the cardiology page and a doctor’s profile is recognisably the same hospital.
Mark up the facts patients ask about
For the hospital or clinic:
- name, url, logo, address and telephone
- medicalSpecialty, using values from schema.org’s MedicalSpecialty list, such as Cardiovascular, Oncologic or Pediatric
- availableService, naming the procedures, tests and therapies offered (MedicalProcedure, MedicalTest, MedicalTherapy)
- department, for units with their own hours or contact details, such as an outpatient clinic, each with its openingHoursSpecification
- isAcceptingNewPatients
- sameAs, pointing to the hospital’s official profiles elsewhere
For each doctor:
- name and medicalSpecialty
- practicesAt, pointing to the hospital’s
@id - identifier, holding the doctor’s number on the national medical register, so the registration can be checked against the register
For medical explainers, the lastReviewed and reviewedBy properties of WebPage record when the page was checked and by whom. Fill them only when someone has actually reviewed the page.
Leave these off
Ratings and reviews of the hospital
Google does not show star ratings for reviews a business controls about itself. Pages that use LocalBusiness or Organization markup for their own reviews are ineligible, and Google’s example includes reviews embedded through a third-party widget such as Google Business reviews.
The advertising rules go further. Indonesia bans testimonials in ads and publications (Pasal 5(n)). Malaysia bans testimonials about treatment (MAB guideline 4.5). Singapore allows a review only if the patient gave it directly to the provider, unpaid and unedited, and the provider does not reproduce it (reg 14). Leave aggregateRating and review off provider pages in all three countries.
Awards
In Singapore, a provider may name an honour only on its own website, premises or social accounts, and only when the honour recognises technical standards. An agency acting for the provider may not publish honours at all (reg 13). In Malaysia, an award announcement is limited to the name, the date and a picture (MAB guideline 3.4.4). Use the award property only where the visible page can carry the award under those rules, and in Singapore have the hospital’s own team publish it.
Superlatives in text fields
Fields such as description and slogan are published text. A description like “the leading cancer centre in the city” breaks the same rules in markup as it does in a headline: Indonesia’s ban on superlatives (Pasal 5(e)), Singapore’s ban on laudatory statements (reg 5(1)(e)) and Malaysia’s requirement for website copy without laudatory remarks (MAB guideline 6.8).
Offers that the rules ban
Indonesia bans sales promotions of any kind, discounts included (Pasal 5(m)). Malaysia allows packages and discounts but bans free services and gifts (MAB guideline 7.1.3 and 7.2). Singapore bans gift or benefit schemes tied to what a patient buys (reg 15). An Offer in the markup has to pass the same test as the offer on the page.
FAQ markup as a search feature
Google stopped showing FAQ rich results on 7 May 2026. Keep questions and answers on the page when patients need them, but the markup no longer produces a feature in Google Search.
A sample
JSON-LD for a hospital with one outpatient clinic and one doctor. The hospital, the doctor and every detail below are invented for illustration.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Hospital",
"@id": "https://hospital.example/#organization",
"name": "Example General Hospital",
"url": "https://hospital.example/",
"logo": "https://hospital.example/logo.png",
"telephone": "+62 21 0000 0000",
"address": {
"@type": "PostalAddress",
"streetAddress": "Jalan Contoh 1",
"addressLocality": "Jakarta",
"addressCountry": "ID"
},
"medicalSpecialty": [
"https://schema.org/Cardiovascular",
"https://schema.org/Musculoskeletal"
],
"availableService": [
{ "@type": "MedicalProcedure", "name": "Knee replacement surgery" },
{ "@type": "MedicalTest", "name": "MRI scan" }
],
"department": {
"@type": "MedicalClinic",
"name": "Example General Hospital Outpatient Clinic",
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "08:00",
"closes": "20:00"
}
},
"isAcceptingNewPatients": true
},
{
"@type": "IndividualPhysician",
"@id": "https://hospital.example/doctors/a-example#physician",
"name": "A. Example",
"medicalSpecialty": "https://schema.org/Cardiovascular",
"practicesAt": { "@id": "https://hospital.example/#organization" },
"identifier": {
"@type": "PropertyValue",
"propertyID": "Medical council registration number",
"value": "000000"
}
}
]
}
There is no rating, review, award or slogan in it, and every statement in it has to appear on the visible page as well.
Keep the markup and the page in step
Google’s structured data guidelines say not to mark up content that readers cannot see, or misleading content such as fake reviews, and a structured data issue can lead to a manual action that removes a page’s eligibility for rich results. A regulator reading the page and a machine reading the markup should find the same statements.
The simplest way to keep them aligned is to generate the JSON-LD from the same CMS fields that render the page. When a doctor leaves or a service stops, one edit then removes it from both.
The advertising rules behind each “leave off” above are covered in What hospitals can publish for AI search in Indonesia, Malaysia and Singapore.
