The Challenge
Lee Graves Salon is a top-rated hair salon in Plano, Texas — 30+ years in business, 18 stylists, a 5-star Google rating built on 336 reviews, and a full specialty menu spanning color, balayage, extensions, keratin treatments, and bridal styling. It is exactly the kind of established local business that should dominate local search.
It didn't. The old website ranked for the salon's own name and very little else. Anyone searching "Lee Graves Salon" found it; anyone searching "hair salon Plano," "balayage near me," or "best hair salons in Plano" — the searches that bring in new clients rather than returning ones — rarely saw it. Three decades of reputation, nearly invisible at the moment prospective clients were choosing a salon.
The business needed a website that converted its real-world standing into search visibility across every service it offers.
What We Built
We rebuilt leegravessalon.com from scratch using our SEO-first methodology:
Technical Foundation
- Next.js framework with server-side rendering for fast mobile page loads
- Core Web Vitals optimized — LCP under 2.5 seconds on mobile, zero cumulative layout shift
- Mobile-first responsive design — salon research and booking is overwhelmingly mobile
- Vercel deployment with global CDN
SEO Architecture
- A dedicated page per specialty — color, balayage, extensions, keratin, bridal — each with its own URL, meta tags, and internal-linking footprint, so Google can rank each service on its own merits instead of one generic "services" page competing for everything
- JSON-LD structured data — LocalBusiness/HairSalon schema with full NAP, the real review count and rating, and geographic signals for Plano and the surrounding North Dallas suburbs
- Optimized meta tags written around real client search intent, not brand-first copy
- Internal linking connecting services, stylists, and pricing content naturally
- XML sitemap submitted to Google Search Console and Bing Webmaster Tools on day one
Content & Conversion
- Pricing transparency content answering the questions people actually search — "how much does it cost to dye your hair at a salon" now surfaces Lee Graves on page 1
- Stylist and team content that puts 18 chairs of expertise in front of Google
- Trust signals everywhere — the 5-star rating, review count, and 30-year history woven into pages and schema
- Clear booking CTAs on every page
The Results
The site went live on April 10, 2026. The figures below compare the 30 days before go-live (March 11 – April 9) against the post-launch data through October 3, 2026 — 177 days.
All position figures are impression-weighted daily averages — the way Search Console itself averages position across a date range — and are calculated that way on both sides of the launch.
Search Visibility
| Metric | Before (avg/day) | Last 28 days (avg/day) | Change |
|---|---|---|---|
| Google Impressions | 502/day | 6,632/day | +1,220% |
| Google Clicks | 6.8/day | 35.8/day | +426% |
| Average Position | 10.9 | 7.3 | 33% closer to page 1 |
| Google Impressions (full 177 days) | 502/day | 3,595/day | +616% |
| Google Clicks (full 177 days) | 6.8/day | 19.8/day | +191% |
| Average Position (full 177 days) | 10.9 | 8.4 | 23% closer to page 1 |
The headline window is the most recent 28 days of data, September 6 – October 3. We lead with it rather than the full-window average because on a site that has compounded every month, the full-window average is a figure the site passed through back in July — not a description of where it is now.
Traffic Totals
| Metric | Before (30 days) | After (177 days) |
|---|---|---|
| Impressions | 15,068 | 636,251 |
| Clicks | 203 | 3,502 |
| GA4 Sessions | 3,052 | 19,165 (175 days — see note below) |
At the old site's run rate, 177 days would have produced roughly 88,900 impressions and 1,204 clicks. The new site delivered 636,251 and 3,502.
The Compounding Curve
This is the part a single before-and-after comparison hides. The results did not arrive at launch and plateau — every month since go-live has been better than the one before it:
| Period | Impressions/day | Clicks/day | Avg. Position |
|---|---|---|---|
| 30 days before launch | 502 | 6.8 | 10.9 |
| April 10–30 (21 days) | 941 | 9.1 | 11.9 |
| May | 1,606 | 11.1 | 12.1 |
| June | 2,339 | 14.1 | 9.4 |
| July | 3,929 | 21.7 | 8.3 |
| August | 5,262 | 23.4 | 8.1 |
| September | 6,276 | 33.8 | 7.3 |
| October 1–3 | 7,783 | 43.7 | 7.0 |
Six consecutive months of gains on impressions and clicks, and a position that has improved every month since May. The most recent seven days of data averaged 40.4 clicks and 7,400 impressions per day — roughly 5.9x the clicks and nearly 15x the impressions of the site it replaced.
Top Search Queries (28 days, September 6 – October 4, 2026)
Pulled live from Google Search Console for this refresh:
| Query | Clicks | Impressions | Position |
|---|---|---|---|
| lee graves salon | 68 | 417 | 1.8 |
| lee graves salon plano | 3 | 58 | 1.6 |
| hair salons near me | 4 | 813 | 7.5 |
| hair salon plano tx | 3 | 43 | 4.9 |
| hair salon plano | 2 | 180 | 6.0 |
| hair stylist plano tx | 2 | 22 | 4.2 |
| best hair salons in plano | 1 | 38 | 5.4 |
| balayage near me | 1 | 16 | 6.6 |
| lash lift plano | 2 | 47 | 7.5 |
| going out hairstyles | 3 | 236 | 5.7 |
| dandruff vs dry scalp | 3 | 251 | 19.3 |
| all over color | 1 | 254 | 7.3 |
| how long does a balayage last | 2 | 136 | 1.9 |
| balayage vs highlights cost | 1 | 80 | 4.0 |
| hair color cost | 2 | 62 | 4.6 |
| beaded weft extensions | 1 | 73 | 9.9 |
This is the pattern we build for. The brand query is locked at the top, and it has tightened since the last refresh — position 1.8, up from 2.3. But the money rows are underneath: "hair salon plano tx" at 4.9, "hair stylist plano tx" at 4.2, "hair salon plano" at 6.0, "hair salons near me" at 7.5 — page-1 placements on the exact searches a new client types the day they're choosing a salon. The old site appeared for essentially none of these.
One correction to the last version of this page. In September we flagged that "best hair salons in plano" had slipped to 11.3, off page 1, and said it was on the list to work. It has recovered: position 5.4. We are noting that here rather than silently deleting the paragraph, because a case study that only records the rows that went the right way is not worth reading.
The second pattern is the specialty and education content doing what it was built to do. "How long does a balayage last" (1.9), "balayage vs highlights cost" (4.0), "hair color cost" (4.6), "all over color" (7.3) and "beaded weft extensions" (9.9) put the salon in front of clients at the research stage — before they have picked anyone. Two pages are pulling real impression volume on pure education queries the salon has no competitive right to otherwise: "dandruff vs dry scalp" (251 impressions) and "going out hairstyles" (236, at position 5.7).
The Click-Through Rate Went Down, and That Is Worth Explaining
Impressions grew 13.2x. Clicks grew 5.3x. Those two numbers cannot both be true without click-through rate falling, and it did: 1.35% before launch, 0.54% across the last 28 days.
The query table shows exactly where it went. "Hair salons near me" earned 813 impressions and 4 clicks — a 0.5% rate. "All over color" earned 254 impressions and 1 click. On high-volume local queries like these, Google's map pack occupies the space above the web results, so a page-1 web ranking is often still below the fold. The site is being shown far more often, in a much more competitive part of the results page, and a lower percentage of a vastly larger number is still more than 5x the clicks.
We report the rate rather than only the totals because a falling CTR alongside rising clicks is the normal signature of a site expanding out of branded search — but it is also what a thin-content problem looks like, and the only way to tell the difference is to publish both numbers.
An Honest Note on Average Position
The first version of this case study, published in July, reported an average position that had barely moved, and explained why: the old site's average came almost entirely from branded queries it had ranked on for years, while the new site was entering thousands of competitive local queries for the first time, and new queries join the rankings low.
Six months of data now show what that explanation predicted. Across the first 60 days the average genuinely ticked worse — 10.9 to 11.4 — while impressions nearly tripled. Then the new queries climbed: 9.4 in June, 8.3 in July, 8.1 in August, 7.3 in September, 7.0 across the first days of October. The full-window average is 8.4.
We are leaving the original framing in place rather than quietly rewriting it, because the mechanism matters more than any single snapshot: when visibility expands faster than rankings mature, the average gets worse before it gets better. That is not a reason to panic at day 45. It is what the curve looks like.
A Note on the GA4 Numbers
Search impressions grew roughly thirteen times over. Site visits did not, and that deserves to be said directly. Google Analytics recorded 19,165 sessions across the 175 post-launch days covered by our most recent GA4 pull — 109.5 per day, against 101.7 per day pre-launch, about 8% higher. This refresh corrected Search Console data only, so we are not restating that session total against the full 177 days; the click, impression and position figures above do cover all 177. Earlier versions of this case study described sessions as roughly flat, which was accurate at the time: across the first 60 days they averaged 94 per day, genuinely below baseline. They have since crossed back above it and continued to rise.
The composition is what changed most. The old site's visits came overwhelmingly from people who already knew the salon by name. A large and growing share of today's traffic arrives through organic discovery searches the old site never appeared for at all — a materially more valuable audience at the same volume.
Key Takeaways
- Impressions up 1,220% in the last 28 days — 502/day became 6,632/day, and the most recent three days of data average 7,783. Full-window average: 3,595/day, up 616%.
- Clicks up 426% in the last 28 days, 191% full-window — 6.8/day became 35.8/day, with the most recent week running at 40.4.
- Six straight months of gains. Impressions and clicks improved every month since launch, and position every month since May. Nothing here is a launch spike.
- Average position took months, not weeks — slightly worse at 60 days, then 10.9 to 7.3 by month six. Query-mix expansion is a lagging win, not an instant one.
- Reputation finally visible to Google — 336 reviews, 5 stars, and 30 years in business now live in structured data where they influence rankings and click-through, not just in clients' memories.
A Note on the Timeframe
This case study has been published three times and the numbers have moved each time. At 90 days we reported impressions up 185% and an average position that had barely budged. At 164 days we reported +559% impressions and +170% clicks against the full-window average. This refresh covers 177 days of post-launch data and leads with the last 28 days: +1,220% impressions and +426% clicks.
The headline percentage went up more than fourfold between refreshes, and the honest reason is not that we found a better way to slice the data — it is that the site kept compounding. The earlier versions quoted full-window averages, which on a curve like this one systematically understate where the site currently sits. Leading with the recent run-rate and labelling the window is the more accurate framing, and we report the full-window figures alongside it so both are on the page.
Why It Worked
Lee Graves Salon had everything Google wants to reward — decades of history, hundreds of five-star reviews, deep specialty expertise — locked inside a website that gave Google no way to see any of it. The rebuild didn't manufacture a reputation; it exposed a real one, service by service, in the structure and schema search engines read.
Most salon websites are booking-widget wrappers on generic templates: fine for existing clients, invisible for new ones. The gap between a salon's real-world standing and its search visibility is where we work — and six months in, one of Plano's most established salons is still gaining ground every month.