Dentist schema markup: a copy-and-paste guide
Schema markup sounds technical. For a dental practice it is a short block of code that tells search engines — and any tool that reads the open web — the plain facts about your office: name, address, phone, hours, and services.
You paste it once. Machines can read it without guessing from messy website text.
This guide is for owners and whoever updates your site. It is not legal advice. Check your state dental board's advertising rules before you publish claims about results, reviews, or treatments. We are not giving legal advice.
What schema markup is (for a non-technical owner)
Schema is a shared vocabulary (schema.org) that websites use to label facts. The usual format on a page is JSON-LD: a small script tag that holds those facts in a structured list.
You still need a clear website. Schema does not replace good pages, a tidy Google Business Profile, or real reviews. It reduces ambiguity when a tool tries to understand who you are and where you practice.
Think of it like writing your business card in a format computers already know how to file.
Why it helps machines understand your practice
When someone asks an AI assistant for a dentist in your city — in tools patients already use — the system has to pull from sources it can parse. Clean, consistent facts (same name, same phone, same address across your site and listings) make you easier to identify.
Schema is one way to state those facts in a format machines already know how to parse.
Honest limit: nobody can promise that adding schema will make any AI assistant name your practice. FirstInChat does not claim product coverage of ChatGPT, Perplexity, or Google AI Overviews. Schema is a control you own. Being named in an AI answer is not.
The Dentist schema, field by field
Use type Dentist (a subtype of local medical / local business types on schema.org). Only include fields that are true today.
Name, address, phone, opening hours
- name: The public practice name patients search for.
- url: Your homepage.
- telephone: Main booking number, same format you use on Google.
- address: Street, city, region, postal code, country.
- openingHoursSpecification: Days and hours patients can call or visit. Keep them in sync with Google Business Profile.
Wrong hours in schema are worse than no schema. Update both places when you change them.
Services offered and insurance
List services you actually offer (cleanings, implants, whitening, emergency exams). If you name accepted insurance plans, only list plans you truly accept, and keep the list updated.
Wrong insurance claims create angry patients and board risk. Check your state dental board's advertising rules. We are not giving legal advice.
sameAs links
Point to official profiles you control: Google Business Profile, Facebook, Instagram, Healthgrades, or a state association listing. Same URLs everywhere help machines connect the dots.
Ratings and reviews — what not to mark up
Do not invent aggregate ratings in schema. Do not mark up reviews you cannot back up on the page. If you are unsure, leave review fields out.
Fake or mismatched review markup is a common way to get ignored — or worse. For how reviews show up for humans and machines, see Do Google reviews affect whether AI recommends your dental practice? when that guide is live.
Copy-and-paste example (fictional practice — EXAMPLE DATA)
The practice below is made up for teaching. Replace every value before you publish. This is EXAMPLE DATA, not a real office.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Sunrise Family Dental",
"url": "https://www.example-sunrise-dental.com/",
"telephone": "+1-555-010-2000",
"image": "https://www.example-sunrise-dental.com/images/office.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2672,
"longitude": -97.7431
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
"opens": "08:00",
"closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Friday",
"opens": "08:00",
"closes": "14:00"
}
],
"sameAs": [
"https://maps.google.com/?cid=EXAMPLE",
"https://www.facebook.com/example-sunrise-dental"
],
"medicalSpecialty": "Dentistry",
"priceRange": "$$",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Dental services",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Dental cleaning" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Dental implants" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Teeth whitening" } }
]
}
}
</script>Paste this in the <head> of your homepage (or a site-wide header injection). One clean block is better than three conflicting copies on different templates.
Where to paste it
Platform | Typical place |
|---|---|
WordPress | Theme header script, or a trusted SEO plugin's "schema / custom code" box. Avoid stacking two plugins that each output LocalBusiness. |
Wix | Settings → Custom code → Head, site-wide. |
Squarespace | Settings → Advanced → Code injection → Header. |
Custom / developer site | Shared layout component that renders on every public page, or at least the homepage and contact page. |
If your site already outputs LocalBusiness or Dentist schema, edit that block instead of adding a second one.
How to test it
- Open Google's Rich Results Test and paste your live URL or the code.
- Open the Schema Markup Validator for a second opinion.
- Fix errors (missing
addressCountry, wrong types, trailing commas in JSON). - Recheck after your developer deploys. Staging and production can differ.
Both tools are free and public. Use your real homepage URL when you re-test after go-live.
Get your free AI visibility audit. Website readiness check (reviews shown on your site, whether your headline says what you do and where, plus site basics) plus a Google Gemini snapshot from built-in knowledge only — ungrounded: no live search, may be out of date, not AI Overviews or AI Mode. Grounded Gemini + Google Search comes later (no date). You get a readiness score and your top 3 fixes. No card. We do not claim ChatGPT or Perplexity results. Get my free audit → https://firstinchat.pages.dev
FAQ schema for your Patient Questions page
If you keep a page of real patient questions and short factual answers, you can add FAQPage schema on that page only. Each question and answer in the markup must match the visible text.
Do not mark up medical advice you would not stand behind in writing. Link that page from your main menu so humans and crawlers both find it.
Full how-to: The Patient Questions page for dentists.
Never put patient names, chart details, or other protected health information in schema, FAQs, or any public form.
A 20-minute monthly check
Once a month (or after any redesign):
- Compare schema phone, hours, and address to Google Business Profile.
- Re-run the Rich Results Test after any redesign.
- Remove services or insurers you no longer offer.
- Confirm
sameAslinks still resolve.
If you'd rather not babysit the code yourself, Autopilot ($99/mo, Recommended; plans not open yet) can include schema-related fixes in the monthly draft pack you approve before anything goes live. Monitor ($49/mo) is the DIY path. Pro ($199/mo) is also available for up to 3 locations / more support. Optional; not required to follow this guide. No checkout on the site today.
What schema will not do
- It will not invent reviews you do not have.
- It will not fix a thin one-page brochure site.
- It will not guarantee a mention in any AI answer.
- It will not replace consistent NAP (name, address, phone) across directories.
Treat it as hygiene: clear facts, one source of truth, easy for machines to quote correctly. For the wider checklist of what you control, see How to Make Your Dental Practice Easier for AI to Understand: 6 Steps You Control. To spot-check visibility yourself, see How to check whether AI mentions your dental practice.
Frequently asked questions
Do I need a developer to add dentist schema? Often no. On WordPress, Wix, and Squarespace you can paste JSON-LD into a header / custom-code box. Have a developer help if you already have conflicting LocalBusiness markup or a custom theme.
Should I mark up star ratings in schema? Only if the rating is accurate, visible on the page, and you can stand behind how it was calculated. If you are unsure, leave ratings out. Invented review markup is a common mistake.
Is Dentist the right schema type? For most independent dental practices, yes — @type: Dentist is the usual choice. Keep the facts identical to what patients see on your site and Google profile.
Will schema make ChatGPT or Perplexity name my practice? Nobody can promise that. Schema makes your facts easier for machines to parse. FirstInChat does not claim product coverage of those assistants. Grounded AI answer checks with Gemini + Google Search are coming later (no date).
What does the free FirstInChat audit check today? Website readiness (reviews shown on your site, headline clarity, site basics) plus a Gemini built-in-knowledge snapshot (ungrounded; may be out of date; not AI Overviews or AI Mode). It does not promise rankings or results. Contact: firstinchat@proton.me
Next step
Paste one accurate Dentist JSON-LD block, test it with the Rich Results Test, then get your free AI visibility audit at https://firstinchat.pages.dev. No card, no patient data.
Get your free AI visibility audit. Website readiness + Gemini built-in-knowledge snapshot (ungrounded). Grounded checks later. Score + top 3 fixes. No card. https://firstinchat.pages.dev
Related: How to Make Your Dental Practice Easier for AI to Understand: 6 Steps You Control · Patient Questions page for dentists · How to check whether AI mentions your dental practice
Get your free AI visibility audit
A free website readiness check, plus a Google Gemini snapshot from its built-in knowledge only. No live web search, so it may be out of date. It is not Google AI Overviews or AI Mode. You get a readiness score and your top 3 fixes. No card.