We analyzed 529 dental clinic websites: 3 in 4 don't tell AI they're a dental practice
By Maquinable · Published September 30, 2026
Plenty of dental practices want to know how to show up in ChatGPT, Gemini or Perplexity when a patient asks an artificial intelligence assistant for a dentist. The articles that answer that question give advice, but almost none publish data on what dental websites actually look like today. So we analyzed 529 of them, one by one, with the same technical criteria we use in our scans.
What a dental practice needs to show up in ChatGPT
When someone asks an assistant to recommend a dentist, the assistant searches the web, reads a few pages and writes an answer. ChatGPT uses its own search crawler (OAI-SearchBot) and outside search providers, and the other assistants work in a similar way; Google does something similar with its AI Overviews. Getting a site ready for this is usually called GEO (generative engine optimization).
Several things that matter aren't on your website: your Google Business Profile, your reviews, directories, and whether your name, address and phone number match everywhere (what local SEO calls NAP). This study doesn't measure any of that. It measures the part that does depend on your site: whether a search engine or an assistant can read its content, understand that it's a dental practice and know where it is.
How we ran the study
- Source: OpenStreetMap, the open-data collaborative map. We took every dentist in Spain with a website listed: 4,263 dentists, 845 with a website and 663 distinct domains.
- What we left out: links to social media, directories or insurers, and chains (domains with three or more locations). The final sample was 633 independent clinic websites.
- What we measured: only the homepage and the standard files of each site (robots.txt, sitemap, llms.txt and a nonexistent page to check the 404 error), on September 25, 2026. We analyzed the HTML as it arrives, without running JavaScript, which is how most crawlers receive it.
- How many we could analyze: 529. The other 104 didn't respond, returned errors or were for sale. One in six clinic websites listed on the map no longer works.
OpenStreetMap is not a census: it only includes clinics someone added to the map with their website. The percentages describe this sample, not every dental clinic.
Results
| Finding | Sites | % |
|---|---|---|
| Structured data doesn't say it's a clinic or a local business | 399 | 75% |
| No structured data (JSON-LD) of any kind | 163 | 31% |
| Homepage without a single H1 | 230 | 43% |
| Homepage without a meta description | 153 | 29% |
| No canonical URL | 82 | 16% |
| No sitemap | 67 | 13% |
| Loads with and without www, without redirecting | 49 | 9% |
| No HTTPS with a valid certificate | 32 | 6% |
| A page that doesn't exist loads as if it did (soft 404) | 26 | 5% |
| Blocks at least one AI bot in robots.txt | 22 | 4% |
| Has an llms.txt file | 99 | 19% |
If we count eight basic issues per site (no clinic structured data, no single H1, no meta description, no canonical, soft 404, duplicate www, no sitemap and no valid HTTPS), 29% have three or more. 14% have none. 74% of the sites run on WordPress.
3 in 4 don't tell AI they're a dental practice
Structured data is a block of code patients never see, in JSON-LD format, that tells a machine what your business is: name, type of business, address, phone, hours. Google uses it to understand a page, and an assistant reading your site finds the facts already organized.
69% of the sites have some JSON-LD, but it's almost always the generic markup added by their SEO plugin: it says there's a website and a page, sometimes an organization. Only one in four states that it's a dentist, a clinic or a local business. The rest never say, in machine language, that patients are seen there or where.
A minimal block for a practice, with your details, looks like this:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Example Family Dental",
"url": "https://www.exampledental.com/",
"telephone": "+1 512 555 0100",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"openingHours": "Mo-Fr 08:00-17:00"
}
</script>
The correct schema.org type is Dentist. Some industry guides recommend DentistOffice, a type that doesn't exist and that search engines ignore.
The main heading: missing on 1 in 4, too many on 1 in 5
The H1 is a page's main heading, the one that says what it's about. 25% of homepages have none and 19% have several, often because the theme turns the logo, a tagline or every slider panel into an H1. With zero or five, a crawler has to guess what the page is about. One is right, and it should say what you are and where: "Family dentist in South Austin", for example.
Metadata, sitemap, www and errors
- Meta description (missing on 29%). It's the summary under the title in Google. Without it, the search engine or the assistant writes its own summary from whatever it finds.
- Canonical URL (missing on 16%). It tells crawlers which address is the official one when a page has variants.
- Sitemap (missing on 13%). It's the list of pages on your site. Without it, crawlers only find what's linked.
- Duplicate www (9%). The site loads with and without www without redirecting to one version, so it looks like two copies of the same site.
- HTTPS (6% without a valid certificate). Browsers warn visitors and many crawlers stop at an expired certificate.
- Soft 404 (5%). An address that doesn't exist returns a normal page instead of an error, so crawlers can't tell real pages from missing ones.
The AI block nobody chose
22 sites, 4%, stop the bots of ChatGPT, Claude or Perplexity from reading the homepage in their robots.txt. When we reviewed them one by one, only 4 did it on purpose, with rules written for those bots. Another 16 use an allowlist: they let Google and Bing in and shut the door on everyone else, AI bots included. 15 of those 16 have exactly the same file, so it most likely comes from one provider's or agency's template. The last 2 block every crawler, Google included.
If you want assistants to be able to read your site, open yourpractice.com/robots.txt and check there's no Disallow: / that applies to you. Our guide on whether to block AI crawlers explains which bot belongs to whom and what to allow.
llms.txt: 1 in 5 clinics already has one
19% have an llms.txt file, a summary of the site meant for language models. In almost every case the SEO plugin generates it automatically (Yoast SEO and All in One SEO both offer it). It's a 2024 proposal, and no major AI company has confirmed using it to decide what to recommend, so this study doesn't count a missing one as an issue. More in what llms.txt is.
How to check your practice's website in 10 minutes
All you need is a browser:
- Structured data. Paste your address into the schema.org validator (
validator.schema.org) and look forDentist,MedicalClinicorLocalBusinesswith your address and phone. - Main heading. On the homepage, open the page source (Ctrl+U on Windows, Cmd+Option+U on Mac), search for
<h1and count them. One is right. - Meta description. In the same source, search for
name="description"and check it has text that describes your practice. - robots.txt. Open
yourpractice.com/robots.txtand check it doesn't block Googlebot or the AI bots you want to let in. - Sitemap. Open
yourpractice.com/sitemap.xml(on WordPress it's often at/sitemap_index.xml). You should see a list of addresses. - www. Type your address with and without www. Both should end up at the same one.
- 404 error. Type
yourpractice.com/page-that-does-not-exist. You should see a "page not found" notice with links back, not your homepage.
If you'd rather we check it, our free scan covers these points and sends you the list of issues explained. There are more guides in Guides.
FAQ
Can ChatGPT recommend a dentist?
Yes. If a user asks for a dentist nearby, ChatGPT searches the web and answers with names and links. Which practices it picks depends on what it finds and understands about each one: its website, its Google Business Profile, its reviews and the directories it appears in.
How long does it take for a practice to show up in ChatGPT?
There's no fixed timeline. Technical changes to a website take days to apply and crawlers see them within weeks. Whether an assistant starts mentioning you also depends on your reputation and on what others publish about you, and nobody can guarantee it.
Can you pay to be recommended by ChatGPT?
There's no way to pay for ChatGPT to include you in its answers. What you pay for, if you hire someone, is the work of preparing your website and your practice's online presence so assistants can read and understand them better.
What schema should a dental practice use?
At minimum, a JSON-LD block of type Dentist with the name, address, phone, hours and website. If you have several locations, one per location. The DentistOffice type that shows up in some guides doesn't exist in schema.org.
Do reviews help you show up in AI search?
Probably, because assistants read Google Business Profiles and directories, and reviews are part of that information. No AI company publishes how much they weigh.
What is llms.txt, and does my practice need one?
It's a text file that summarizes your website for language models. It isn't a standard, and there's no proof that assistants use it to recommend businesses. If your SEO plugin generates one, leave it on; it's not the first thing a practice should fix.