Schema markup generator for psychologists
Psychology practices should use MedicalBusiness, since schema.org has no dedicated psychologist type. Fill in the form and I’ll build valid JSON-LD you can paste into your site’s head.
MedicalBusiness JSON-LD
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MedicalBusiness",
"@id": "https://bowriverpsychology.example/#business",
"name": "Bow River Psychology",
"description": "A small team of registered psychologists offering in-person and virtual therapy for adults and teens in Calgary.",
"url": "https://bowriverpsychology.example/",
"telephone": "+1-403-555-0142",
"email": "hello@bowriverpsychology.example",
"image": "https://bowriverpsychology.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"
],
"knowsAbout": [
"Anxiety",
"Depression",
"Trauma and PTSD",
"Couples counselling",
"Psychological assessments"
],
"knowsLanguage": [
"English",
"French"
],
"paymentAccepted": "Visa, Mastercard, E-transfer, Direct billing to some insurers",
"sameAs": [
"https://www.instagram.com/bowriverpsychology",
"https://www.linkedin.com/company/bowriverpsychology"
]
}
</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 practice’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 psychologists
Type: MedicalBusiness. Every property below is a real schema.org property.
| Property | Why it matters |
|---|---|
knowsAbout | People search by concern, not by credential. Listing anxiety, trauma or assessments helps search engines and AI tools match your practice to those questions. |
areaServed | If you see clients virtually across Alberta, say so. It tells search tools your reach is wider than the street address. |
address | Use the real office address exactly as it appears on your Google Business Profile. Consistency across sources builds trust in the listing. |
openingHours | Evening and weekend availability is a real deciding factor for therapy clients. Mark it up accurately so it isn’t guessed. |
knowsLanguage | Therapy in a first language matters to many clients. Listing languages lets search tools surface you for those searches. |
Common mistakes
Adding client testimonials as review markup. Many health regulators restrict or ban testimonials, and self-serving reviews aren’t eligible for review stars on LocalBusiness or Organization in Google anyway.
Marking up each psychologist as a separate business. The practice is the business. Individual clinicians belong on their own bio pages as Person markup, if anywhere.
Putting clinical claims in the description, like promising outcomes. Keep it factual: who you see, what you help with, where.
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 psychologists covers the rest.
Schema for psychologists: questions
No. The closest fit is MedicalBusiness, which is a LocalBusiness subtype for health practices. I use that and describe the work with knowsAbout. It’s accurate and search engines understand it.
There isn’t a clean, widely supported property for a provincial registration number on MedicalBusiness. I keep it on the visible page, usually in the footer or bio, where clients and search tools can both read it.
Keep the physical address if you have one, and use areaServed to show you see clients across the province. If you’re fully virtual, leave out the street address rather than inventing one.
Keep reading
- nick@tavro.ca
- 587-439-9994
- Calgary, Alberta