This local SEO case study breakdown pulls apart a $13K-to-$1.4M result to show what drove the growth, and more importantly, what the write-up left out. After thirty years of building businesses from scratch in three different countries, I keep seeing the same gaps that stop good businesses from turning rankings into actual revenue. Here is the version most guides do not write.
When someone tells you a local service business went from $13,000 a month to $1.4 million in eleven months using local SEO, you either reach for your wallet or you call nonsense. I get both reactions. I have had both reactions.
Here is what I actually think after looking at it properly. The result is real. Results like that are real, full stop. Local SEO for service businesses can move numbers that fast when the system is working.
I have watched it happen with roofing companies in Alberta, I watched something similar with a magazine business I ran in Valencia for ten years, and I have seen it fail spectacularly too, including a few times when I was the one who got it wrong.
But the case study write-up, like most case study write-ups, shows you the outcome and gives you the tactics. What it does not show you is the architecture behind those tactics, or the conversion layer that turned rankings into phone calls, or the three things most businesses quietly skip that explain why they copy the approach and get half the result.
That is what this breakdown is for. Local SEO does not work just because you rank. It works when visibility, trust, and conversion are all functioning as one system. Skip any one of those three and you are leaving money in the gaps between them.
Let’s get into it.
What the Local SEO Case Study Actually Got Right
I want to be fair to the result before I pick at what is missing, because there is real craft in producing an outcome like this. These foundations are not accidents. They are repeatable, and they matter.
Google Business Profile Done Properly
The GBP was the engine here. In urgent service categories, and roofing absolutely qualifies, a large percentage of buyers make their decision from the Map Pack. They see a handful of businesses, they check the star rating, they look at the photos, and they call. A lot of them never touch the website at all.
What this business got right was treating the profile as something alive rather than a listing you fill out once and forget. Regular photo uploads from actual jobs, categories set correctly, service areas that actually matched where they worked, posts going out consistently.
Google’s own guidance on local ranking is pretty clear that complete, accurate business information helps you show up for the right searches. That completeness is also the layer that tends to move fastest when you fix it, which is exactly why I always start here with any business I work with.
Service Pages That Were Actually Specific

Dedicated service pages targeting specific locations help local businesses rank higher and generate more leads.
Not one big Services page listing everything. Separate, dedicated pages for individual services in individual locations. “Flat roof replacement Edmonton” and “commercial roof repair Sherwood Park” living as their own pages, not as bullet points inside a dropdown.
That specificity sounds simple but most businesses do not do it. I spent a decade in Spain running a magazine that helped hundreds of small businesses market themselves, and the single most common website mistake I saw was exactly this one: a vague, general web presence that tried to appeal to everyone and ended up ranking for nothing.
The businesses that got found were specific. Service, location, outcome, on dedicated pages. That is still true today.
Content That Matches What Buyers Actually Type
Blog content built around the questions buyers genuinely search before they spend money. Things like “how do I know if my flat roof needs replacing?”, or “average cost of roof repair in Edmonton.” These are not vanity keywords.
They come from people who have a real problem sitting in front of them and money to fix it. Getting into that conversation early, before they start comparing quotes, is genuinely valuable.
Links and Internal Structure That Built Authority Over Time
A deliberate linking structure, both internal, connecting service pages to blog content and back, and external, earned backlinks from local citations, suppliers, and industry directories.
This is the boring side of SEO that nobody gets excited about at conferences. It matters. It built consistently over six to twelve months is what tips a business from “showing up sometimes” to “showing up reliably.”
What the Case Study Does Not Tell You
Here is the honest read on what a local SEO case study like this one typically hides, and what most businesses would still miss if they tried to copy it directly.
Conversion Is Not SEO, but It Decides Whether SEO Pays
The case study shows a revenue number. What it does not show is everything that happened between “showing up in search” and “phone rings.”
Think about what is really happening when a homeowner searches “emergency roof repair Edmonton” at half nine on a Tuesday night. They are stressed. Something is wrong with their house.
They pull up three results, and within about thirty seconds, they are picking one to call. What are they looking at? The star rating, the number of reviews, and whether the photo looks like a real business or a stock image someone grabbed from a free website. Then they tap the number.
Your GBP rating, your photos, the speed your website loads on their phone, whether the call button is easy to find, none of those are technically SEO metrics. But all of them determine whether the ranking you spent months building actually produces a lead.
I have seen businesses ranked second in the Map Pack outperform the business ranked first purely because the second one looked more trustworthy and loaded faster. Conversion is not separate from your SEO strategy. It is what decides whether the strategy pays off.
The Page Architecture Most Write-Ups Never Explain

