Structured data
Structured data for therapist websites
JSON-LD is a machine-readable copy of facts already on the page: who you are, what you offer, the fee in text, and how the page sits in the site. Therapist Website Studio builds that layer beside every service route so search and AI answers can retrieve the same sentences a visitor reads. This guide names the schema types that fit a UK practice, with short examples folded in from the older schema-examples topic.
Example bespoke sites
Meridian Room is a designed example in Leeds. Its on-page sample markup illustrates shape only—not a client rich result or a Search Console trophy.

Time enough to say what the trouble actually is
Individual psychotherapy, usually weekly. £85 for 50 minutes. Thursdays in Leeds, and online on the other days.


The first meetings · £85
To see whether this work fits
These meetings are not an assessment, and you are not asked to send a history. A loss, a relationship, or work are ordinary places to begin.
Thursdays in the Leeds room. Other days online across the UK. Your name, your email, and which you prefer.
WriteMeridian Room
Leeds · Longer-form individual psychotherapy
Designed example
SEO, AI AEO and language models
Fees in HTML and data.
Answer engines quote fees when they exist in text and in consistent JSON-LD. We ship both on studio builds so Google, ChatGPT, Claude and Perplexity read the same service name and price a visitor sees.
Google
Search · AI Overviews · Gemini
Google may show rich results only when markup qualifies; HTML stays primary.
- Googlebot
- Google-Extended
OpenAI
ChatGPT
ChatGPT search can cite Offer price when it matches the visible fee line.
- OAI-SearchBot
- GPTBot
- ChatGPT-User
Anthropic
Claude
Claude reads Person jobTitle beside the register sentence on screen.
- Claude-SearchBot
- ClaudeBot
- Claude-User
Perplexity
Perplexity
Perplexity can follow BreadcrumbList to the service URL named in the trail.
- PerplexityBot
- Perplexity-User
Under the surface
Service plus Offer sample.
This block is on the page because schema is often a hidden claim. The sample Service and Offer repeat the counselling fee written in HTML.
{
"@type": "Service",
"name": "Individual counselling",
"offers": { "@type": "Offer", "priceCurrency": "GBP", "price": "70" }
}The website we deliver
What structured data is for
Google’s introduction to structured data describes JSON-LD as a way to explain page content to crawlers. The general structured data guidelines require markup to match what people see; eligible rich results are optional, not owed because the tags exist.
Answer engines can still quote plain HTML. Markup repeats the fee, register line and service name so Google, ChatGPT, Claude and Perplexity have a second, consistent signal. When the visible fee changes, the JSON-LD on a studio-built site is updated with it under Managed care.
Types that fit a therapy practice
Google documents local business markup for organisations people visit. Use ProfessionalService or LocalBusiness only when the page shows a real location clients attend—not a virtual office invented for a map pin. Online-only practices lean on Service and Person without a street address the page hides.
Person belongs on the about route for the named practitioner. Service with Offer belongs on each service URL. FAQPage is added only when those exact questions and answers appear on the page. BreadcrumbList mirrors the trail already drawn in the layout.
| Type | When it fits | Illustrative snippet |
|---|---|---|
| ProfessionalService / LocalBusiness | Named room clients visit; address matches the page | {"@type":"ProfessionalService","name":"Example Practice","address":{"@type":"PostalAddress","addressLocality":"Leeds"}} |
| Person | About page names one practitioner | {"@type":"Person","name":"Alex Example","jobTitle":"Counsellor","url":"https://example.example/about"} |
| Service + Offer | Each service page with fee in text | {"@type":"Service","name":"Individual counselling","offers":{"@type":"Offer","priceCurrency":"GBP","price":"70"}} |
| FAQPage | FAQs visible on the same URL | {"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the fee?"}]} |
| BreadcrumbList | Breadcrumb links already on screen | {"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home"}]} |
Example shapes (merged from schema-examples guidance)
The service sample’s name is the offer heading on the page; the Offer price is the same figure written in HTML, not a hidden upsell. The person sample uses the exact membership or register wording you approved, with sameAs pointing at the public check when you link it in the copy.
The breadcrumb sample lists Home and the current page in the same order as the visible trail. Review and AggregateRating markup stay off marketing pages we compose. Search Console’s rich-result reports can flag parsing errors; a clean report is not a ranking promise.
The legacy therapist website schema examples URL still hosts expansion copy for now; this guide is the handwritten home for that material. Validate against schema.org types and Google’s docs, not a downloadable schema pack that outruns the page.
How the studio ships the technical layer
Every therapist website design build pairs visible copy with JSON-LD: WebSite on the domain, Service and Offer per route, Person or ProfessionalService where the facts exist, BreadcrumbList on nested pages, FAQPage only when the FAQ block is real. See answer engine optimisation for therapists and technical SEO for therapists for the wider crawl layer.
Credentials belong in text first—presenting therapy credentials clearly—then in hasCredential or sameAs when the page shows a register link. Therapy Search UK is a separate free directory; keep the same title and fee facts there as in your markup.
Published prices for the practice website
Standard Managed is £149 setup and £49 a month for 12 months, then Website Care at £39. Growth Managed is £249 and £69 a month, then £49, when each real service needs its own page. Prices include VAT. Outright is £650 or £995. The domain stays in your name. The monthly fee on Managed is management, not paying the site off.
Structured data is included in the bespoke HTML layer on studio builds—not a separate SEO surcharge on the pricing page.
A free website review, or a free consultation
A free website review if you already have a public site, or a free 20-minute consultation if you do not.
Markup inside studio build.
Structured data ships with studio builds at Standard Managed £149 setup and £49/month for 12 months, then £39; Growth £249/£69, then £49; outright £650/£995. Prices include VAT. Managed updates markup when fees change. Domain stays in your name.
Managed · recommended
£149
setup
+ £49/month
Then Website Care at £39/month after 12 months.
Start your managed websiteGrowth Managed
£249
setup
+ £69/month
Then Growth Website Care at £49/month after 12 months.
Choose GrowthOr buy outright
£650
or £995
Pay in full, or across 3 payments. Those payments are not the managed plan.
See outright pricesPrices include VAT. Your domain stays in your name. The monthly fee is management, and the site is not paid off when the fee drops.
See what is includedQuestions
- Will structured data guarantee a rich result in Google?
- Google’s guidelines say markup must match the page; rich results are optional. The studio still ships JSON-LD so facts are explicit for crawlers and AI answers.
- Can you mark client testimonials in schema?
- Marketing pages we build stay with register lines and fees in text, without Review or AggregateRating markup tied to client quotes.
- Does JSON-LD replace the visible page?
- No. HTML is what visitors read. JSON-LD repeats the same approved sentences and figures.
Ready for a clear next step?
Request a free website design review if you already have a site, or book a free 20-minute consultation if you are starting from scratch.
Or email hello@therapistwebsitestudio.co.uk.
Sources
Checked 4 October 2026. These pages explain the public rules. They are not a ranking promise.
