Skip to content
RO Free audit

Structured data for clinics: the schema types that matter

For a clinic, the structured data that matters is: the most specific organization type (MedicalClinic, Dentist or Physician) with the basic LocalBusiness properties (name, address, phone, opening hours), links to its official profiles through sameAs, the procedures it offers (MedicalProcedure) and its frequently asked questions (FAQPage). All of it is written in JSON-LD format and must match the information on the page exactly.

Why structured data matters for clinics

Patients are increasingly asking AI assistants questions like “which clinic in Iași does root canal treatment with a quick appointment?” (in Romania, usually in Romanian). To recommend you, the system has to understand without ambiguity who you are, where you are and which procedures you offer.

Structured data is how you pass on this information in a language machines understand. It uses the shared schema.org vocabulary and helps search engines and AI models correctly connect information to your clinic’s identity (what we call an entity). On its own it guarantees nothing, but it removes a major source of confusion.

The schema types that matter

MedicalClinic, Dentist or Physician

Choose the most specific type for what you do. All three inherit the LocalBusiness properties, so they can include an address, opening hours and a phone number.

  • MedicalClinic: a clinic dedicated to diagnosis and treatment, usually with several specialties.
  • Dentist: a dental practice or clinic. This is the right type for most dental clinics.
  • Physician: a doctor or a medical practice. Schema.org also includes the IndividualPhysician subtype, for a doctor who practices independently.

If you run a multi-specialty outpatient clinic, you can use MedicalClinic for the organization and the medicalSpecialty property for the specialties.

Basic LocalBusiness properties

For LocalBusiness, Google requires at least the name and address. It also recommends the phone number, URL, geographic coordinates and opening hours. The full list is in Google’s LocalBusiness documentation.

  • name: the clinic’s exact name, identical to the one in your Google Business Profile;
  • address: the full address, as a PostalAddress;
  • telephone: with the country code;
  • openingHoursSpecification: your opening hours, including days with shorter hours;
  • geo: latitude and longitude;
  • url and image: the homepage and a representative image.

sameAs

The sameAs property links the clinic to its official profiles: Facebook, Instagram, LinkedIn, profiles on medical platforms. Google recommends it for organizations because it helps systems understand that all these profiles belong to the same clinic.

MedicalProcedure

MedicalProcedure describes a procedure: an implant, root canal treatment, a scale and polish, an ultrasound. You can use it on the procedure’s dedicated page and link it to the clinic through the availableService property.

Google does not show a special rich result for this type. Its value lies in clarity: you state explicitly which procedure the page describes and who offers it. This helps especially with precise questions such as “where can I get X in city Y”.

FAQPage

FAQPage marks up the questions and answers on the page. Note one important change: since May 2026, Google no longer shows FAQ rich results in search. The markup does no harm, but it no longer brings that kind of display.

The content itself is still important. Real frequently asked questions, with clear answers of two to four sentences, are a format AI models can cite easily. Keep them on the page for patients, with or without markup.

A JSON-LD example for a dental clinic

The example below uses fictitious data for a clinic in Romania. Replace it with your clinic’s real details, exactly as they appear on your website and in your Google Business Profile.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://clinica-exemplu.ro/#clinica",
  "name": "Clinica Exemplu",
  "url": "https://clinica-exemplu.ro/",
  "telephone": "+40 700 000 000",
  "image": "https://clinica-exemplu.ro/imagini/clinica.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Strada Exemplu nr. 1",
    "addressLocality": "Iași",
    "postalCode": "700000",
    "addressCountry": "RO"
  },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "19:00"
  }],
  "sameAs": [
    "https://www.facebook.com/clinicaexemplu",
    "https://www.instagram.com/clinicaexemplu"
  ],
  "availableService": [{
    "@type": "MedicalProcedure",
    "name": "Root canal treatment",
    "url": "https://clinica-exemplu.ro/tratament-de-canal/"
  }]
}
</script>

On a WordPress site, the code is usually added through an SEO plugin or directly in the theme. What matters is that the website has a single description of the clinic, not several that contradict each other.

Pages for doctors

Patients choose not just the clinic but also the doctor. A separate page for each doctor, with their specialty, the procedures they perform and their schedule, is useful both to patients and to AI systems. On this page you can use the Person type, with properties such as jobTitle, worksFor (linked to the clinic) and sameAs (public professional profiles).

In healthcare, credibility matters a great deal. Google’s guidelines for its quality raters emphasize E-E-A-T: experience, expertise, authoritativeness and trustworthiness. Structured data does not create credibility, but it makes it easier to recognize: who the doctor is, where they work, which procedures they perform. Publish only real, verifiable information on the page and follow the rules on advertising medical services.

The order to implement them in

  1. The clinic description on the homepage: the specific type, address, phone, opening hours, sameAs.
  2. Procedure pages, starting with the most searched-for, each with its own text and MedicalProcedure.
  3. Doctor pages, with the Person type linked to the clinic.
  4. FAQs on every procedure page, with short, clear answers.

How to validate structured data

  1. Schema Markup Validator checks, for any type, whether the code follows the schema.org vocabulary.
  2. Rich Results Test shows which rich result types the page can generate in Google, such as LocalBusiness.
  3. Google Search Console flags structured data errors over time, for the types Google displays.

After validation, compare the code with the page by hand: same opening hours, same phone number, same address. Google requires structured data to match the visible content.

Common mistakes at clinics

  • A type that is too general. Organization or LocalBusiness instead of Dentist or MedicalClinic.
  • Mismatched opening hours. One set of hours in the JSON-LD, another on the page and a third in Google Business Profile.
  • Reviews marked up on your own website. Google states that rating markup is meant for sites that collect reviews about other businesses. Do not mark up your own reviews.
  • Several plugins generating schema. The result is a page with two or three different descriptions of the same clinic.
  • Procedures without pages. Markup for procedures that do not have their own page on the website, with visible text.

Where it fits in a GEO strategy

Structured data is the first pillar of a GEO (Generative Engine Optimization, meaning optimization for AI assistants) project, alongside content that is easy to cite and measurement. On its own it will not get a clinic recommended, but without it everything else rests on a weaker foundation. For the full picture, see the GEO guide for Romania and our page on medical and dental clinics.

If you would rather we implement and validate it for you, our structured data package includes Organization or LocalBusiness, Service and FAQ, validated and published on your website within 3 working days.