Forget what you’ve read about SEO. Most of it is written for tech startups in San Francisco, not for a roofing company in the Gallatin Valley. Local SEO — the kind that gets you on the map when somebody nearby is looking — is its own game, and the rules are simpler than they look.
Here’s the entire playbook.
Step 1: Lock down your Google Business Profile
This is 60% of the battle. Most local searches now resolve in the 3-pack — those three businesses that show up on a map at the top of search results. Get into the 3-pack, get the calls.
What to do, in order:
- Claim and verify your profile. Postcard or phone, doesn’t matter. Just get verified.
- Match your name, address, phone (NAP) exactly to your website footer. Pixel-perfect.
- Choose your primary category carefully. “Roofing Contractor” beats “Contractor.” “Concrete Contractor” beats “Construction Company.” Be specific.
- Add 25+ photos. Real photos. Job sites, trucks, crews, finished work. No stock.
- Post weekly. A 100-word update with one photo. Google reads activity as a ranking signal.
- Get reviews systematically. Ask every closed-job customer with a templated text message. Not “we’d love a review” — instead “we just sent a Google link, would mean the world if you could leave one sentence.”
Step 2: Service-area pages on your website
For every city or valley you serve, build a dedicated page. URL pattern: /services/concrete-bozeman, /services/concrete-belgrade, etc.
Each page needs:
- An H1 with the service + city (“Concrete Contractor in Belgrade, MT”)
- 600+ words of human-written content (not AI slop)
- Mention of local landmarks (“just past the Madison River bridge…”)
- Photos of jobs you’ve actually done in that city
- Schema.org
LocalBusinessmarkup withareaServed
Yes, it’s tedious. Yes, it works.
Step 3: Citations — but don’t go crazy
A “citation” is any place online that lists your business name, address, and phone. Yelp, Yellowpages, BBB, industry-specific directories.
Get the top 30, then stop. Quality over quantity. Use Moz Local or BrightLocal to scan and fix any wrong listings — Google penalizes inconsistent NAP info more than it rewards 200 obscure citations.
Step 4: Reviews. Reviews. Reviews.
If there’s one thing that moves Bozeman 3-pack rankings, it’s fresh review velocity. Three reviews this week beats fifty reviews from 2022.
The system that works:
- Mark a job complete in your CRM/job book.
- Trigger a text message: “Hey [name], glad we got that wrapped. Could you spend 30 seconds dropping a line on Google? [link].”
- If they leave a review, reply within 24 hours. Always. Even the negative ones — especially the negative ones.
We’ve seen contractors go from #6 to #1 in the 3-pack in eight weeks just by running this system religiously.
Step 5: On-page basics, then leave it alone
- Title tags:
[Service] in [City] | [Brand]— under 60 characters. - Meta descriptions: 150 chars, benefit-led, with a CTA.
- One H1 per page.
- Every image has alt text.
- Schema markup for
LocalBusiness+Service. - Internal linking between your service pages.
That’s it. Don’t get talked into “advanced SEO” by an agency from out of state. The basics, executed weekly, will win 95% of the local market.
Step 6: Track what matters
Stop watching keyword rankings. Track:
- Calls from GBP (built-in tracking)
- Form submissions (Google Tag Manager + GA4)
- Quote requests closed (you, in your CRM)
- Cost per closed job (your bookkeeper)
Local SEO isn’t done when you’re #1. It’s done when your phone rings with the kind of jobs you actually want.
The ugly truth
Most Bozeman businesses we audit have never done any of this. Which means the playbook above is your unfair advantage — for now.
Want a free local SEO audit showing exactly where you stand vs. your top three competitors? Send us your URL. We’ll send back a 3-page PDF with the gap analysis. No sales call required.
Like This?
Get a free ROI audit.
We'll show you exactly where your site is leaking money — and what fixing it is worth.