Method
What we check, and what we refuse to guess.
The audit reads a public dental website the way a new patient, Google, and an automated assistant would. Every score is the sum of the rules below. If a measurement is missing, that part is left out rather than filled in.
Where you stand in local search
When the city and state are on the site, or you provide them, we look up a few patient searches for that town on a phone. Typically that is the specialty in the city, one high-value service, and a nearby variant. We record the Google Maps order and the ordinary results through the top 20, including the first three names in each, with the website, review count, rating, category, and neighborhood when those are on the listing. The check date, the town, and the device are printed on the report. If the practice is not in the results we retrieved, the report says not in the top 20. It does not estimate a rank beyond that.
Those results come from DataForSEO, which reads public Google pages for us. Repeat checks for the same practice and town reuse a cached result for seven days. If the account budget for the day is used up, or the service is unavailable, the report continues from the website alone and says so.
For the search that matters most, we also open the public pages of up to four practices in those top spots: the ranking page and one or two more, with the same limits and the same respect for robots.txt. The report compares what is visible: reviews, categories, a page for that service in that city, titles and headings, how much is written, structured practice details, booking, photos, biographies, and before-and-after galleries. Mobile speed is included only when PageSpeed is configured. The wording is what those practices have in common, and what they have that this one does not. It is not a statement of why Google ordered the results. Recent review pace is mentioned only when the retrieved listing includes it. Link databases are not used.
The website
- Technical: HTTPS, the HTTP redirect, a mobile viewport, and a mobile PageSpeed run when a key is configured.
- Service content: whether important treatments have a page of their own, and whether the words are in the HTML.
- AI search readiness: robots.txt rules for named AI crawlers, structured practice details, and llms.txt as a light signal.
- Booking and contact: a scheduling path, a tap-to-call link, a form, and a visible phone and address. Forms are never submitted.
- Accessibility basics: Lighthouse when PageSpeed is available, otherwise language, headings, image alternatives, and labels. This is not an ADA determination.
How the numbers are combined
Technical is 20, local search is 25, service content is 20, AI search readiness is 15, booking is 15, and accessibility basics are 5. An area that was not checked is removed and the other weights are rescaled. 80 or above is called good. 55 to 79 is worth attention. Below 55 needs work.
What a score is not
It is not a Google ranking, a traffic number, or a count of new patients. AI search readiness does not mean an assistant recommends the practice. Lab speed scores vary between runs. Field data is labeled when Google has enough real visits to publish it. Specialty detection, service pages, and booking widgets are labeled heuristic when they are judgments from the HTML.
How we fetch
We request the address you give, plus a small set of pages linked from it, at most twelve HTML pages. For the comparison, we also request up to four other practice sites, three pages each. Each page is capped at two megabytes and eight seconds. We identify ourselves as RaineyAudit, follow robots.txt for that agent, and refuse private or internal addresses. Directories and social profiles are listed, not crawled. We do not sign in and we do not post forms.