What 4 Months of Local SEO Delivered?

The clinic wasn’t interested in traffic on its own. They wanted appointments. So from day one, we set GMB profile calls as the primary metric to track. Over four months, profile calls went from 64 to 173, and direction requests from 91 to 224. Search performance climbed right alongside it: clicks nearly quadrupled, and keywords ranking in the top 10 reached 118. The project budget was $4,500, covering a technical audit, keyword research across 30 clusters, on-page work, copywriting, and GMB profile management.
The Client and Their Situation
Our client is a small private dental practice in Gilbert, Arizona. Six dentists cover nearly the full range of services: general dentistry, implants, orthodontics, prosthetics, cosmetic dentistry, pediatric care, and emergency treatment.
Their site was built on a WordPress page builder. Service pages existed, but they’d been set up once at launch and never touched since. The GMB profile was created and verified, but only filled out at a surface level. No one had worked on SEO systematically.
Appointments relied on patient referrals and paid search ads. Organic search brought in very little, even though competitors in the same city consistently showed up in the results. The client wanted to understand why and whether search could become a real, full-fledged acquisition channel for new patients.
Where We Started and What We Agreed On
Before starting, we logged every baseline metric so we’d have something to compare against at the end. Here’s where we started from:

The order of operations wasn’t arbitrary. We started with technical fixes and structure first, since copy on pages Google can’t see is money wasted.
- Technical audit: indexing, duplicates, speed, schema markup.
- Keyword research and query mapping across 30 clusters.
- Restructuring to cover commercial clusters that had no dedicated page.
- SEO copywriting for priority pages, roughly 30,000 words.
- GMB profile management and a review-response process.
- NAP consistency check across directories, plus local citations.
- Call and appointment tracking, so results would be measured in conversions.
The client chose the standard package, and the analysis and optimization phase took 20 days. But we ran the control measurement at the four-month mark: any earlier, and re-indexing and profile signal accumulation wouldn’t have had time to take effect, so numbers taken before that point wouldn’t have reflected real results.
How We Did It
It turns out patients in the US search for a dentist who accepts their specific insurance plan, and they phrase their query exactly that way. But that information was almost impossible to find on the site. And not just for our client, we checked competitors across the city, and almost none of them had landing pages built around insurance plans either. In our line of work, it’s rare to find a commercial cluster this large just sitting there, wide open.
COO, NeedMyLink
1. Technical Audit
An audit through Screaming Frog, Search Console, and PageSpeed turned up 34 issues, 6 of them critical. But the biggest finding came on the very first crawl: more than half the site (25 pages out of 47) wasn’t indexed at all. The page builder was generating duplicate service pages behind the scenes, and Google was seeing a set of nearly identical documents.
There was no schema markup whatsoever, even though LocalBusiness and Dentist schema are basics for a local dental practice. Photos of completed work weighed up to 6MB each, and cosmetic dentistry pages with 10–15 images were taking over 8 seconds to load. Business hours listed on the site didn’t match what was on the profile.
We resolved the duplicates with canonical and noindex tags, rolled out schema markup, converted photos to WebP, and synced business hours everywhere.
2. Keyword Research and 30 Clusters
We built out keyword research across three directions: services, geo-specific queries within the city, and commercial modifiers. Everything was sorted into 30 clusters and scored by search volume and intent.
One of the uncovered clusters was emergency care. These queries behave differently from routine ones. Someone in acute pain is searching for treatment right now and phrases their query differently. There was no dedicated page for this at all.
We also found that a significant share of commercial dental queries in the US are phrased around insurance plans. On the client’s site, this was barely mentioned. The final cluster structure covered services, insurance plans, emergency care, city neighborhoods and nearby towns, and pediatric care.
3. Expanding the Site Structure
The page count barely changed from 47 to 48. What changed was that those pages now actually worked. We added landing pages for insurance plans, listing covered procedures and how to get set up. Plan details came directly from the clinic, and every page was reviewed and approved individually.
We then built a dedicated emergency care page with hours and a phone number front and center, separated implants and prosthetics pages that had been competing for the same queries, and merged the page-builder duplicates.
4. Content and E-E-A-T
Next, we wrote roughly 30,000 words for priority pages. Healthcare is a YMYL niche, so we built out full dentist bio pages covering education, licenses, and experience; added an author and medical reviewer to every procedure page; included price ranges alongside payment and financing options; and built the FAQ around the questions front-desk staff hear every single day.
Before-and-after photos were only published with the patient’s written consent, which meant some of the clinic’s existing material had to come down simply because they didn’t have the consent.
5. GMB Profile and Reviews

We started by analyzing the profiles of five top-ranking competitors: which categories they’d selected, how many photos they had, how often they posted, and how they responded to reviews. Then we rebuilt the client’s profile:
- Refined the primary category and added relevant secondary categories for each service line.
- Filled out the services list, which had been completely empty.
- Added a direct booking link right to the profile.
- Uploaded photos of the office, equipment, and team, replacing the three exterior shots that were there before.
- Set up a regular posting schedule.
On reviews, we worked with the clinic to put a process in place: after treatment, front-desk staff ask patients to leave a review. We also made it a habit to respond to every comment, including negative ones, within 24 hours. Over four months, reviews grew from 38 to 96, and the average rating climbed from 4.3 to 4.6.
6. NAP Consistency and Local Citations
This is the most repetitive part of the project, and also one of the most valuable. We went through directories, medical aggregators, and map listings, checking the business name, address, and phone number against each other. We found two different address formats in circulation and two phone numbers the clinic hadn’t used in years.
As long as that data conflicts across sources, Google doesn’t see one business. It sees several similar-looking ones, and the signals never come together into a coherent picture. Once we cleaned this up, we added citations in local and industry directories, plus mentions in local media.
7. Analytics and Reporting
Finally, we set up tracking for calls and booking-form submissions, since results needed to be measured in actual inquiries. Map pack rankings were tracked using a grid of points, since local search results depend directly on the searcher’s location, and a single-point check wouldn’t give an accurate picture. We reported once a month: what was done, how profile metrics changed, and what was coming next.
Key Takeaways
In local SEO, results don’t come from any specific tool. They come from sequencing. First, make the site visible to Google, then close the gaps in clusters people are actually searching for, and only after that invest in the profile and reviews.
The niche also demanded serious investment in content. Every page needed an author, a medical reviewer, and answers to the questions patients ask every day. In four months, for $4,500, the clinic went from 64 to 173 profile calls a month, and from 64 to 1,340 search clicks.




