From local-seo-skills
Provides templates, page types, and uniqueness strategies for creating SEO-optimized local landing pages, service-area pages, and city pages that avoid Google's doorway page penalties.
npx claudepluginhub garrettjsmith/localseoskillsThis skill uses the workspace's default tool permissions.
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.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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.
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.
For businesses with a storefront at that address.
/locations/buffalo-ny/@idFor cities/areas served without a storefront there.
/service-area/orchard-park-ny/ or /plumbing/orchard-park-ny/areaServedHighest intent — intersection of specific service and location.
/emergency-plumbing/buffalo-ny/Title: [Primary Service] in [City, ST] | [Brand Name]
Meta: [Service benefit] in [City]. [Differentiator]. [CTA]. Call [phone].
H1: [Primary Service] in [City/Area]
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.
Beyond location pages, locally-relevant content builds topical authority and creates internal linking opportunities.
[service] + [city] queries2-4 pieces/month. Mix of education, case studies, and local guides. Align with seasonal demand. Repurpose into GBP posts, social, email.
/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.
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?
{
"@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" }
}
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Emergency Plumbing",
"provider": { "@type": "LocalBusiness", "@id": "..." },
"areaServed": { "@type": "City", "name": "Orchard Park, NY" }
}
| 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.
See docs/tool-routing to pick based on what's connected.