Dental practices, United States, 2026
84,023 domains, split by how many findings each carries
Most dental practices have nothing wrong with their web presence
76.6% of 84,023 measured domains carry nothing we would state as fact. This page is the rest, and the denominator under every figure in it.
Exact domain, no guessing. If it is not one of the 84,023 measured, the next page says so and stops.
Corpus generated 2026-08-09 from 11 collection files. No practice, domain or clinician is named on this page.
01 The corpus
One domain is one row. A practice can hold more than one domain and one record is not one company; nothing here counts companies. Of 84,145 lines read, 122 could not be parsed and are excluded from every denominator rather than counted as a pass.
02 Where findings sit
Findings arrive on three separate axes, and the third one is very small
Technical axis
The domain, the mail path and the home page. 9,089 of them have their only finding here.
Google axis
The card a patient sees before they ever reach a website. 7,912 have their only finding here.
Complaint record
This axis has no publishable rate at all, and the reason is printed with the check itself rather than left out.
Two numbers circulate here and they are not the same number. The union of the technical and Google axes alone is 19,363. Adding the 289 whose only finding is a complaint record gives 19,652. We print both rather than the flattering one, and the 289 is counted rather than subtracted, so the sentence cannot quietly start meaning a different group of people.
03 Every check, drawn
Every bar is the same length, because every bar is the whole corpus
24 checks, one bar each. The solid block at the left end is what we would state as fact. Everything to the right of it is the part of the corpus that check could not or did not say anything about, and it is drawn rather than dropped. A short bar would mean a missing denominator, and there are none.
- Image width and height37,577
- LocalBusiness structured data37,363
- Description on the Google profile26,768
- Cover photo on Google18,825
- Domain carries MX records14,789
- Last change to the DNS zone13,560
- Tappable phone number11,186
- Claim prompt on Google10,244
- Opening hours on Google7,506
- Image alt text, five or more6,482
- https enforced5,447
- Sitemap self reported update, three year line3,154
- Sitemap named in robots.txt2,870
- Domain expiry date2,842
- Mobile viewport tag2,564
- Home page opens1,427
- SPF record count869
- Home page status code755
- Sending IP on a blocklist373
- Unanswered complaints on BBB320
- Printed address can receive mail159
- Home page HTML size20
- Analytics tag on the home page0
- Online booking entry point0
- Stated as a finding
- Judged, and nothing to say
- Our table did not match
- Could not judge
- Not applicable
The same ledger as a table, with every count spelled out
| Check | Found | Could judge | Rate | Could not judge | Not applicable |
|---|---|---|---|---|---|
| Home page opens | 1,427 | 77,944 | 1.83% | 6,079 | 0 |
| Home page status code | 755 | 79,085 | 0.95% | 4,938 | 0 |
| https enforced | 5,447 | 75,861 | 7.18% | 8,162 | 0 |
| Domain expiry date | 2,842 | 82,517 | 3.44% | 1,506 | 0 |
| SPF record count | 869 | 83,969 | 1.03% | 54 | 0 |
| Sending IP on a blocklist | 373 | 65,188 | 0.57% | 0 | 18,835 |
| Printed address can receive mail | 159 | 71,289 | 0.22% | 12,734 | 0 |
| Claim prompt on Google | 10,244 | 83,920 | 12.21% | 103 | 0 |
| Unanswered complaints on BBB | 320 | 320 | no base | 83,703 | 0 |
One row reads no base rather than a rate. A complaint record only exists once a complaint has been filed, so that check never produces a passing case and its denominator is its own numerator. The percentage would read as one hundred, and one hundred percent of a population defined by the thing being counted is not a measurement.
An earlier version of the method page claimed no practice ever left the denominator, while the arithmetic on that same page was short by twelve thousand. The bars above are drawn so that sentence cannot be written again without looking wrong.
Softer readings, context only
Nothing in a reading is ever built on these.
- Domain carries MX records17.8%14,789 / 82,876
- Last change to the DNS zone31.9%13,560 / 42,554
- Mobile viewport tag3.6%2,564 / 71,389
- LocalBusiness structured data52.3%37,363 / 71,389
- Image alt text, five or more9.1%6,482 / 71,389
- Image width and height52.6%37,577 / 71,389
- Tappable phone number15.7%11,186 / 71,389
- Home page HTML size0.0%20 / 71,389
- Sitemap named in robots.txt4.2%2,870 / 68,288
- Sitemap self reported update, three year line6.4%3,154 / 49,408
- Description on the Google profile31.9%26,768 / 83,920
- Cover photo on Google22.7%18,825 / 83,024
- Opening hours on Google8.9%7,506 / 83,920
Two checks that measure us
Analytics tag on the home page: our fingerprint table did not match on 17,389 of 71,389 locations. That is a hole in our table, so the check reports 0 findings and will keep reporting 0 until the table is better. No figure from either one is published as a fact about anybody.
Online booking entry point: our fingerprint table did not match on 62,685 of 71,389 locations. That is a hole in our table, so the check reports 0 findings and will keep reporting 0 until the table is better. No figure from either one is published as a fact about anybody.
04 Cut by specialty
The specialties patients pick for themselves keep the fullest storefronts
Share of each Google category whose profile carries a description. Category is the primary category on the Google profile, not the taxonomy code on the federal registry; the two disagree about how many practices are in each specialty, so the one being used has to be named. The four rows drawn heavy are the four named below.
Orthodontists write a description 75.9% of the time. Endodontists do it 58.2% of the time. That is 17.7 points between two groups of clinicians with the same training in how to run a practice. A patient chooses their own orthodontist; an endodontist is usually chosen by the dentist down the road. This reads as an allocation of attention, not as a failure.
Two places the story does not hold
Periodontists (562 locations) reach 80.1% and oral and maxillofacial surgeons (519) reach 80.9%. Both are referral fed, and both sit near the top. If the explanation above were the whole explanation, they would not.
One column runs the other way entirely. On whether home page images declare their width and height, endodontists reach 64.9% and cosmetic dentists reach 42.4%. The ordering is reversed and we do not know why; we have not measured anything that would explain it, so we are not going to offer a reason.
Six checks at once, sortable, with both remainder rows
| Dental implants provider | 347 | 91.1% 316 / 347 | 93.1% 322 / 346 | 97.7% 339 / 347 | 60.0% 171 / 285 | 43.9% 125 / 285 |
|---|---|---|---|---|---|---|
| Cosmetic dentist | 1,857 | 83.8% 1,557 / 1,857 | 90.3% 1,672 / 1,851 | 98.0% 1,820 / 1,857 | 55.6% 892 / 1,603 | 42.4% 680 / 1,603 |
| Oral and maxillofacial surgeon | 519 | 80.9% 420 / 519 | 78.5% 405 / 516 | 92.5% 480 / 519 | 41.1% 179 / 436 | 60.3% 263 / 436 |
| Periodontist | 562 | 80.1% 450 / 562 | 80.5% 451 / 560 | 96.3% 541 / 562 | 43.7% 215 / 492 | 55.5% 273 / 492 |
| Pediatric dentist | 4,061 | 78.2% 3,175 / 4,061 | 90.2% 3,644 / 4,041 | 94.2% 3,827 / 4,061 | 44.5% 1,492 / 3,350 | 43.9% 1,471 / 3,350 |
| Orthodontist | 5,625 | 75.9% 4,272 / 5,625 | 83.7% 4,658 / 5,565 | 90.8% 5,108 / 5,625 | 43.3% 2,162 / 4,998 | 49.8% 2,489 / 4,998 |
| Dentist | 59,724 | 66.8% 39,890 / 59,724 | 75.9% 44,880 / 59,102 | 90.9% 54,261 / 59,724 | 50.4% 25,567 / 50,728 | 46.0% 23,318 / 50,728 |
| Dental clinic | 4,284 | 66.4% 2,843 / 4,284 | 80.1% 3,390 / 4,232 | 92.8% 3,974 / 4,284 | 37.9% 1,332 / 3,513 | 49.6% 1,744 / 3,513 |
| Oral surgeon | 1,997 | 63.0% 1,258 / 1,997 | 71.7% 1,406 / 1,961 | 88.0% 1,757 / 1,997 | 39.9% 679 / 1,702 | 58.8% 1,000 / 1,702 |
| Dental implants periodontist | 1,207 | 59.5% 718 / 1,207 | 70.8% 840 / 1,187 | 90.3% 1,090 / 1,207 | 39.0% 405 / 1,038 | 52.8% 548 / 1,038 |
| Endodontist | 2,009 | 58.2% 1,170 / 2,009 | 68.5% 1,354 / 1,976 | 89.4% 1,796 / 2,009 | 26.5% 458 / 1,726 | 64.9% 1,120 / 1,726 |
| Prosthodontist | 474 | 57.0% 270 / 474 | 61.1% 287 / 470 | 87.1% 413 / 474 | 41.6% 169 / 406 | 51.7% 210 / 406 |
| Other category, 114 distinct values | 1,213 | 67.0% 813 / 1,213 | 75.4% 890 / 1,180 | 82.9% 1,005 / 1,213 | 27.0% 269 / 998 | 50.9% 508 / 998 |
| No category read on this pass | 144 | 0.0% 0 / 41 | 0.0% 0 / 37 | 7.3% 3 / 41 | 31.6% 36 / 114 | 55.3% 63 / 114 |
Each cell reads pass over base. The base is the locations where the check could be run; a location the check could not run on leaves the denominator and is never counted as a failure, which is why the bases differ from the location count. The last two rows are not specialties and do not take part in the ranking: together they hold 1,357 locations, and every row above plus those two sums to 84,023.
05 What ordinary looks like
Six readings, spread from the tenth to the ninetieth percentile
The middle half is shaded and the median is marked. Hover any mark to read it. Each band carries its own record count, because the checks do not all apply to the same locations. Home page load time is deliberately absent and is not coming back: twelve sampled hosts were re-fetched by hand and all twelve read more than three times high. That was our own request queue, not their server.
06 What this will not do
Six things this page refuses, each one having cost us a figure
- It names nobody. There is not one practice, one domain or one clinician on this page, and there will not be.
- It ranks nobody. No worst list, no league table, no score. A score would need a weighting we cannot defend.
- It does not treat a refusal as a fault. A 429 or a 403 means our request was declined. It says nothing about whether the site works for a patient, and those responses are excluded rather than counted against anyone.
- It does not turn silence into absence. Missing from the copy we fetched is not the same as missing. Those 312,522 readings are counted in the open and phrased as questions, never as claims.
- It withdraws figures it cannot reproduce. A rate of 95.5% for enforced https was published once and could not be reproduced under any reading; it is withdrawn. A storefront rate of 39.00% mixed soft readings into a hard count and is withdrawn with it.
- It does not sell an opinion as a measurement. Nothing here says a practice should change anything.
Three ways on from here
Read how it was measured
Every check has its own anchor: what it reads, what has to be true before it runs, and the cases where it returns nothing rather than a guess.
The method, check by check
Read your own
A single reading is a private page reachable only by its own link. It is not indexed, it is not listed, and it carries the same denominators as this page.
Back to the lookup
Be left out
Write to alex@umbrasystems.network with the word remove and we stop. No reason needed and none asked for. The address is kept for one purpose only, which is not contacting it again.
alex@umbrasystems.network
Alex Zhang; Umbra Systems. The figures on this page come from one ledger, each with the file and the denominator it was computed from recorded beside it. A figure with no ledger entry is not printed. Snapshot exported 2026-08-09.