Local SEO timeline over twelve months for a contractor

Ten months in, you get a report. It’s fourteen pages. There are graphs. Impressions are up 340%. Something called “keyword visibility score” has moved from 31 to 47. Your phone rings about as often as it did last March.

When you ask the obvious question, you get the standard answer: SEO takes time, you have to be patient, the algorithm updated. And there’s just enough truth in that to be hard to argue with, which is exactly why it works.

Here’s the structural problem. Local SEO genuinely is slow — the compounding parts of it take six to twelve months, and anyone promising page one in thirty days is lying. But “slow” and “nothing is happening” produce identical-looking months if you don’t know what to look at. A good provider in month two and a bad provider in month two both show you a flat call volume. The difference is what’s underneath it, and there are specific, checkable things that should exist by specific dates.

So this piece does two things. It gives you a month-by-month of what should actually be happening in a local SEO program, and for each stage, the evidence you’re entitled to ask for. If your provider can’t produce it, you’re not being impatient. You’re being billed.

What’s in this guide
  1. The honest range — and why nobody can give you a date
  2. The four things that set your timeline
  3. What moves first, what moves last
  4. Month by month, and what to demand at each stage
  5. If none of this has happened by month four, you’re paying for nothing
  6. Vanity metrics versus the three that matter
  7. How to read a padded report
  8. What this costs in Texas, and what nobody knows
  9. Questions contractors actually ask
What this guide on local seo covers: The honest range — and why nobody can give you a date; The four things that set your timeline; What moves first, what moves last; Month by month, and what to demand at each stage; If none of this has happened by month four, you're paying for nothing
The sections of this guide, in order.

The honest range — and why nobody can give you a date

For a contractor with an existing website, a verified profile and some review history, the realistic shape is this: technical and profile work lands in weeks one through four, the first long-tail organic movement shows up somewhere in months two through four, and map pack movement on the terms that actually make you money — the ones with your trade plus your city and no qualifiers — takes six to twelve months, if it comes at all.

That last clause matters. Google’s own documentation on local ranking says the quiet part out loud:

There’s no way to request or pay for a better local ranking on Google.
Google Business Profile Help — Improve your local ranking on Google

Which means every timeline anyone gives you, ours included, is an estimate built on what usually happens, not a delivery date. The correct response to a vendor who guarantees a ranking by a date is not to negotiate the date. It’s to stop the meeting.

The distinction that matters

There are two different clocks running. Work should be visible within thirty days — you can see a rebuilt page, a corrected category, a review request system that’s actually sending. Results lag that work by months. A provider who can’t show you the first clock is not slow. They’re not working.

The four things that set your timeline

Whether you have a real website at all

If you’re starting from a template site that a marketing company owns, or a Facebook page and nothing else, add three to four months before anything else can even start compounding. Organic results depend overwhelmingly on on-page content — in Whitespark’s 2026 practitioner survey, on-page signals account for roughly a third of local organic placement — and you cannot optimise a page that doesn’t exist.

This is also the moment to find out whether you own the domain and the content, because if you don’t, you’re about to spend a year improving someone else’s asset. We walk through how to check in do you actually own your contractor website.

Competitive density in your specific city

This is the variable nobody prices correctly. An HVAC company in a Houston suburb is competing against dozens of established profiles inside a ten-mile radius, several of which have eight years of review history. The same trade in Lubbock or a Hill Country town might be competing against four. Same work, same budget, radically different timeline — and the density is knowable before you start, which is why an honest proposal names it.

Where you’re starting from

A profile that’s already ranking fourth or fifth for its money terms can often be moved into the top three in a couple of months, because the hard part — relevance and prominence — is largely built. A profile that isn’t ranking in the top twenty is a different project entirely. Ask any provider to show you your current position on a rank grid before they quote you a timeline. If they quote without looking, the quote is fiction.

Whether the map pack is even the right target

If the city you want is forty miles from your shop, no amount of time will produce a map pack result there, because proximity to the searcher is structural rather than earnable. That’s a whole separate problem and we’ve covered it in detail in why you don’t show up on Google Maps in every city you serve. For our purposes here: a timeline that promises map pack movement in a city where map pack movement isn’t possible will never come true, no matter how long you wait.

What moves first, what moves last

Local SEO signals don’t ripen at the same rate. Understanding the order is the single most useful thing for judging whether a quiet month is normal or not.

When each signal typically starts moving

Approximate windows for a contractor with an existing site and a verified profile. Bars show when movement usually begins and when it’s typically established.

Profile & technical fixes live Profile views, discovery terms Long-tail organic rankings Map pack, secondary terms Map pack, money terms Links & review base compounding Mo 0–1 Mo 1–3 Mo 2–5 Mo 3–7 Mo 6–12 Mo 4–12 Start Month 3 Month 6 Month 9 Month 12 Windows are directional and stretch with competitive density

