Case study · technical audit + keyword plan + link budget
A single-location dental practice in Phoenix, Arizona. Every service it sells has its own page. Not one of those pages brings in a patient from search.
Before any audit detail, here is the whole problem in one row of data.
All five are variations of the practice's own name, misspellings included. People who already know the clinic can find it. People searching for a dentist cannot.
All 26 pages were crawled — this is the full site, not a sample.
| Finding | Pages | Why it costs money |
|---|---|---|
| No meta description | 18 / 26 | Google writes its own snippet from page text. For a clinic that means the search result sells nothing — no sedation, no financing, no same-day emergency. |
| Titles over 60 characters | 5 | Cut off in results: the service and city survive, the practice name is truncated away at the exact moment it matters. |
| Thin pages (under 300 words) | 6 | Photo gallery 149 words, contact page 190, patient reviews 188. Too little for Google to understand what the page is for. |
| Special-offers page has no H1 | 1 | The one page built to convert has no heading Google can read. |
| One page answers in 2.26 s | 1 | Eleven times slower than the rest of the site (0.2 s). A single slow template usually means one unoptimised asset. |
| Mixed content images loaded over http | 3 | Insecure requests on an https page. Browsers flag it, and it signals an unmaintained site. |
| Image sitemap lists http:// URLs | 28 | The sitemap tells Google to fetch images over an insecure protocol the site itself no longer uses. |
| A sitemap file returned 504 | 1 | Checked twice an hour apart: 504, then 200. The origin drops requests intermittently — crawl budget burns on timeouts. |
Searches per month in this city, for services this practice already provides.
| Search | Per month | Difficulty | Cost per click | Page exists? |
|---|---|---|---|---|
| dental implants phoenix | 600 | 54 | $4.00 | yes |
| dentist phoenix az | 450 | 60 | $7.00 | yes |
| cosmetic dentist phoenix | 450 | 35 | $3.00 | yes |
| invisalign phoenix | 400 | 0 | $5.00 | no |
| teeth whitening phoenix | 400 | 0 | $2.50 | yes |
| emergency dentist phoenix | 350 | 0 | $4.00 | yes |
| dentures phoenix | 200 | 0 | $5.00 | yes |
| sedation dentist phoenix | 200 | 0 | $3.00 | yes |
| root canal phoenix | 200 | 0 | $4.50 | no |
| periodontist phoenix | 150 | 1 | $3.00 | yes |
| affordable dentist phoenix | 150 | 35 | $6.00 | no |
| dentist near me phoenix | 70 | 47 | $1.60 | yes |
For scale: buying those 3,620 clicks through ads at the costs above would run past $12,000 a month. That is the size of the gap sitting between an existing page and a page that has been finished properly.
This is the part of the report that usually surprises people.
Nearly a thousand domains link to this site, and its authority score is 3.4 out of 100. Those two numbers cannot both be true for a healthy profile. A thousand real local links would put a clinic in the 20-30 range. What this pattern describes is a profile built from directory listings and scraper sites — links that count for nothing and, in volume, invite scrutiny.
| Item | Volume | Why |
|---|---|---|
| Audit and disavow review of the existing profile | one pass | Separate the real local citations from the scraper noise before adding anything. |
| Core local citations (NAP consistency) | 15-25 | Health directories, dental associations, insurance networks, chamber of commerce. These move local rankings; generic directories do not. |
| Local PR / sponsorship mentions | 3-5 per year | School sports, local charity, community events — the links a Phoenix clinic can earn and a competitor cannot copy. |
| Paid link placements | 0 | Nothing in this niche at difficulty 0-1 justifies the cost or the risk. |
Stated plainly, because an audit that hides its limits is not worth reading.