Geographic hierarchy
Core URL tree · Depth 1–4
Home
× 1
/
National entry point. Browse by state or let geo-detection surface local results.
Geo-Aware Homepage — Key Feature
Detects visitor location at the Cloudflare edge (CF-IPCountry / CF-IPCity headers) or falls back to browser
navigator.geolocation with permission prompt.
✦ Near You (primary)
Surfaces "Cities Near You" + top-rated businesses within ~50 mi. Edge-rendered, no JS required for initial paint.
◇ Browse by State (fallback)
Full alphabetical state grid always visible. Fallback if geo fails or user is outside service area.
LocalBusiness schema
Edge geo detect
FAQ block
State
× ~50
/{state}/
State hub — grids all cities with active listings, highlights top businesses in state.
→ all cities
State Page schema
City
× ~3–4K
/{state}/{city}/
City hub — lists all businesses, top services offered in the city, nearby city links.
→ businesses
↔ nearby cities
City schema
Location (Business)
× ~23.5K
/{state}/{city}/{business}/
Per-business profile page. GBP data, services, reviews, photos, hours, NAP, "also serving" SAB cities, schema markup. Converts visitors → calls.
Reviews embed
LocalBusiness + Review schema
Service FAQ
→ SAB cities
Location × Service
× on-demand
/{state}/{city}/{business}/{service}/
A specific business's detail page for one service. Deepest crawlable node — generated only for businesses with that service confirmed.
Service schema
Service-Area "Also Serving"
cross-link
not a separate URL tier
SAB pattern: on Location page, a "Cities We Serve" block links laterally to sibling /{state}/{city}/ pages, spreading internal equity without creating new URL depth.
↔ lateral links
→ nearby city hubs
Service dimension
Parallel URL tree · Crosses geo hierarchy
Service Landing
× 6
/services/{service}/
Top-of-funnel for a service category. National overview, links to all State × Service combos. Thin but strong anchor for service taxonomy.
Service schema
→ all states
Service × State
× ~300
/services/{service}/{state}/
Service hub for a state — which cities have businesses offering this service, top providers.
→ service × cities
Service × City
× ~20K+
/services/{service}/{state}/{city}/
Programmatic SEO workhorse. Targets "air duct cleaning [city]" queries. Lists all businesses in city offering this service. Interlinks to Location pages and sibling service-city pages to form the SEO web.
LocalBusiness + ItemList schema
↔ sibling services
→ location pages
Local FAQ
Page Scale Overview
Total indexable pages: ~50K+. Locations + Svc×City form 87% of the index.
Internal Link Strategy
Breadcrumbs
Every page carries a full breadcrumb trail upward through the hierarchy.
Location → City → State → Home
Hub → Spoke
State pages link out to all child cities. Service landing links to all Svc×State pages. City pages link to all their businesses.
State → Cities → Businesses
Lateral
City pages link to geographically nearby cities. Location pages link to SAB "also serving" cities. Svc×City pages link to sibling service-city pages for same city.
City ↔ Nearby City · Biz → SAB cities
Matrix Web
Service×City ↔ Location creates a dense interlinking web: each Svc×City page lists businesses; each business page links back to relevant service-city pages.
Svc×City → Locations → Svc×City
Footer Matrix
Site-wide footer carries: Top States (A–Z browse), All 6 Services, Top 20 Metro Cities. Passes equity globally.
Every page → top states/services/cities
Service × Geo Matrix (SEO Web)
Dryer Vent
HVAC Clean
Furnace
Texas
Svc×State
Svc×State
Svc×State
Austin TX
Svc×City
Svc×City
Svc×City
Round Rock
Svc×City
pending
Svc×City
Cedar Park
pending
Svc×City
pending
Each cell = one programmatic SEO page. 6 services × ~3–4K cities = ~20K+ Svc×City pages forming the bulk of the index. Green = published, muted = business-gated (generated only when listings exist).
Schema.org Markup by Page Type
| Page Type | Schema Types |
|---|---|
| Home | WebSite, Organization, FAQPage |
| State / City | WebPage, BreadcrumbList |
| Location | LocalBusiness (HomeAndConstructionBusiness), Review, AggregateRating, GeoCoordinates |
| Svc × City | ItemList, LocalBusiness (repeated), FAQPage, BreadcrumbList |
| Service Landing | Service, WebPage |