DANIYOURSEOGUY
Home / Portfolio / Florida-area Roofer

12 CITIES
FROM ONE DOMAIN

This roofer ranked in just 2 cities and wanted to grow without opening new offices. Here's the exact "service-area silo" method that put him in the Maps pack across 12 distinct cities — including towns he'd never advertised in.

2 → 12
Cities ranked
3x
Lead volume
40%
Bookings from new cities
Where we started

A great roofer, ranking in only two towns

He could drive 45 minutes in any direction and happily take the work — but Google only knew him in two cities: his home base and the town next door. Every other market was invisible. He assumed he'd need a physical office in each city to rank there. He didn't.

The core idea

One website, a dedicated page per city

Google ranks pages, not just businesses. So instead of one generic "Areas We Serve" page, I built a separate, genuinely useful page for each city — a "silo." When someone in a new town searches "roof repair near me," there's now a page that's clearly about their town for Google to rank. Done right, this works without ever leaving your existing domain.

The trap most people fall into: they copy-paste one page and swap the city name. Google treats that as duplicate, low-value content and ignores it — sometimes it even hurts. The whole game is making each city page genuinely different and genuinely local.

The work — step by step

How the 12-city silo was actually built

1

Mapped the real opportunity

Listed every city and ZIP within a sensible drive, then checked search demand and competition for each. We prioritized the 12 markets with real homeowner searches and beatable competition.

2

Wrote hyper-local content for each city

Each page covers that town specifically: common roof styles, local weather and storm patterns, local building codes and permit notes, nearby neighborhoods, and real jobs completed there. That local detail is what tells Google the page deserves to rank in that city.

3

Linked everything together cleanly

Connected service pages to city pages with sensible internal links so Google could understand the structure — without spammy keyword stuffing that triggers thin-content penalties.

4

Built local citations per city

Added listings in each city's chamber of commerce, BBB, and local directories — unique to that market — so each city had its own web of consistent local signals pointing back to him.

5

Expanded the Google profile's service area

Updated the Google Business Profile to list all 12 service areas, and posted city-specific updates and job photos. This connected the Maps side of Google to the website pages we'd built — the two reinforce each other.

Reach, before and after
Cities ranked — before2
Cities ranked — after12
Lead volume — before1x
Lead volume — after3x
New-city bookings
40% of new jobs from new cities
The result

Booking jobs in towns he'd never even marketed in

Twelve months later he ranked in 12 distinct cities, lead volume tripled, and 40% of new bookings came from cities he previously didn't touch — all from his single existing website. No new offices, no new trucks parked in other towns. Just pages Google could trust and rank.

What this means for your roofing business

If you'll drive to a town to do the work, you can rank there — you just need a real page that proves you serve it. Done properly, one website can dominate an entire region. That's the multi-city silo, and it's one of the highest-ROI moves in roofing SEO.

Want to grow your map?

Rank in every town you serve.

Free 30-minute audit — I'll map out which nearby cities you could realistically own.

Get My Free Audit
Call Now Free Audit