Chiropractor is not a schema type, and your markup is probably dead

Chiropractor is not a schema type, and your markup is probably dead

Written by

in

TL;DR

There is no Chiropractor type in schema.org. There is no Chiropractic type either, and Chiropractic is not a valid medical specialty value. Mark a clinic up as either and the whole business node fails validation and gets discarded, which means most chiropractic schema you will find published does nothing at all. Use MedicalClinic and attach the specialty a different way.

Take the business schema off almost any chiropractic website, paste it into the schema.org validator, and watch the business disappear.

Not degrade. Not validate with warnings. Disappear. The type is not recognised, so the entire node is discarded and everything inside it goes with it: the address, the hours, the phone number, the lot.

What actually happens

Both Chiropractor and Chiropractic return an invalid item type. Neither exists. And if you try to keep the word by setting a medical specialty of Chiropractic instead, that fails too, because it is not one of the values in that enumeration.

You can check this yourself without taking my word for it. The MedicalBusiness page on schema.org lists 23 subtypes, and you can read the list in about fifteen seconds: community health, dentist, dermatology, diet and nutrition, emergency, geriatric, gynecologic, medical clinic, midwifery, nursing, obstetric, oncologic, optician, optometric, otolaryngologic, pediatric, pharmacy, physician, physiotherapy, plastic surgery, podiatric, primary care, psychiatric, public health.

Chiropractic is not there. It never has been.

Why everybody gets this wrong

Because the correct-sounding advice leads you straight into it. Google’s own guidance on local business markup says to use the most specific LocalBusiness sub-type possible, giving Restaurant, DaySpa and HealthClub as the examples.

That is good advice. Follow it as a chiropractor and you reach for the most specific type you can think of, which is the name of your profession, which does not exist. The instinct is right and the outcome is a dead block of JSON.

It compounds, because generators and templates copy each other. I was sent a published chiropractic schema example this year, offered as a reference implementation. Its entire business block was invalid. Whoever built it had never run it through a validator, and neither had anyone who copied it since.

What to use instead

Types that pass clean for a clinic

  • MedicalClinic. The one I use. It accepts address, geo, opening hours, price range and the rest without complaint.
  • MedicalBusiness. The parent. Fine, just less specific.
  • Physician. Right if you are describing a practitioner rather than a practice.
  • Physiotherapy. Valid, and worth knowing because some builders pick it for you.
  • Not MedicalOrganization. It rejects geo, opening hours and price range, so you lose the things a local business most needs to state.

To keep the word chiropractic in machine-readable form, do not force it into the type. Attach it as an additional type pointing at a stable public URL for the concept, and state what the practice knows about alongside. That says the same thing without asserting a type that does not exist.

How to check yours in ten seconds

Open the validator at schema.org, paste in your page URL or the JSON block itself, and look at whether a business node appears in the parsed output. If the panel comes back with your organisation missing, that is the failure. It does not announce itself, it just quietly is not there.

Do this before you pay anyone to add more structured data, because adding valid markup next to a dead block leaves the dead block sitting there.

What this buys you, honestly

Not rich results. Nothing here puts stars or an accordion in your search listing, and I have written separately about why FAQ markup will not get you the accordion for the same reason.

What it buys is that a machine reading your site can tell what the business is, where it is, when it opens and who works there, without inferring any of it from prose. That is worth having and it is not worth overpaying for. It is a couple of hours of work that should be correct rather than a line item that recurs monthly.

The short version

  1. Chiropractor and Chiropractic are not schema.org types. Both fail and the whole business node is discarded.
  2. Chiropractic is not a valid medical specialty value either. That workaround fails too.
  3. The MedicalBusiness page lists 23 subtypes. Read it yourself, the profession is not among them.
  4. Google’s advice to use the most specific sub-type is what walks people into it.
  5. Use MedicalClinic. Avoid MedicalOrganization, which rejects geo, hours and price range.
  6. Keep the word as an additional type, not as the type itself.
  7. Validate before you buy more markup. Valid JSON sitting beside a dead block does not fix the dead block.

If a site should be ranking and it isn’t, that’s the work I do. SEO for chiropractors covers where the effort belongs in a practice, and technical SEO is where markup gets checked against what the page actually says.

Headshot of Mehul Dedhia, SEO consultant

Written by Mehul Dedhia

I’ve been doing SEO for about fifteen years. Most of my work isn’t building new websites. It’s figuring out why sites that should rank don’t. Local businesses, ecommerce and Shopify brands, affiliate sites, small brands and enterprise. If a site is stuck or has lost rankings, that’s usually where I come in.

Connect with me on LinkedIn