
The hub-and-spoke silo is the single most under-covered structural pattern in local SEO. It is also the reason most local service sites stall, they're built as flat collections of pages rather than as topographical communities that pipe relevance signals up to the Google Business Profile.
This is the complete architecture guide. The three-tier hierarchy, the 1 UP + 2–3 ACROSS linking formula, why combo pages are forbidden, and the WP All Import workflow that deploys 20 neighborhood spoke pages in under two minutes.
Part of our Google Maps SEO in 2026 cluster.
Run the free GeoGrid scan, see which S2 cells need spoke pages before you build.
The Three-Tier Hierarchy
Everything starts with getting the page hierarchy right. Most local SEO failures are architectural, not content-quality failures.
Tier 1: Non-Geo Service Pages
These are your standalone, location-neutral service pages. One page per service, no city name in the URL, no city-specific body content.
Examples:
/ac-repair//emergency-plumbing//roof-replacement//personal-injury//family-law/
Tier 1: City Hub Page (Same Tier as Services)
One page per city you serve. This is the most important page on the site, it aggregates your geographic authority and routes it to the GBP.
Examples:
/las-vegas//henderson//scottsdale/
City hubs and service pages sit at the same tier because they're peers in the link graph, your site has two kinds of top-level content, service-category and city-level, and they cross-reference each other constantly.
Tier 2: Neighborhood / Spoke Pages
Child pages of the city hub. One per target Level-14 S2 cell (see our S2 Cells explainer for the mechanics).
Examples:
/las-vegas/summerlin//las-vegas/henderson//las-vegas/centennial-hills//las-vegas/paradise//las-vegas/spring-valley/
10–20 spoke pages per city is the sweet spot. More than that is usually diminishing returns. Fewer than that fails to cover enough S2 cells.
The Visual Structure
[Non-Geo Service Pages] [City Hub Page]
/ac-repair/ /las-vegas/
/emergency-plumbing/ │
/roof-replacement/ ┌─────┼─────┬─────┬─────┐
│ │ │ │ │ │
│ Summerlin Henderson Paradise ...
│ │ │ │ │ │
└─────── cross-link ──┘ │ │ │ │
[Neighborhood Spokes]
Every arrow in the diagram is an internal link. The specific linking pattern, the formula, is what makes the architecture actually work.
The Critical Rule: No Combo Pages
Before anything else, the rule that makes or breaks the silo:
Do not create URLs like /las-vegas-ac-repair/ or /henderson-roofing/.
Why Combo Pages Fail
Combo pages stack city and service in the same slug, which creates two failure modes:
Failure 1: Authority dilution. Google can't cleanly resolve whether the page is a city page or a service page. Its topical weight is split, and both the city and the service ranking footprints suffer.
Failure 2: Exponential content debt. If you serve 5 services across 10 cities, the combo-page approach produces 50 URLs. Each needs unique content to avoid Information Gain penalties. Almost nobody writes 50 unique pages. The boilerplate gets copy-pasted with city names swapped, Google discounts all of it.
The Silo Alternative
One service page per service (5 pages). One city hub per city (10 pages). 10–20 neighborhood spokes per city (100–200 pages, but bulk-deployed). Total: 115–215 clean, topically-focused URLs that each do one job well. Every page gets the full topical weight of its narrow focus. No dilution.
The Linking Formula: 1 UP + 2–3 ACROSS = Money
Every internal link in the silo follows a specific pattern. Break the pattern and the authority flow breaks with it.
For Each Neighborhood Spoke Page
- 1 link UP to the city hub: Placed in the first paragraph, above the fold, contextually (not just "click here"). Example: "ABC Roofing provides emergency roof repair across Las Vegas, including the Summerlin neighborhood."
- 2–3 links ACROSS to non-geo service pages: Pass topical authority. Example: a Summerlin roofing spoke page links to
/roof-replacement/,/emergency-repairs/,/gutter-services/. - 2–3 links ACROSS to geographically adjacent spokes: Not all of them. If your city has 20 neighborhoods, each spoke links to 2–3 neighbors, not 19.
For the City Hub Page
- Link to every non-geo service page
- Link to every neighborhood spoke page in that city
The city hub is the connective tissue. It sees every service and every neighborhood. That's why it's the highest-authority page on the site.
For Non-Geo Service Pages
- Link to the most relevant city hub(s), if you serve multiple cities, link to all of them
- Link to related blog articles (your pillar content and supporting posts)
- Zero location-specific body content (the city-ness lives on the hubs, not here)
Why Links Must Live in Body Content
Sidebar and footer links pass a fraction of the weight of in-body contextual links. Google can tell the difference because link context matters, an in-body link embedded in topical sentences carries anchor-text and contextual-proximity signals that sidebar links don't.
Use sidebar and footer for navigation (user experience). Use in-body links for authority routing (SEO).
The Why: How the Architecture Moves Rankings
The hub-and-spoke silo does three things simultaneously that flat sites can't.
1. Tells Google the Geographic Relationships
Google doesn't inherently know that Summerlin is a Las Vegas neighborhood. It knows only from signals, and the clearest signal is that your Summerlin page links UP to your Las Vegas hub in the first paragraph. That link says "Summerlin is part of Las Vegas" more clearly than any other on-page signal.
2. Boosts S2 Occupancy Cell-by-Cell
Each neighborhood spoke page targets a specific Level-14 S2 cell with unique content. That's S2 Occupancy engineered cell-by-cell. The hub-and-spoke linking pattern reinforces which cells are yours by concentrating authority flow.
3. Pipes Authority Up to the GBP
Juice flows up. Backlinks to your spoke pages pass authority to the city hub (via the 1-UP link). The city hub passes authority to your GBP (via the contact page, location schema, and brand mentions). Every link in the silo is a small contributor to your GBP's overall ranking weight.
A flat site with 100 service pages and no silo structure leaks authority badly. Each page has to earn its own backlinks to rank, which is capital-intensive. A silo concentrates earned authority at the hub and distributes it down.
Bulk Deployment: 20 Spoke Pages in 2 Minutes
Building 20 neighborhood spoke pages manually is punishing work. WP All Import, a free WordPress plugin, cuts the deployment time from weeks to minutes.
The Workflow
- Install WP All Import on your WordPress site.
- Prepare a Google Sheet or CSV with columns:
- Column A: Optimized Page Title ("Las Vegas Roofer | Summerlin Neighborhood")
- Column B: URL Slug ("summerlin")
- Column C: Full HTML content (with all internal links already baked in) - Upload the file in WP All Import → New Import → Upload File
- Map the fields: Title → A, Content → C, Slug → B
- Set Parent Page to the city hub (
/las-vegas/) - Confirm and run, all 20 pages deploy with the correct URL structure and perfect internal linking
Generating the HTML
The heavy lift is writing 20 genuinely unique spoke pages (80%+ unique per the Information Gain patent). Approaches that work:
- Operator-drafted with templates: Use a BERT-optimized template for structural consistency, then customize heavily per cell with real landmarks, microclimate, and local FAQ content
- AI-assisted with human editing: Fast drafting with an LLM, followed by substantial human edits to inject real cell-specific information (landmarks, cost data, photo captions)
- Agency-managed: Our Maps Domination Program™ handles spoke production as part of the 12-week protocol
Whatever the production method, the pages must be genuinely unique. Paraphrased boilerplate gets discounted.
What Goes Into Each Spoke Page
Every spoke needs:
- 1,000–1,500 words minimum
- 1 link UP to the city hub in the first paragraph
- 2–3 links ACROSS to service pages
- 2–3 links ACROSS to geographically adjacent spokes
- 1 featured image (real photo, on-location, GPS EXIF intact)
- 3–5 additional body images when available
- LocalBusiness + FAQ schema
- Sections covering: service overview, neighborhood-specific considerations (microclimate, landmarks, cost data), FAQs, CTA to call or apply
See the full spoke page requirements in the Information Gain section of the pillar.
Example Silo: Las Vegas Roofing Company
Concrete example of what a fully built silo looks like for a Las Vegas roofer.
Site Structure
HOMEPAGE
├── /ac-repair/
├── /emergency-plumbing/ (if multi-trade)
├── /roof-replacement/
├── /roof-repair/
├── /gutter-services/
├── /storm-damage/
├── /las-vegas/ (city hub)
│ ├── /las-vegas/summerlin/
│ ├── /las-vegas/henderson/
│ ├── /las-vegas/centennial-hills/
│ ├── /las-vegas/paradise/
│ ├── /las-vegas/spring-valley/
│ ├── /las-vegas/north-las-vegas/
│ ├── /las-vegas/boulder-city/
│ ├── /las-vegas/green-valley/
│ ├── /las-vegas/mountains-edge/
│ └── /las-vegas/enterprise/
├── /about/
├── /contact/
└── /blog/
Linking Example: Summerlin Spoke Page
The /las-vegas/summerlin/ page links:
- UP to
/las-vegas/(first paragraph) - ACROSS to
/roof-replacement/,/roof-repair/,/storm-damage/ - ACROSS to
/las-vegas/centennial-hills/and/las-vegas/mountains-edge/(geographic neighbors of Summerlin)
That's 1 UP link + 3 ACROSS to services + 2 ACROSS to adjacent spokes = 6 in-body internal links on the spoke page. Plus 0 links to the 7 non-adjacent neighborhoods (to avoid authority spray).
Linking Example: City Hub
The /las-vegas/ page links:
- DOWN to every service page (6 links)
- DOWN to every Las Vegas spoke page (10 links)
That's 16 internal links on the hub. Hub pages naturally have more links because they're the connective tissue.
Common Failure Modes
Failure 1: Linking Every Spoke to Every Other Spoke
Looks comprehensive, actually dilutes authority. Each spoke should link to 2–3 geographic neighbors only. A spoke with 19 cross-spoke links is sending a weaker signal to each one than a spoke with 3 targeted cross-spoke links.
Failure 2: Combo Pages Anyway
Someone builds /las-vegas-roofing/ in addition to /las-vegas/ and /roof-replacement/. Now there are three pages competing for the same queries, authority splits, and none of them rank well.
Failure 3: Thin Spoke Content
Deploy 20 spoke pages, each with 400 words of paraphrased boilerplate. Information Gain patent discounts all of them. S2 Occupancy doesn't move.
Failure 4: No Links in Body Content
Spokes link to city hub only via sidebar or footer. Weak signal, barely moves the needle.
Failure 5: Spokes Without Real Photos
Stock photos or AI-generated imagery across all spokes. Google detects and discounts. RSVM signal fails.
Hub-and-Spoke Silo FAQ
How many neighborhood spoke pages should I build?
10–20 per city, matched to the 10–20 Level-14 S2 cells that carry the commercially meaningful portion of your service area. More than that is usually diminishing returns. Fewer than that fails to cover enough cells to shift K-cluster selection.
Do neighborhood spoke pages rank on their own?
Sometimes, for very specific long-tail queries ("roofer in Summerlin Las Vegas NV"). The primary purpose, though, is S2 Occupancy engineering and authority flow to the city hub, not direct traffic to the spoke itself.
What if I serve multiple cities?
Build one city hub per city, each with its own set of neighborhood spokes. Service pages are shared across cities (they're location-neutral). Link each service page to all of your city hubs.
Can I use a "service areas" page instead of individual spokes?
No. A service-areas landing page doesn't target individual S2 cells with unique content. It fails the Information Gain requirement and doesn't move S2 Occupancy. The individual spoke is load-bearing.
What if my business only serves one small town?
You still need city hub + neighborhood spokes. A single-town business might have 5–8 distinct neighborhoods worth spoking. Or the city hub alone might be sufficient in a genuinely small market. Run a GeoGrid scan to see the cell coverage and decide.
How long does hub-and-spoke deployment take?
Physical deployment: under 2 minutes with WP All Import once the content is ready. Content production: 10–20 unique spoke pages is 2–3 weeks of operator work, or 1 week of managed delivery in the 12-week protocol.
Do I need to rebuild my site to use hub-and-spoke?
Not completely. Most sites already have service pages (maybe poorly structured). Add the city hub (new URL) and the neighborhood spokes (new URLs), then fix internal linking on existing service pages to connect into the silo. Six to eight weeks of incremental build usually completes it.
Does this apply to e-commerce or just service businesses?
The specific hub-and-spoke pattern described here is for local service businesses targeting Google Maps Map Pack. E-commerce sites use topic clusters with different architecture. Physical retailers with multiple locations and service delivery can adapt the pattern, city hubs work for them too.
Next Step: See Which S2 Cells Need Spokes
Building spoke pages without knowing your current cell coverage is guesswork. The free GeoGrid scan shows exactly which S2 cells are weak and need spoke attention.
Thirty seconds to start. Heatmap by email in two minutes. Your grid coverage, competitor positions, dollar leak estimate.
If your scan reveals broad invisibility and your vertical plus territory is open, the Maps Domination Program™ deploys the full hub-and-spoke silo (plus BERT service pages, review cadence, entity trust) in 12 weeks or you don't pay the success fee. One business per vertical per area.
Methodology from The Google Maps Domination Playbook by Nick Thompson. For the broader framework, see Google Maps SEO in 2026 and the S2 Cells explainer.