A hub and spoke page structure helps businesses rank across multiple locations by linking a core service page to location-specific pages.
The case study had service-specific pages, which is correct. But there is an architecture behind those pages that most breakdowns never get into, and it is the thing that actually multiplies the ranking value of those pages over time.
Think of it as hub and spoke. One main hub page targeting a core service broadly, “flat roof replacement in Alberta” for example. Then, the individual spoke pages targeting each specific area you serve, Edmonton, Sherwood Park, St. Albert, Leduc, Beaumont, each with genuinely different content written for that location.
Not the same text with a city name swapped in. Actual content that is useful to someone in that area, local competitors mentioned, seasonal considerations, whatever makes it real.
This structure does something the single-service-page approach cannot. It captures neighbourhood-level searches that nobody else is targeting specifically enough, it builds a strong internal linking network across the whole site, and it extends your ranking footprint significantly over time.
The businesses I see dominating local search in multiple suburbs are almost always running this architecture, even if they do not call it that.
Reviews Are a Ranking Signal, but Most Businesses Manage Them Passively
The write-up almost certainly included a strong review profile. What it does not explain is that the algorithm, and buyers, respond to review activity over time, not just the total count sitting there.
A business with two hundred reviews, where the most recent one was fourteen months ago, reads differently than a business with eighty reviews, where four new ones came in last week.
The first one looks like it might be coasting. The second one looks like it is actively operating and currently trusted. Both to the buyer making a decision and, according to Google’s local guidance, to the signals that factor into local prominence.
Getting reviews as an ongoing operational habit, rather than something you chase occasionally, is the difference. Make it easy for satisfied customers to leave one.
Respond to every single review, including the negative ones, and do it specifically rather than with a canned response. That consistency compounds in a way that a one-off push never does.
One thing I want to be clear on here. Encouraging customers to be detailed and honest in their feedback is fine. Writing scripts for them to follow or manufacturing keyword-heavy language into review responses is a different thing entirely, and it creates the kind of credibility risk that is not worth the theoretical SEO benefit.
What People Do After They Find You Feeds Back Into Rankings
This is one of the more underappreciated dynamics in local SEO and one I rarely see mentioned in case study breakdowns.
Google is watching what happens after someone finds your listing. Whether they click it or scroll past it. Whether they visit your site and stay, or immediately go back to the search results, which is a clear signal that your page did not give them what they needed.
Whether they call directly from the listing without visiting the site at all, which tends to be a strong positive signal in local search.
A profile with real job photos, a compelling description, and a competitive rating earns more clicks. A profile that looks half-finished earns fewer. And over time, those click patterns feed back into how visible you are.
This is why visibility and conversion are not two separate workstreams for a local service business. They are one loop.
Citation Consistency: Boring, Important, Frequently Broken
Your business name, address, and phone number need to be identical everywhere they appear online. Not similar. Identical, down to whether you spell out “Street” or abbreviate it as “St.” Google cross-references this data across directories, aggregators, and listings when it is working out how legitimate and established a business is. Inconsistencies introduce doubt, and doubt does not help rankings.
The major aggregators, Yelp, Yellow Pages, BBB, Bing Places, Apple Maps, and whatever industry-specific directories apply to your category, all contribute to the prominence signals that factor into local ranking.
I have seen a proper citation audit and clean-up produce meaningful ranking movement within a few weeks for businesses where this infrastructure was messy.
It is not glamorous work. It is the kind of thing most business owners skip because it feels administrative rather than strategic. It is both.
Technical Foundation: Fix This Before You Write a Single Word of Content