Directional windows, not a published dataset — this is the ordering we plan against and the pattern the ranking-factor literature implies, with signal categories weighted per Whitespark’s Local Search Ranking Factors 2026. The shape is the point: the cheap wins land first and the expensive ones land last, which is exactly why month three feels like nothing is happening.

Most contractors stop at “are we ranking yet.” That is not analysis. The question in month two is whether the inputs to a month-eight ranking exist yet — because if they don’t, month eight is already lost and nobody will tell you until month nine.

Find out what’s actually been done to your listing

The free Lead Engine Scorecard audits your current map pack and organic position city by city, your profile configuration, and your review velocity — so you can see for yourself whether the last six months of retainer produced anything.

Get the free Scorecard
Or call (726) 224-4920 — same business day reply.

Key point on local seo: The distinction that matters — There are two different clocks running. Work should be visible within thirty days — you can see a rebuilt page, a corrected category, a review request system th
The single point most contractors miss on this topic.

Month by month, and what to demand at each stage

Print this. The right-hand column is the part that matters, because it converts “trust me” into something you can verify in ten minutes without knowing anything about SEO.

What should be happening, and the evidence to ask for
Window What should be happening Evidence to demand
Month 1 Baseline rank grid captured. Primary and secondary categories audited against the top three competitors. Service areas, hours and attributes corrected. Call tracking and Search Console connected. Technical crawl of the site, fixes scheduled. A dated baseline rank grid image. A before/after screenshot of your profile categories. Proof that call tracking is live — make a test call and ask them to show it in the log.
Month 2 Page work shipping — real service pages, not just title tag edits. A review request process running and producing reviews weekly. First profile posts and job photos uploaded. Citation inconsistencies on the majors cleaned once. URLs of pages published or rewritten this month. A count of reviews received in the last 30 days. The photo upload log in your profile. Not a list of tasks — links you can click.
Month 3 Long-tail organic terms starting to move. Profile view and discovery-search counts up. First real local links or mentions earned. Content plan for months 4–6 agreed. Search Console query report showing impressions and clicks by query, exported. A second rank grid on the same terms as month one. The specific URLs of any links earned.
Months 4–6 Map pack movement on secondary and modifier terms (“emergency”, “24 hour”, neighbourhood names). Review count and recency clearly ahead of where you started. Conversion work on the pages that get traffic. Rank grid comparison across three dated points. Call volume from tracked numbers, month over month. A list of terms where you moved and terms where you didn’t.
Months 7–12 Money terms competitive in the map pack in your core radius. Organic city pages ranking in surrounding markets. Booked-job attribution possible. Position on the three or four terms you agreed were the money terms on day one — not a basket of 200 keywords. Calls, and where they came from.
Timelines stretch in dense metros and compress in thin ones. What does not change is the evidence column — every item there exists regardless of whether rankings have moved, which is what makes it the honest test of whether work is being done.

Notice what’s absent from the evidence column: nothing in it requires you to take anybody’s word for anything. A rank grid is a picture. A published URL either exists or it doesn’t. A test call either shows up in the tracking log or it doesn’t.

If none of this has happened by month four, you’re paying for nothing

Month four is the fair cutoff. Month two is too early to judge, month six is late enough that you’ve spent real money. By the end of month four, all of the following should exist. Ask for them in one email, together, and give a deadline.

  • Two dated rank grids on the same set of terms and the same geography — one from month one, one from now. Not “keyword visibility,” not a score. A grid.
  • A list of every page published or materially rewritten, as clickable URLs with dates. If the answer is “we optimised your existing pages,” ask which ones and what changed.
  • Your Search Console query export — not their dashboard’s summary of it. You own that property; you should have login access to it.
  • Review count and dates for the last 90 days. If the number is zero, the review program does not exist, whatever the report calls it.
  • The list of links or local mentions earned, with URLs. Directory submissions are not links earned; those account for roughly 6% of map pack placement in the 2026 factor weights and can be done once, not billed monthly.
  • Call volume from a tracked number, month by month, with the recordings or logs available to you.
  • A straight answer to one question: for each target city, are we competing in the map pack or in organic, and why.

Three outcomes. They send it all within a week — good, the work is real even if the results are slow. They send some of it and explain the gaps specifically — probably fine, keep going with a tighter scope. They send another dashboard, get defensive, or explain that SEO is a long game — that’s your answer, and it has nothing to do with how long SEO takes.

The access test

Before you sign anything, ask whether Google Business Profile ownership, Search Console, Google Analytics and the domain registrar will be in your accounts with your provider added as a manager. If a vendor holds those in their own accounts, the cost of leaving them isn’t the notice period — it’s starting over. This is the single most common way contractors get trapped, and it costs nothing to prevent on day one.

