The Challenge
Revival Coffee is a community coffee shop on S. Sherman Street in Richardson, Texas — great coffee, real food, and a welcoming neighborhood space. Like most independent cafés, its website existed but did nothing: across the 16 days of pre-launch data, the old site earned 2 clicks total, averaged 10 impressions a day, and sat at an average search position of 30.3 — pages 3 and 4 of Google, which in practice means invisible.
The problem wasn't reputation. It was that anyone searching "best coffee Richardson," "coffee shops in Richardson TX," or even variations of the shop's own name had almost no chance of finding the website. For a business whose customers decide where to go while standing in a parking lot with their phone out, that's the whole game.
What We Built
We rebuilt myrevivalcoffee.com from scratch using our SEO-first methodology, scaled to what a neighborhood café actually needs:
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 — café discovery is a phone-in-hand behavior
- Vercel deployment with global CDN
SEO Architecture
- JSON-LD structured data — LocalBusiness/CafeOrCoffeeShop schema with full NAP and geographic signals for Richardson and the surrounding North Dallas area
- Local-discovery pages targeting the searches locals actually use when choosing a coffee shop
- A page per real job the site has to do — menu, visit, gallery, catering, events, careers — each indexable on its own URL instead of collapsed into one scrolling homepage
- Optimized meta tags for every page, written around real search intent
- Internal linking connecting menu, location, and community content
- XML sitemap submitted to Google Search Console and Bing Webmaster Tools on day one
Content & Conversion
- Menu and location content structured so Google can read it — not a PDF or an Instagram link
- An actual blog, answering the questions coffee drinkers search — caffeine content, oat milk versus almond milk, where to study in Richardson, what makes a shop cozy
- A real careers page, because hiring baristas is a recurring business need and "barista jobs near me" is a search with volume
- Community-forward pages reflecting what the shop actually is, with clear hours, directions, and contact paths
A Note on the Data
Two housekeeping points before the numbers, both of which you can see in the chart above.
Two early days recorded nothing: April 23 and 24. They show zero impressions and zero clicks, and they are left in the chart and counted in every average, total and percentage below rather than excluded. All figures are computed across the full 186 days since launch.
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.
The Results
The site went live on April 1, 2026. The figures below compare the 16 days before go-live against post-launch data through October 3, 2026 — 186 calendar days.
Search Visibility
| Metric | Before (avg/day) | Last 28 days (avg/day) | Change |
|---|---|---|---|
| Google Impressions | 10/day | 1,599/day | +15,889% |
| Google Clicks | 0.1/day | 7.7/day | +6,071% |
| Average Position | 30.3 | 7.3 | 76% closer to page 1 |
| Google Impressions (full 186 days) | 10/day | 430/day | +4,202% |
| Google Clicks (full 186 days) | 0.1/day | 3.5/day | +2,726% |
| Average Position (full 186 days) | 30.3 | 8.0 | 74% closer to page 1 |
The headline window is the 28 most recent days — September 6 – October 3. We lead with it rather than the full-window average because on a site that has compounded every single month, the full-window average is a figure this site passed through back in August, not a description of where it is now.
Traffic Totals
| Metric | Before (16 days) | After (186 days) |
|---|---|---|
| Impressions | 160 | 80,026 |
| Clicks | 2 | 657 |
| GA4 Sessions | 75 | 1,650 |
At the old site's run rate, 186 days would have produced roughly 1,860 impressions and 23 clicks. The new site delivered 80,026 and 657.
Every Month Better Than the Last
The percentages above are computed against a 2-click baseline, which makes them dramatic and not very informative. The month-by-month shape is the honest version, and it is the reason this page exists:
| Period | Impressions/day | Clicks/day | Avg. Position |
|---|---|---|---|
| Pre-launch baseline (16 days) | 10 | 0.1 | 30.3 |
| April (30 days from launch) | 22 | 1.0 | 15.9 |
| May | 41 | 1.4 | 16.0 |
| June — the turn | 156 | 2.0 | 8.9 |
| July | 301 | 4.1 | 8.4 |
| August | 515 | 5.2 | 8.5 |
| September | 1,313 | 6.9 | 7.3 |
| October 1–3 | 2,913 | 8.3 | 7.5 |
April and May were quiet — the site was indexed and structured but had not yet earned trust. June is when it turned: impressions nearly quadrupled and average position dropped into single digits for the first time. It has climbed every month since, and the most recent seven days averaged 3,354 impressions and 9.1 clicks a day.
Top Search Queries (28 days, September 6 – October 4, 2026)
Pulled live from Google Search Console for this refresh. This query pull runs one day further forward than the stored daily series above, which ends October 3 — so its totals sit slightly higher than the chart's:
| Query | Clicks | Impressions | Position |
|---|---|---|---|
| revival coffee richardson | 35 | 75 | 1.0 |
| revival coffee | 24 | 298 | 7.4 |
| barista jobs | 3 | 32 | 6.9 |
| best coffee shops richardson | 3 | 16 | 6.5 |
| barista jobs near me | 2 | 7 | 2.1 |
| coffee shop richardson tx | 2 | 91 | 10.3 |
| coffee shops hiring near me | 2 | 15 | 7.3 |
| coffee shops in richardson | 2 | 89 | 9.9 |
| coffee shops in richardson tx | 2 | 77 | 7.9 |
| richardson coffee shops | 2 | 132 | 7.7 |
| best coffee in richardson | 1 | 15 | 6.8 |
| best coffee near me | 1 | 30 | 7.5 |
| coffee shops richardson | 1 | 66 | 8.4 |
| coffee shops near me | 1 | 462 | 9.4 |
| coffee near me | 1 | 3,883 | 5.3 |
| how much caffeine is in a cup of coffee with milk | 1 | 41 | 2.0 |
| almond milk vs oat milk in coffee | 1 | 17 | 4.9 |
| how much caffeine is in a 12 oz latte | 1 | 26 | 5.5 |
| matcha near me | 1 | 38 | 15.8 |
This is the table we were hoping for a year ago. The shop's brand-plus-city query sits at position 1.0 and now earns 35 clicks on its own. The local-discovery cluster — the searches someone runs when they have not yet decided where to go — is entirely on page 1: "best coffee shops richardson" at 6.5, "best coffee in richardson" at 6.8, "richardson coffee shops" at 7.7, "coffee shops in richardson tx" at 7.9, "coffee shops richardson" at 8.4.
Two rows are worth explaining. "Coffee near me" produced 3,883 impressions at position 5.3 and exactly one click. That search is dominated by the Google Maps pack; most people tap a pin rather than scroll to the web results. We include it because leaving it out would make the table look cleaner than the truth. And the bottom cluster — caffeine content, oat milk versus almond milk — is the blog doing what it was built to do, putting the shop in front of coffee drinkers at the research stage.
The newest pattern is hiring. "Barista jobs" (6.9), "barista jobs near me" (2.1) and "coffee shops hiring near me" (7.3) now send real traffic to the careers page, which earned 28 clicks in 28 days. By intent those may be the most valuable clicks on the site.
Which Pages Earn It
Splitting the same 28 days by page shows a clean division of labor:
| Page group | Pages | Impressions | Clicks |
|---|---|---|---|
| Blog | 34 | 38,402 | 95 |
| Core business pages | 11 | 9,857 | 136 |
The blog carries 80% of the site's search visibility — the single biggest contributor is a post on latte caffeine content at 8,451 impressions, followed by "best coffee shops in Richardson TX" at 3,968 and an oat-milk-versus-almond-milk comparison at 2,949. The core pages carry the majority of the clicks: the homepage alone took 81, the careers page 28, the menu 20.
That split is the whole argument for building a café site with real content instead of a one-page template. The blog earns the topical authority; the business pages convert it.
An Honest Note on Scale
We publish real numbers, and for a neighborhood café the real numbers started as hundreds of impressions a day, not tens of thousands. A 15,889% increase sounds absurd; it is an increase from 10 impressions a day to 1,599, computed against a baseline of two clicks in sixteen days. Treat the percentage as a shape, not a magnitude — the month-by-month table and the position trend are what we would actually point a prospective client at.
A correction to the previous version of this page. In September we reported GA4 sessions as roughly flat — about 4.6 a day post-launch against 4.7 before — and said that was expected for a café, because coffee-shop visibility converts as walk-ins and Maps directions that never reach website analytics. That was accurate for the first 60 days. It is no longer accurate. Across the full 186 days Google Analytics recorded 1,650 sessions, or 8.9 a day — nearly double the pre-launch 4.7. We are noting the change here rather than silently replacing the paragraph, because a case study that only records the rows that went the right way is not worth reading.
The click-through rate moved the other way, and that is worth the same honesty: 1.25% before launch, 0.48% across the last 28 days. Impressions grew roughly 160x while clicks grew 62x, and those two facts cannot both be true without CTR falling. The query table shows exactly where it went — one click out of 3,883 impressions on "coffee near me," one out of 462 on "coffee shops near me." On high-volume "near me" searches the map pack sits above the web results, so a page-1 web ranking is often still below the fold. A lower percentage of a vastly larger number is still 62x 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 publishing both numbers is the only way to tell the difference.
Key Takeaways
- From invisible to page 1 — average position went from 30.3 pre-launch to 7.3 across the most recent 28 days, and 8.0 across the full 186 days.
- Impressions up 15,889% in the last 28 days, and still accelerating — 10/day became 1,599/day, with the most recent seven days running at 3,354. Full-window average: 430/day, up 4,202%.
- Six consecutive months of growth — every month has beaten the one before it on impressions, and position has improved from the mid-teens to the low sevens since May. Nothing here is a launch spike.
- The whole local cluster ranks now, not just one query — "best coffee shops richardson" (6.5), "best coffee in richardson" (6.8), "richardson coffee shops" (7.7), "coffee shops in richardson tx" (7.9), and "revival coffee richardson" locked at 1.0.
- The blog is the engine, the business pages convert — 34 posts carry 80% of search visibility; the homepage, careers and menu pages take the majority of clicks.
- Reported with its limits — a 16-day two-click baseline, two zero-impression days left in the averages rather than excluded, a falling click-through rate, and a 3,883-impression zero-conversion "near me" query are all disclosed rather than trimmed.
Why It Worked
Revival Coffee's rebuild is the clearest possible demonstration that SEO-first structure is what makes a site findable — because there was no confounding factor. Same shop, same coffee, same community. The only thing that changed was that Google finally got a fast, properly structured, schema-marked, content-rich site to rank — and within six months it moved the shop from page 4 to page 1 across its local query set, and from 10 impressions a day to over 3,300.
Most café websites are an afterthought: a template with hours and an Instagram link, invisible for every search that matters. For a business whose customers choose with their phones, being findable is the marketing. That's the gap we fill — at whatever scale the business naturally has.