Fix your technical SEO foundation first. Indexing, speed, mobile usability, and schema all impact your rankings.
Good content sitting on a broken technical foundation is like a great tradesperson whose van will not start. You can have the strongest service pages in your market and still underperform in rankings if Google cannot consistently crawl and index your site.
The failures I see most often are main service pages that are not indexed at all, which you can check in 30 seconds using the URL Inspection tool in Google Search Console.
Images that have never been compressed and are adding three or four seconds to mobile load times. No schema markup telling Google what type of business this is and what areas it serves.
Mobile layouts that break on smaller phones because they were designed on a desktop and nobody checked.
Google’s Search Essentials documentation treats crawlability and indexability as prerequisites for everything else, and that is the right way to think about it.
Fix the technical foundation before you invest significant time in content or link building. Anything you build on top of a broken foundation produces less return than it should.
Competitor Gap Analysis: Where the Fast Wins Actually Are
When I took on a roofing company in Alberta that was generating essentially zero leads, one of the first things I did was spend a few hours mapping what the top three local competitors were ranking for and where their content had gaps. Not to copy them.
To find the searches they were not targeting specifically enough, the questions they were not answering, the locations they were covering too broadly.
That analysis consistently surfaces faster-moving opportunities than going after the main competitive terms. Searches where the existing content is thin, the intent is clearly commercial, and a well-built page could realistically rank within weeks rather than months. It is not a shortcut. It is just a smarter use of effort at the start.
Why This Works Differently for Trades and Service Businesses

Trades buyers act fast under pressure. Trust, reviews, and speed determine who gets the call.
I want to spend some time on this because it is what most generic SEO content never really gets into, and it is where thirty years in the trades actually gives you a perspective that most marketing consultants simply do not have.
Roofing, plumbing, HVAC, electrical, and emergency repairs of most kinds, these businesses operate in a buying environment that is genuinely different from most other local categories. The buyer is usually under some degree of stress. Something is wrong.
It is broken or leaking or failed at an inconvenient time, which is basically always. They are not researching casually. They need someone now or very soon, they want to make a confident decision quickly, and they are going to hand a stranger access to their home or their property.
That last part matters more than most SEO guides acknowledge. When the job value is $12,000 or $35,000 and it involves someone working on your roof for three days, the buyer is not just comparing prices.
They are trying to figure out whether they can trust you. Reviews are not a nice-to-have in this context. They are the primary way a buyer evaluates a business they have never used before.
A profile with a hundred and forty genuine reviews at 4.7 stars and photos of real completed jobs does more persuasion work than almost any other element on the page.
Speed also matters differently in trades than in, say, a restaurant booking or a retail purchase. A buyer searching for emergency roof repair at 9 PM is not going to patiently wait for a slow website to load.
They are going to hit the back button and call the next result. Seconds genuinely matter here. So does having your phone number prominent and clickable rather than buried in a footer.
And there is a difference between emergency intent and planned intent that most businesses treat as the same search. “Emergency roof repair Edmonton” is a different buyer with a different timeline and a different stress level than “roof replacement Edmonton.” The content, the GBP messaging, and the conversion pathway should be calibrated differently for each.
The business that understands that distinction will outperform the one that has one generic service page targeting both.
What This Means for Your Business
If you are a roofing company, the system in this article is how you turn local SEO into inbound calls from homeowners and property managers who are ready to spend.
Your competition is franchises with big domain authority and established locals who may not have updated their SEO in two years. Your edges are review volume, neighbourhood-specific content they are not writing, and a mobile conversion experience that actually works.
Build those things and you start winning searches the franchises are not targeting specifically enough to dominate.
If you are running an HVAC or plumbing business, emergency intent is your biggest opportunity and your biggest conversion risk in the same moment.
Buyers are searching during high-stress windows. They make fast decisions. Your GBP rating and your mobile site speed are deciding factors in whether your rankings translate into calls or just impressions.
And if you are a local trade business of any kind, the logic does not change by category. Get found by the right buyers, look credible when they find you, make it easy to call you.
Every piece of work you do in local SEO is serving one of those three things. The ones that do not serve any of them are probably not worth doing.
Where to Actually Start: The First Thirty Days
The framework is useful. The harder question is always what to do first when you are running a business and have maybe a few hours a week to invest in this.
Here is the sequence I use, based on what consistently produces the fastest movement for trades businesses.
Week one: go through your GBP completely. Every field. Fix your primary category if it is even slightly off, they matter more than most people realise. Set your service areas to match where you actually work.
Upload ten to fifteen photos from real jobs if you do not have them already. Fill in every attribute that applies. This takes three or four hours and tends to produce faster ranking movement than almost anything else you can do, because you are improving a direct Google asset.
Week two: run a quick technical check. Open Google Search Console, use the URL Inspection tool, and confirm your main service pages are actually indexed. Run your homepage through PageSpeed Insights on mobile.
If your load time is over three seconds, find the images that are causing it and compress them. These are not exciting tasks. They are the foundation.
Week three: go through your citations. Check that your business name, address, and phone number are exactly consistent on Google, Yelp, Yellow Pages, BBB, Bing Places, and Apple Maps.
Fix anything that is off. Add your listing to any major directory where you are missing entirely.
Week four: Have an honest look at your review situation. How recent are your last five reviews? Is there a simple process in place for asking satisfied customers to leave one? Build that process. Start using it after every completed job.
What I would leave for later: new blog content, advanced schema, and backlink outreach. Those all matter. They matter more once the foundation is solid.
The businesses I have seen waste the most effort on local SEO are the ones that jumped straight to content strategy with a half-complete GBP and a website loading in six seconds on mobile.
How I Use This Framework Now

