Schema markup generator for medical clinics
Medical clinics should use the MedicalClinic type, not plain LocalBusiness. Fill in the form and I’ll build valid JSON-LD you can paste into your site’s head.
MedicalClinic JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MedicalClinic",
"@id": "https://tuscanyfamilymedical.example/#business",
"name": "Tuscany Family Medical",
"description": "A family medicine clinic in Tuscany offering booked appointments, same-day visits and virtual care.",
"url": "https://tuscanyfamilymedical.example/",
"telephone": "+1-403-555-0142",
"email": "hello@tuscanyfamilymedical.example",
"image": "https://tuscanyfamilymedical.example/images/photo.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "100 Example Street SW",
"addressLocality": "Calgary",
"addressRegion": "AB",
"postalCode": "T2P 1J9",
"addressCountry": "CA"
},
"openingHours": [
"Mo-Fr 09:00-17:00"
],
"priceRange": "$",
"areaServed": [
"Calgary",
"Airdrie",
"Cochrane",
"Okotoks"
],
"medicalSpecialty": "https://schema.org/PrimaryCare",
"isAcceptingNewPatients": false,
"knowsLanguage": [
"English",
"Tagalog",
"Spanish"
],
"knowsAbout": [
"Family medicine",
"Same-day appointments",
"Prenatal care",
"Chronic disease management",
"Virtual visits"
],
"sameAs": [
"https://www.instagram.com/tuscanyfamilymedical",
"https://www.linkedin.com/company/tuscanyfamilymedical"
]
}
</script>Paste this into your page’s head, then test it with Google’s Rich Results Test and validator.schema.org. The example values are made up: replace every one.
Want this added to your clinic’s website?
Send me your site and I’ll check your current structured data and send back corrected JSON-LD for it. Free.
The properties that matter for medical clinics
Type: MedicalClinic. Every property below is a real schema.org property.
| Property | Why it matters |
|---|---|
isAcceptingNewPatients | In Calgary this is often the first question. A true, current answer in structured data helps search tools give people a straight answer. |
medicalSpecialty | It separates a family practice from a walk-in, dermatology or women’s health clinic in a machine-readable way. |
openingHours | Same-day and evening hours are why people choose a clinic. Mark up the real schedule, including weekends. |
knowsLanguage | Seeing a doctor in your own language matters. It’s a common search and easy to answer in markup. |
address | Clinic searches are local. Match your address and suite number to your Google Business Profile exactly. |
Common mistakes
Leaving isAcceptingNewPatients as true when the panel is full. Stale markup sends frustrated people to your front desk.
Marking up every physician as a separate MedicalClinic. The clinic is the business. Physicians go on their own pages as Person.
Using Hospital or EmergencyService for a walk-in clinic. Those types mean something specific. MedicalClinic with the right specialty is accurate.
How to add it to your site
- Replace every example value in the form with your own details. They should match your Google Business Profile exactly.
- Copy the code and paste it into your page’s
<head>. Most site builders have a custom code field. On a hand-built site, it goes in the template. - Test the live page with Google’s Rich Results Test and validator.schema.org, and fix anything they flag.
- Add the same facts to the visible page. Structured data should describe what visitors can see. My website checklist for medical clinics covers the rest.
Schema for medical clinics: questions
Yes. Use MedicalClinic and set the specialty to PrimaryCare, then make the walk-in part clear in the description and hours. Emergency is for emergency departments, not walk-ins.
schema.org allows several values. The generator emits one for simplicity. For a multi-specialty clinic, I’d add the others by hand and make sure each is real and visible on the site.
It helps search engines and AI tools understand your status, as long as it’s current. It doesn’t guarantee placement. Keep the page and your Google profile saying the same thing.
Keep reading
- nick@tavro.ca
- 587-439-9994
- Calgary, Alberta