local-landing-pages
Local Landing Pages & Content
You are an expert in creating location-specific pages and locally-relevant content that ranks in local search. Your goal is to build pages with genuine local value — not thin doorway pages with swapped city names.
Core Principle: Unique Value Per Page
Google's doorway page penalty targets pages that swap city names with identical content, exist only to funnel to a single location, and provide no unique value. Every page must earn its existence.
Page Types
Type 1: Physical Location Pages
For businesses with a storefront at that address.
- URL:
/locations/buffalo-ny/ - Full NAP, embedded map, location-specific hours
- Driving directions, parking, team members at that location
- LocalBusiness schema with unique
@id - Unique photos and reviews from that location
Type 2: Service-Area Pages
For cities/areas served without a storefront there.
- URL:
/service-area/orchard-park-ny/or/plumbing/orchard-park-ny/ - Service + area in title, H1, meta
- Content about serving that specific area with local context
- CTA with click-to-call phone number
- Service schema with
areaServed
Type 3: Service × Location Pages
Highest intent — intersection of specific service and location.
- URL:
/emergency-plumbing/buffalo-ny/ - Service details specific to that area
- Local regulations, pricing, case studies
- FAQ specific to service + location
Page Template
Title: [Primary Service] in [City, ST] | [Brand Name]
Meta: [Service benefit] in [City]. [Differentiator]. [CTA]. Call [phone].
H1: [Primary Service] in [City/Area]
Page Structure
- Hero: Service + location, primary CTA, trust signals
- Service overview: What you do in this area (2-3 paragraphs)
- Why choose us: Differentiators for local customers
- Service details: Specific offerings with descriptions
- Local context: Area-specific information (see uniqueness strategies)
- Social proof: Reviews from customers in this area
- FAQ: Location-specific questions
- CTA: Phone, form, or scheduling
Uniqueness Strategies
These separate ranking pages from penalty-worthy doorway pages:
Local context: Neighborhoods served, local building types, climate-specific needs, local regulations/permits, distance from your location.
Local social proof: Reviews from that area, case studies with location details, before/after photos from local jobs.
Local data: Service statistics, common area-specific problems, pricing ranges, response times.
Local partnerships: Relationships with local businesses, community involvement, organization memberships.
Local Content Strategy
Beyond location pages, locally-relevant content builds topical authority and creates internal linking opportunities.
Content Types
- Service education: "How much does [service] cost in [city]?" / "How to choose a [provider] in [area]"
- Local guides: Neighborhood guides relevant to your service area
- Case studies: Before/after with location details, problem → solution
- FAQ / knowledge base: Questions customers actually ask, local variations
- Community content: Local events, sponsorship recaps, local partnerships
Content Planning
- Core service keywords + location modifiers
- "People also ask" for local variations
- Google Autocomplete for
[service] + [city]queries - GBP Q&A and reviews for real customer questions
- Competitor content gaps
Cadence
2-4 pieces/month. Mix of education, case studies, and local guides. Align with seasonal demand. Repurpose into GBP posts, social, email.
Quality Standards
- 800-1500 words standard, 1500-2500 for guides
- Original local insights, not rewritten generic content
- Author byline, updated date visible
- Internal links to service and location pages
Internal Linking Architecture
Hub and Spoke
/services/plumbing/ (hub)
├── /plumbing/buffalo-ny/ (spoke)
├── /plumbing/orchard-park/ (spoke)
├── /plumbing/hamburg-ny/ (spoke)
Every location page links to main service page. Location pages link to nearby locations ("Also serving..."). Service pages link to location pages. Homepage links to priority locations. All within 3 clicks.
Breadcrumbs: Home > Services > Plumbing > Buffalo, NY with BreadcrumbList schema.
Scale Considerations
5-20 pages: Hand-craft each. Full unique content. 20-100: Template + required unique sections. 300+ unique words per page minimum. 100+: Programmatic approach. Need reliable per-page data source. Question: is there genuine search demand?
Quality Check
- Would this help a real person in this area?
- Is there unique content beyond city name swap?
- Does search demand exist?
- Would you show this to Google's webspam team?
Schema for Location Pages
Physical Location
{
"@context": "https://schema.org",
"@type": "Plumber",
"@id": "https://example.com/locations/buffalo-ny/#business",
"name": "Smith Plumbing - Buffalo",
"address": { ... },
"geo": { "latitude": "42.8864", "longitude": "-78.8784" },
"areaServed": { "@type": "City", "name": "Buffalo, NY" }
}
Service-Area Page
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Emergency Plumbing",
"provider": { "@type": "LocalBusiness", "@id": "..." },
"areaServed": { "@type": "City", "name": "Orchard Park, NY" }
}
Common Mistakes
- City name swapping with identical content
- Creating pages for areas with no search volume
- Orphan location pages with no internal links
- Missing schema markup
- Duplicate meta tags across location pages
- Thin content (100 words and a map)
Task-Specific Questions
- Physical locations or service areas (or both)?
- How many pages needed?
- What service × location combinations matter most?
- What unique local content is available per area?
- Current site structure?
What to Do Next
| What You Found | Next Action | Skill |
|---|---|---|
| Pages created, need schema markup | Add LocalBusiness schema to each location page | local-schema |
| Pages live but not ranking | Run geogrid scans to measure impact, check GBP links to the right pages | geogrid-analysis, gbp-optimization |
| SAB business needs area pages differently | Follow SAB-specific page strategy | service-area-seo |
| Pages need backlinks to rank | Build local links pointing to the new pages | local-link-building |
| Managing pages for 10+ locations | Systematize template + unique content approach | multi-location-seo |
| Pages can be repurposed as GBP content | Turn page themes into weekly GBP posts | gbp-posts |
Default next step: After publishing pages, link them from GBP (website URL for the right location) and run a geogrid scan 2-4 weeks later to measure impact.
Tools for This Skill
See docs/tool-routing to pick based on what's connected.
- Keyword data (for page targeting) → keyword research tools (multiple options)
- Page performance (existing pages) → Google Search Console + Google Analytics
- Technical audit (at scale) → technical audit tools (multiple options)
More from garrettjsmith/localseoskills
gbp-optimization
When the user wants to set up, optimize, or manage a Google Business Profile, or improve visibility in Google's local map pack. Also use when the user mentions "GBP," "Google Business Profile," "Google My Business," "GMB," "business listing," "Google Maps listing," "optimize my profile," "map pack," "local pack," "3-pack," "Google Maps ranking," or "why am I not in the map pack." For review strategy, see review-management. For GBP posts, see gbp-posts. For suspension issues, see gbp-suspension-recovery.
10service-area-seo
When the user operates a service-area business (SAB) without a public storefront. Also use when the user mentions "service area business," "SAB," "no storefront," "hide my address," "mobile business," "home-based business SEO," or "I go to the customer." For location page creation, see local-landing-pages. For GBP setup, see gbp-optimization.
7lsa-ads
When the user wants help with Google Local Services Ads (LSAs), the pay-per-lead ad format with Google Guaranteed or Google Screened badges. Also use when the user mentions "LSA," "Local Services Ads," "Google Guaranteed," "Google Screened," "pay per lead," "LSA ranking," "LSA leads," "LSA disputes," or "LSA budget." For map pack ads, see local-search-ads. For geographic PPC, see local-ppc-ads.
6brightlocal-tool
When the user wants citation audits, citation building, review monitoring across platforms, GBP audit scoring, or white-label local SEO reports. Trigger on "citation audit," "check my citations," "NAP consistency," "where am I listed," "BrightLocal," "directory listings," "review monitoring," or "client report.
6local-search-ads
When the user wants to run ads that appear inside the Google Maps local pack / map pack results. Also use when the user mentions "local search ads," "map pack ads," "ads in the map results," "local pack ads," "Google Maps ads," "location extensions ads," or "promoted pins on Google Maps." For LSAs (pay-per-lead), see lsa-ads. For standard geographic PPC, see local-ppc-ads.
6ahrefs-tool
When the user wants backlink analysis, link gap analysis, competitor link profiles, referring domain data, or link building research. Trigger on "backlinks," "who links to," "link profile," "referring domains," "link gap," "Ahrefs," "link building research," or "why do they outrank me" (often a link authority issue).
6