Vanity metrics versus the three that matter

Reporting software makes it trivially easy to fill fourteen pages with numbers that always go up. Here’s how to sort them.

What the number is actually telling you
Metric Why it looks good What it hides
Impressions / profile views Always rises with any activity, and rises fastest from a low base. Impressions for “hvac repair near me” and for “how does a heat pump work” count the same. Useful as a direction, worthless as a result.
Keywords ranking / visibility score A vendor chooses the keyword set. Adding easy terms raises the score without changing anything. Whether you rank for the four terms that actually produce booked jobs.
Average position Blends hundreds of terms into one number that drifts upward as long-tail terms accumulate. Map pack position on a money term is 1, 2, 3 or nowhere. Averaging it with position 46 on a blog post is meaningless.
Website sessions Traffic is real and easy to grow with content that no buyer reads. Whether any of it converts — the exact failure we unpack in traffic up, phone silent.
Map pack position, money terms, from the target city Nothing. This is the one to track. Three to five terms, one grid, same dates each month.
Tracked calls and form fills Nothing, provided the number is tracked and the recordings exist.
Booked jobs from organic and maps Nothing. Hardest to instrument, and the only one that settles the argument.
The bottom three require a tracked phone number and a habit of asking every caller how they found you. Neither is your agency’s job alone — but a provider who never asks you to do them has quietly agreed not to be measured.

One caution before you set expectations on call volume. The most-cited dataset on what a Google Business Profile actually generates is BrightLocal’s GMB Insights study of 45,000 businesses — and the data in it is from September 2017 to December 2018. It’s old, the interface has changed several times since, and anyone quoting it as current is being careless. It’s still the best public baseline that exists for trade categories, so here it is with the date attached.

Median calls per month from a Google Business Profile

By trade category. BrightLocal GMB Insights study — data collected September 2017 to December 2018.

Plumbing & HVAC n = 1,306 14 Construction & roofing n = 2,482 4 General tradesmen n = 1,756 3

Source: BrightLocal GMB Insights Study, 45,000 businesses, data from September 2017 – December 2018. The same study put median plumbing and HVAC profiles at roughly 900 search views and 20 website clicks a month, a conversion rate of about 3%. Treat these as an order of magnitude, not a forecast — but note that the median profile in your trade is a single-digit or low-double-digit call source, which is a useful antidote to any projection promising fifty calls a month by Q2.

How to read a padded report

The fastest tell is a statistic you can’t trace. The local SEO industry runs on a handful of numbers that get repeated so often they’ve stopped being questioned, and the most common one is that 42% of clicks go to the local pack.

We tried to source it. It has no traceable origin. One page attributes it to a Moz study that doesn’t contain it; another states it with no attribution at all; the trail ends there. The same is true of the local pack click-through rates by position you’ll see quoted as 17.8%, 13.6% and 10.4% — attributed to BrightLocal, not present in BrightLocal’s published research.

We’re not saying the local pack doesn’t matter. We’re saying that if a deck opens with a number nobody can source, you should read the rest of it differently. The verified version of that same argument is less dramatic and more useful: the Whitespark panel of 47 local search practitioners puts Google Business Profile signals at about 32% of map pack placement and review signals at 20%, and they’re clear that these are practitioner estimates, not figures from Google.

A test you can run on any report in five minutes

Pick the three most impressive numbers in it. For each, ask: who published this, in what year, and with what sample size? A real provider answers immediately or says “I’d have to check that.” A padded report produces a pause, then a re-explanation of why the number is directionally correct anyway.

What this costs in Texas, and what nobody knows

You’ll be quoted a wide range, and the range itself is the honest part.

Advertised monthly local SEO pricing, Texas trades
Tier Monthly Source quality
Freelancer / micro-agency $800 – $2,200 Vendor self-reported
Full-service agency $3,500 – $5,500 Vendor self-reported
Enterprise / multi-location $6,000 – $8,500 Vendor self-reported
Figures from a Texas agency’s own 2026 HVAC SEO pricing guide, marked vendor-reported because that is what they are. Worth noting: that same page acknowledges it has no Texas-specific market data behind the tiers. Nobody has published a defensible survey of what Texas trade contractors actually pay — so treat every published range, including this one, as advertised pricing rather than market rate.

Two practical consequences. First, price tells you almost nothing about timeline — a $5,000 retainer in a dense Houston submarket may take longer to produce a map pack result than a $1,500 engagement in El Paso, because density, not spend, sets the clock. Second, the deliverable list matters more than the number — ask what is actually in scope at each tier, in writing. The broader budgeting question, including build costs, is covered in what a contractor website actually costs in Texas.

One more timeline factor most proposals ignore entirely: AI assistants are now a real referral channel, and they build their picture of your business from different inputs and on a different schedule than Google’s map pack does. If nobody has mentioned that to you, ask about it — we’ve written up the mechanics in how AI actually picks which contractor to recommend, and it belongs on a separate line item with its own timeline.

