Schema markup for allied health practices: a complete guide
The schema types that matter for psychology and allied health sites — LocalBusiness, MedicalBusiness, FAQPage, Article — with copy-paste examples.
Schema markup is structured data that tells search engines and AI exactly what your page is about. For allied health practices, four schema types matter most: LocalBusiness, MedicalBusiness, FAQPage, and Article. Add them once, validate them, and your pages become substantially more likely to appear in rich results, knowledge panels, and AI citations. The work takes a few hours per site.
What is schema markup?
Schema markup is a vocabulary of tags — defined at schema.org — that you embed on your web pages to describe the content in a machine-readable way. The most common implementation is JSON-LD: a small script in the page’s <head> that maps fields like business name, address, opening hours, and services to a standard taxonomy.
Without schema, a search engine has to infer what your page is about from the words and HTML. With schema, you tell it directly. That difference matters a lot to AI-powered search, which prefers content it can parse with high confidence.
LocalBusiness vs MedicalBusiness vs Physician schema — when to use each
Allied health practices have three relevant schema choices, and they nest inside each other in a hierarchy.
| Schema type | Best for | Key required fields | When to use |
|---|---|---|---|
LocalBusiness | Any business with a physical location | name, address, telephone, openingHours | Default for any practice with a clinic address. |
MedicalBusiness | Health-related businesses (a subtype of LocalBusiness) | All LocalBusiness fields + medicalSpecialty | Use this for psychology, OT, physio, counselling clinics. |
Physician (or Psychologist) | Individual practitioners (a subtype of MedicalBusiness) | All MedicalBusiness fields + medicalSpecialty, availableService | Use for the practitioner-bio page or solo-practice homepage. |
Practical rule: use MedicalBusiness on your homepage and contact page, use Psychologist (or Physician) on individual practitioner profile pages. You can have both on the same site without conflict.
A LocalBusiness/MedicalBusiness example
Drop this in the <head> of your homepage. Edit the values to match your practice.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MedicalBusiness",
"name": "Carlton Psychology Practice",
"image": "https://example.com.au/cover.jpg",
"url": "https://example.com.au",
"telephone": "+61-3-1234-5678",
"email": "hello@example.com.au",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Lygon Street",
"addressLocality": "Carlton",
"addressRegion": "VIC",
"postalCode": "3053",
"addressCountry": "AU"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": -37.7984,
"longitude": 144.9669
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
}
],
"medicalSpecialty": "Psychology",
"priceRange": "$$"
}
</script>
The @type: MedicalBusiness plus medicalSpecialty: Psychology tells AI search that this is a psychology clinic, not a generic local business. That distinction shows up in citations.
FAQPage schema for service pages
FAQPage schema is the single most useful schema type for AI citations. If you have any page that contains Q&A content — and your service pages should — wrap it in FAQPage schema.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does a psychology session cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A standard 50-minute psychology session at our practice costs $220. With a Mental Health Care Plan from your GP, Medicare rebates $97.20 per session, leaving an out-of-pocket cost of $122.80."
}
},
{
"@type": "Question",
"name": "Do I need a referral to see a psychologist?",
"acceptedAnswer": {
"@type": "Answer",
"text": "No referral is required to see a psychologist privately. To claim Medicare rebates you need a Mental Health Care Plan from your GP, but you can book and attend sessions without one."
}
},
{
"@type": "Question",
"name": "Do you offer telehealth appointments?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Telehealth sessions are available Monday to Friday, 9am-5pm AEST, and are eligible for the same Medicare rebates as in-person sessions."
}
}
]
}
</script>
Two important rules: the text of every answer must appear visibly on the page (Google de-indexes invisible-only schema), and you should not stuff questions you don’t actually want to answer.
Article schema for blog posts
Every article on your site should carry Article schema. It tells AI search who wrote the article, when, and what it’s about — all of which inform citation likelihood.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How psychology practices should structure their booking pages",
"description": "A practical guide to designing booking pages that convert visitors into appointments.",
"image": "https://example.com.au/cover.jpg",
"author": {
"@type": "Person",
"name": "Aaron Busuttil",
"url": "https://example.com.au/about"
},
"publisher": {
"@type": "Organization",
"name": "ABCS",
"logo": {
"@type": "ImageObject",
"url": "https://example.com.au/logo.png"
}
},
"datePublished": "2026-04-26",
"dateModified": "2026-04-26"
}
</script>
Specifying a real author.name (a person, not just the business) makes a measurable difference to citations. AI search engines weight authored content higher than anonymous content.
HowTo schema for guides
If you publish a step-by-step guide — “How to prepare for your first psychology session”, “How to claim a Medicare rebate” — HowTo schema makes it eligible for rich result steps.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to claim a Medicare rebate for psychology",
"step": [
{
"@type": "HowToStep",
"name": "See your GP",
"text": "Book an appointment with your GP and ask for a Mental Health Care Plan (MHCP). The GP needs to assess and sign the plan."
},
{
"@type": "HowToStep",
"name": "Choose a registered psychologist",
"text": "Book with a psychologist who is registered with Medicare. Most are; check the practitioner's profile page or ask reception."
},
{
"@type": "HowToStep",
"name": "Attend your sessions",
"text": "Attend up to 10 rebated sessions per calendar year under the MHCP. Pay the full fee at the appointment."
},
{
"@type": "HowToStep",
"name": "Claim your rebate",
"text": "If your psychologist offers Medicare integration, the rebate is processed automatically. Otherwise claim through Medicare online or the Express Plus app."
}
]
}
</script>
Keep step counts under 8. Anything longer is usually a sign the guide should be broken into multiple pages.
Validating with Google’s Rich Results Test
Schema is easy to get subtly wrong. Always validate before considering a page done.
- Open
https://search.google.com/test/rich-results. - Paste either the live URL or the raw HTML of the page.
- Run the test. Read the validator output carefully — warnings matter as much as errors.
- Fix anything flagged as missing required fields.
- Re-run.
The validator covers Google rich results specifically. For broader schema validity, also check at https://validator.schema.org.
Common mistakes
The same five mistakes appear on most allied health sites that have attempted schema.
- Schema content that doesn’t match visible page content. If your
FAQPageschema lists 12 questions but only 3 appear on the page, Google ignores the rest and may flag the page. - Missing required fields.
LocalBusinessrequiresaddress,name, and ideallytelephone.Articlerequiresheadlineandauthor. Skipping these makes the schema effectively invisible. - Multiple
@typedeclarations conflicting. Using bothLocalBusinessandMedicalBusinessas separate scripts on the same page confuses parsers — pick one and use the more specific type. - Generic placeholder values. “Your business name”, “Your address” left in from a template. Google detects these and de-ranks the page.
- Schema only on the homepage. The biggest GEO wins come from FAQ and Article schema on individual service and blog pages, not just the homepage.
What to do next
A pragmatic order of operations.
- Add
MedicalBusinessschema to your homepage today. - Add
FAQPageschema to your top three service pages this week. - Add
Articleschema to all blog posts as part of your blog template. - Validate every change with the Rich Results Test.
- Re-test in 30 days to confirm the schema is being picked up.
For where local SEO and schema overlap in practice, see my Local SEO for Australian allied health: 2026 starter checklist.
If you’d rather not write JSON-LD yourself, I install schema as part of my website builds.
Need help with your practice's site?
I respond to enquiries within one business day.