A simple system, visibility, trust, and conversion working together to turn rankings into real phone calls.
I want to be clear, this is not theoretical for me. Right now, in 2026, I am actively building and managing local lead generation systems for roofing businesses in Alberta.
West Point Roofing is one of them. The same framework, visibility, trust, and conversion working as one system, is what I apply when I come into a situation where a business is ranking but the phone is quiet.
Nine times out of ten when that happens, the issue is not the rankings. It is a broken conversion layer. A GBP that looks neglected, a review profile that stopped accumulating eighteen months ago, a website that takes five seconds to load on a three-year-old Android phone.
Fix those things and the same rankings that were producing nothing start producing calls within a few weeks.
The other one time out of ten, the problem is a broken technical foundation that is quietly suppressing the rankings themselves. Pages not indexed, service areas not set properly, citation inconsistencies that have been accumulating for years. That takes longer to fix but the movement when you do is usually significant.
The System, Plain and Simple
Visibility is about being findable when the right person searches. GBP, service page structure, technical crawlability, and location targeting are the drivers. Without this layer, nothing else matters.
Trust is about being chosen after you are found. Reviews, photos, citation consistency, and the overall impression your online presence makes are what build it. In high-ticket trade categories, trust is often the deciding factor when a buyer has three businesses in front of them.
Conversion is about making it easy to take action. Load speed, call button visibility, clear service descriptions, and a process that does not require the buyer to work hard to contact you.
This is the layer most SEO guides skip or mention in one sentence and move on. It is the layer that determines whether the other two actually pay.
Skip any one of those three and you end up with rankings that feel productive but produce less than they should. Build all three and the results compound in a way that is genuinely difficult for competitors to reverse quickly.
The Final Word
The case study result is real. $13K to $1.4M is achievable. But what produced it was not a list of tactics. It was a system where three layers were all working together, and a business that kept working on it for eleven months rather than expecting results after six weeks.
Most businesses only build part of it. They rank without converting, or they build a great website that nobody finds, or they earn trust and then make it hard to call them. Every gap in that system costs revenue every day it sits there.
Find them. Earn their trust. Make it easy to call.
That is the whole thing. If you want the step-by-step detail on building each layer, the 81-point system covers all of it. Or email me directly at peter@marketinggrowthhub.com. I actually read the emails.
Frequently Asked Questions About Local SEO for Service Businesses
How long does local SEO actually take to produce results?
Honest answer: it depends a lot on where you are starting from. If your GBP is half-complete and your main service pages are not even indexed, fixing those things can produce visible movement in a matter of weeks because you are correcting obvious gaps.
If you are already doing the basics reasonably well and you are trying to push into more competitive terms, three to six months of consistent effort is a more realistic timeframe.
The eleven-month result in the case study above came from working the complete system, not just one layer of it, and it compounded over time rather than delivering a single jump.
Is the Google Business Profile actually more important than the website?
For urgent trades categories, yes, often more so, at least in the short term. A lot of buyers in roofing, plumbing, and emergency repair categories call directly from the Map Pack without ever visiting the website.
So your GBP is the thing that makes or breaks that interaction. Your website matters a lot for the buyers who do click through, and for the underlying authority signals that help your GBP rank in the first place, but if you are choosing where to put your first few hours of effort, the GBP almost always moves faster.
How many reviews do I actually need?
Rather than give you a number that may or may not apply to your specific market, I would say go look at whoever is currently ranking first and second in your local Map Pack and see where their review profiles sit.
That is your real benchmark. What I can say from experience is that in high-ticket categories like roofing, where a job might cost $20,000 or more, buyers read reviews carefully.
A profile with a strong average and a steady flow of recent reviews, say a few new ones per month, tends to outperform a larger static count that has not grown in over a year. Both volume and recency matter.
What is the hub-and-spoke page structure you keep mentioning?
It is a way of architecting your service pages so you rank across a wider geographic area without building thin, duplicate content.
You have one main hub page covering a service broadly, something like “flat roof replacement in Alberta.” Then you build individual spoke pages for each location you serve, Edmonton, Sherwood Park, St. Albert, and so on, each with genuinely location-specific content rather than the same text with a city name dropped in.
The hub provides the broad authority, the spokes capture the specific searches, and internal links between them strengthen the whole structure. It is one of the most effective things you can do for a trades business with multiple service areas.
Do reviews actually affect local search rankings?
According to Google’s own local ranking guidance, yes, reviews contribute to the prominence signals that factor into how a business ranks locally.
More genuine reviews and a higher rating are both mentioned as things that help. There is also a conversion effect that feeds back into rankings over time: a listing with a strong review profile earns more clicks, and consistent click-through behaviour is one of the signals Google uses to assess whether a result is satisfying searchers.
So reviews are doing double duty, helping you rank and helping you convert once you do.
How do I compete against big franchise competitors locally?
Franchises tend to have broad domain authority that is hard to beat directly on their main terms. The angle that actually works is specificity. A franchise targeting “roofing company Edmonton” with one generic page will often lose to a well-optimised local page targeting “roofing company Summerwood” or whatever specific neighbourhood you are going after.
And in most markets, franchise locations do not have particularly strong local review profiles because nobody is actively managing them at the branch level. That is your opening. Outrank them in the specific searches they are not targeting precisely, and outconvert them with a review profile they cannot build overnight.
What technical SEO issues matter most for local rankings?
The four I see causing the most damage on trade business websites: service pages that are not indexed by Google at all (use URL Inspection in Search Console to check), mobile load times over three seconds usually caused by unoptimised images, missing or incorrect schema markup, and NAP inconsistencies across citations that have never been cleaned up.
Fix those before anything else. The ranking work you do elsewhere is more effective when the technical foundation is not quietly undermining it.
Should I try to put keywords into my review responses?
Write your review responses like a real business owner, not like someone trying to game an algorithm. Respond to every review, thank the customer, reference what you actually did for them, and address any concerns professionally.
When you do that naturally, your responses will contain relevant location and service language anyway, because that is just what a specific, genuine response looks like.
What I would avoid is scripting your responses around keywords or making them sound manufactured. It creates a credibility risk with buyers who read them and provides, at best, marginal SEO benefit.
What is the difference between local SEO and regular SEO?
Regular SEO is about ranking in Google’s main search results for any keyword, regardless of where the searcher is located. Local SEO is specifically about showing up for searches with geographic intent, the Map Pack, “near me” searches, and searches with a city or suburb included.
Local SEO involves signals that do not apply to general organic ranking: your GBP completeness, your physical or service area proximity to the searcher, NAP consistency across directories, and your local review profile. For any service business with a defined geographic territory, local SEO is almost always where your effort should go first.
Can I do this myself or do I need to hire someone?
You can absolutely do it yourself, and a lot of trades business owners are better positioned to do it than they think, because you know your service area, your customers, and your competitors better than any agency ever will. The tactics are learnable.
The 81-point system I put together covers all of them. Where an agency or consultant genuinely earns their fees is if your time is the real constraint and the economics make sense at your current revenue level.
What does not make sense, in my opinion, is paying $2,500 or $3,000 a month when you are still figuring out whether local SEO is going to work for your business. Learn the system first. Then decide what to outsource.
Why do rankings sometimes improve without any increase in leads?
This is the conversion layer problem. Rankings determine whether buyers see your business. Everything else determines whether they call you.
If your GBP photos are stock images, your review average is 3.8, your website takes six seconds to load on mobile, and your phone number is on a Contact page rather than the top of every page, a lot of the buyers who find you are going to choose someone else.
I see this regularly: a business that has done genuine SEO work, moved up in rankings, and is getting more impressions, but the phone has not changed. Nine times out of ten the fix is in the conversion layer, not more SEO work.
Get the Complete System
I’m Peter Coscolin. I started a roofing business in the UK with borrowed ladders and my wife’s car. Lost everything in 2008.
Moved to Canada with very little and three kids in tow, and rebuilt from a company with zero leads to generating over a million dollars a month for roofing clients. Thirty years, three countries, and more mistakes than I can comfortably count.
The 81-point SEO system built from all of that is available for $47. One payment. No monthly fees. Lifetime updates when Google changes the rules, which it does constantly.
Get the Complete 81-Point System for $47
Or email me directly: peter@marketinggrowthhub.com. I read everything.