Questions contractors actually ask

Questions answered about local seo: How long does local SEO take to work? Is it normal to see nothing in the first 90 days? What should I ask for if I think my SEO company isn't doing anything? Why does my report show impressions up but no more calls?
The questions this guide answers in full below.
How long does local SEO take to work?

For an established contractor with a working site and a verified profile: first long-tail organic movement in two to four months, map pack movement on secondary terms in three to seven, and competitive placement on primary money terms in six to twelve. Starting from no website or a brand-new profile adds three to four months. Google publishes no timeline and explicitly states that ranking cannot be requested or paid for, so every number here is an estimate based on typical patterns.

Is it normal to see nothing in the first 90 days?

It’s normal to see no change in call volume. It is not normal to see no change in the inputs. By day 90 you should have two dated rank grids, a list of published page URLs, a Search Console query export and a count of reviews received in the last 30 days. Flat calls with all of that present is patience. Flat calls with none of it present is a billing arrangement.

What should I ask for if I think my SEO company isn’t doing anything?

Send one email asking for seven things: two dated rank grids on the same terms, a list of published or rewritten page URLs, your Search Console query export, review counts and dates for the last 90 days, the URLs of any links or local mentions earned, tracked call volume by month, and a written answer to whether each target city is a map pack or organic play. Give a one-week deadline. The response tells you everything.

Why does my report show impressions up but no more calls?

Impressions count every appearance in search, including for queries with no buying intent. They rise with almost any activity and rise fastest from a low base, which makes them the most common metric in a padded report. The metrics that can’t be inflated are map pack position on three to five named money terms, tracked calls, and booked jobs.

Does paying more make local SEO faster?

Not directly. More budget can buy more pages, more review outreach and more link work at once, which compresses the schedule somewhat. But the dominant variable is competitive density in your specific city, and no budget changes how many established competitors sit inside a ten-mile radius of the searcher. Published Texas pricing ranges are vendor self-reported and, by at least one publisher’s own admission, not backed by Texas market data.

How many reviews do I need before rankings move?

There’s no absolute number — it’s relative to the top three competitors in the specific city you want to rank in. Review signals are worth roughly 20% of map pack placement in the 2026 factor weights, and the panel separates raw quantity from recency and from sustained influx over time. Steady beats bursts. We work through the competitive count in detail in our guide to how many Google reviews you actually need.

Should I fire an SEO company at six months with no results?

Judge the evidence, not the calendar. If the month-four list exists and the work is visibly real, six months of slow movement in a dense metro is plausible and switching resets your momentum. If the month-four list doesn’t exist, six months is already four months too long. Either way, confirm your profile, Search Console, Analytics and domain are in accounts you own before you give notice.

Will my rankings drop if I stop local SEO?

Slowly, in most cases, and unevenly. The pages you built keep ranking for a while; review recency decays fastest, since a substantial share of consumers specifically look for reviews written in the last three months. The things that erode first are the ones that need continuous input — review flow, fresh content, and being open and answering when people search.

How to run the next ninety days

Agree on three to five money terms and the cities they apply to, in writing, on day one. Everything else is negotiable; this isn’t. A provider who won’t commit to a short list is reserving the right to be graded on a curve they set later.

Capture a dated rank grid before any work starts. It takes twenty minutes and it’s the only thing that makes month four’s conversation possible.

Then spend ninety days looking at inputs rather than outcomes. Pages published. Reviews received in the last thirty days. Categories corrected. Links earned. Calls answered — because a ranking you can’t pick up the phone for is an expense, and we’ve put real numbers on that in what a missed call actually costs.

At day 120, send the email. Real work survives that email easily. Nothing else does.

Get an honest read on where you stand

The free Lead Engine Scorecard gives you a dated baseline — map pack and organic position on your money terms, profile configuration, review velocity and site issues — whether you work with us or take it to your current provider and ask questions.

Get the free Scorecard
Questions first? leads@tradesleadengine.com · (726) 224-4920

Primary sources used for this guide on local seo: Google Business Profile Help — Improve your local ranking on Google; Whitespark — Local Search Ranking Factors 2026; BrightLocal — GMB Insights Study; BrightLocal — Local Consumer Review Survey 2026; Sterling Sky — How to create unique and helpful service area pages
Every figure in this guide traces to one of these primary sources.

Sources

Ranking-factor weights are practitioner survey estimates, not figures published by Google. The per-trade call medians are from a study whose data was collected in 2017–2018 and should be read as an order of magnitude only. Two figures widely quoted in this topic — “42% of clicks go to the local pack” and local pack click-through rates of 17.8% / 13.6% / 10.4% — are deliberately omitted because neither could be traced to a primary source.