seo-local
agricidaniel/claude-seo
Audit local SEO: Google Business Profile, NAP consistency, citations, reviews, schema, and multi-location structure.
What is seo-local?
Analyzes local search optimization for brick-and-mortar, service-area, and hybrid businesses. Detects business type and industry vertical, then audits Google Business Profile signals, review velocity and reputation, local on-page SEO, NAP consistency, citations, local schema markup, and multi-location site structure to identify ranking factors and AI visibility gaps.
- Detect business type (brick-and-mortar, service-area, hybrid) and industry vertical (restaurant, healthcare, legal, home services, real estate, automotive) to route industry-specific checks
- Audit Google Business Profile signals: primary/secondary categories, posts, photos, Q&A, verified badge, hours visibility, and link strategy
- Analyze review velocity, recency, rating distribution, owner response patterns, and multi-platform presence; flag review gating violations
- Evaluate local on-page SEO: city/service keywords in title and H1, NAP visibility, dedicated service pages, doorway page risk, embedded maps, and internal linking architecture
- Check NAP consistency across page HTML, schema, and GBP; verify citation presence on Tier 1 directories
- Validate LocalBusiness schema markup with proper @id, address, phone, and aggregateRating; detect multi-location structure (subdirectories vs subdomains)
How to install seo-local
npx skills add https://github.com/agricidaniel/claude-seo --skill seo-localHow to use seo-local
- 1.Install the skill: `npx skills add https://github.com/agricidaniel/claude-seo --skill seo-local`
- 2.Invoke with a URL: provide the website URL of the business or location page to audit
- 3.Review the analysis output for GBP signals, review metrics, on-page SEO gaps, NAP consistency issues, and citation presence
- 4.Prioritize fixes by impact: correct primary GBP category first, then improve review velocity, then dedicate service pages, then fix NAP inconsistencies
- 5.For multi-location sites, run the audit on representative location pages to identify patterns (doorway pages, thin content, schema errors)
Use cases
- Local service business (plumber, electrician, HVAC) wants to improve local pack rankings and review velocity before a seasonal campaign
- Multi-location franchise needs to audit 50+ location pages for NAP consistency, doorway page risk, and schema implementation across subdirectory structure
- Healthcare practice reviewing GBP optimization, review response compliance (HIPAA), and citation presence on medical directories
- Restaurant chain analyzing Google Business Profile category alignment, photo/menu integration, and local on-page SEO for each location
- Real estate brokerage auditing location pages for unique content, local testimonials, and internal linking to avoid thin-content penalties
- Local SEO specialists and agencies managing brick-and-mortar or service-area clients
- Multi-location business owners and franchise managers
- Healthcare, legal, and home-services practitioners optimizing for local search
- E-commerce or SaaS teams launching local service pages or location-based content
- Marketing teams preparing for seasonal local campaigns or new market entry
seo-local FAQ
Brick-and-mortar has a visible physical street address and/or Google Maps embed; service-area business (SAB) has no physical address but mentions serving specific regions; hybrid has both. Detection determines which checks apply (e.g., SABs skip embedded map verification).
Google's fake engagement policy and FTC regulations ($53,088/violation) prohibit pre-screening satisfaction before directing customers to review platforms. The skill detects this pattern to help you stay compliant.
A doorway page is location content where swapping the city name leaves the rest unchanged (e.g., generic HVAC service copy for 50 locations). One case study lost 80% rankings and 63% traffic after March 2024 Core Update. The skill uses the RicketyRoo method to detect this risk.
Industry consensus is 60–70% minimum unique content per location page. The skill flags thin or duplicate location pages that risk suppression.
Yes. Sterling Sky's Diversity Update found that linking to your strongest website page from GBP risks suppressing organic rankings. The skill checks your GBP link strategy to avoid this trap.
Full instructions (SKILL.md)
Source of truth, from agricidaniel/claude-seo.
name: seo-local description: > Audit local SEO, including Google Business Profile, NAP consistency, citations, reviews, local schema, location pages, and multi-location structure. user-invocable: true argument-hint: "[url]" license: MIT metadata: author: AgriciDaniel version: "2.4.1" category: seo
Local SEO Analysis (March 2026)
Key Statistics
| Metric | Value | Source |
|---|---|---|
| GBP signals share of local pack weight | 32% | Whitespark 2026 |
| Proximity share of ranking variance | 55.2% | Search Atlas ML study |
| Review signals share (up from 16%) | ~20% | Whitespark 2026 |
| Google searches seeking local info | 46% | Industry data |
| Mobile "near me" searches leading to visit in 24h | 76% | Google confirmed |
| ChatGPT/AI usage for local recommendations | 45% (up from 6%) | BrightLocal LCRS 2026 |
| ChatGPT local conversion rate | 15.9% | Seer Interactive |
| Google organic local conversion rate | 1.76% | Seer Interactive |
| Local pack ads growth (Jan 2025 to Jan 2026) | 1% to 22% | Sterling Sky |
Business Type Detection
Detect from page signals before analysis. This determines which checks apply.
Brick-and-Mortar
- Physical street address visible in page content or footer
- Google Maps embed with pin/directions
- "Visit us at", "Located at", "Come see us"
- Structured address in LocalBusiness schema
Service Area Business (SAB)
- No visible physical address
- Service area mentions: "serving [city/region]", "service area includes"
- "We come to you", "On-site service", "Mobile [service]"
areaServedin schema withoutaddress.streetAddress
Hybrid
- Both physical address AND service area language present
- "Visit our showroom" combined with "We also serve [areas]"
Impact on checks: SABs skip embedded map verification and physical address consistency. Brick-and-mortar gets full NAP + map checks.
Industry Vertical Detection
Detect from page signals and GBP category patterns. Routes to industry-specific checks from ../seo/references/local-schema-types.md.
| Vertical | Detection Signals |
|---|---|
| Restaurant | /menu, menu items, reservations, cuisine types, food ordering, "dine-in", "takeout" |
| Healthcare | insurance accepted, patients, appointments, NPI, medical terms, "Dr.", HIPAA notice |
| Legal | attorney, lawyer, practice areas, bar admission, case results, "free consultation" |
| Home Services | service area, emergency service, "free estimate", licensed/insured/bonded, "24/7" |
| Real Estate | listings, MLS, properties for sale/rent, agent bio, brokerage, "open house" |
| Automotive | inventory, VIN, test drive, dealership, service department, "new/used/certified" |
If no vertical detected, use generic LocalBusiness analysis path.
Analysis Dimensions
1. GBP Signals (25%)
Primary category is the single most important local pack factor (Whitespark #1, score: 193). Incorrect primary category is the #1 negative factor (score: 176).
Check for:
- GBP embed or reference detectable on page (Maps iframe, place ID, reviews widget)
- Primary category appropriateness (infer from page content vs visible GBP data)
- Evidence of secondary categories (optimal: 4 additional per BrightLocal)
- GBP posts presence (no direct ranking impact per WebFX, but triggers Post Justifications)
- Photos/video evidence (45% more direction requests with photos, Agency Jet)
- Q&A content: Google discontinued its Q&A API on 2025-11-03 and public Q&A is reportedly being phased out; answer common questions on the website and in the business description instead, and treat any remaining public Q&A as a bonus
- Google Verified badge eligibility (replaced Guaranteed/Screened in Oct 2025)
- GBP link URL strategy: do NOT link to strongest website page (Sterling Sky Diversity Update -- risks suppressing organic rankings)
- Business hours visibility on page (businesses open at search time rank higher, factor #5)
Scoring guide:
- Full: GBP embed present, category signals align, posts active, photos present
- Partial: Some GBP signals present but incomplete
- Low: No visible GBP integration on website
2. Reviews & Reputation (20%)
Review velocity matters more than total count. In Sterling Sky's 2025 study of 8,186 businesses, one case-study business that stopped getting reviews for 18 days lost rankings sharply while steadier competitors held. Treat it as an illustrative example, not a fixed threshold.
Check for:
- Total Google review count visible on page or schema (magic threshold: 10, Sterling Sky)
- Star rating (31% of consumers only use 4.5+, 68% only use 4+, BrightLocal 2026)
- Review recency indicators (74% only care about reviews in last 3 months)
aggregateRatingin schema (ratingValue, reviewCount, bestRating)- Third-party review presence (consumers use average of 6 review sites, BrightLocal 2026)
- Owner response patterns (88% would use business that responds, BrightLocal)
- Review gating detection: any pre-screening of satisfaction before directing to review platform is prohibited by Google (fake engagement policy) and FTC ($53,088/violation)
Industry-specific:
- Healthcare: HIPAA prohibits confirming/denying reviewer is a patient in responses
- Legal: attorney-client privilege considerations in review responses
Scoring guide:
- Full: 10+ reviews, 4.5+ stars, recent activity, owner responses, multi-platform presence
- Partial: Some reviews but gaps in recency, rating, or response rate
- Low: <10 reviews, no recent activity, no responses, single platform only
3. Local On-Page SEO (20%)
Dedicated service pages = #1 local organic factor AND #2 AI visibility factor (Whitespark 2026).
Check for:
- Title tag contains city/service keywords
- H1 tag with local intent (city + service)
- NAP (Name, Address, Phone) visible in page HTML (footer, contact section, header)
- Dedicated service pages (one page per core service)
- Location page quality for multi-location sites:
- >60-70% unique content minimum (industry consensus, no Google-confirmed threshold)
- Swap test: if you can swap the city name and content still makes sense, it's a doorway page (RicketyRoo method). HVAC company lost 80% rankings + 63% traffic after March 2024 Core Update for this pattern
- Local photos, area-specific testimonials, local FAQs
- Embedded Google Map (geographic signal reinforcement, not direct ranking factor -- lazy-load to mitigate speed impact)
- Click-to-call button (
tel:link) and contact form above the fold - Internal linking architecture: hub-and-spoke, every critical page within 3 clicks of homepage
- 2-5 contextual internal links per 1,000 words with descriptive anchor text
Multi-location specific:
- Store locator with individual crawlable URLs (SSR/SSG preferred over CSR)
- Subdirectory structure:
domain.com/locations/city-name/(subdirectories consolidate link equity better, Bruce Clay: 50%+ traffic lift) - Each location page has unique LocalBusiness schema with
@id
Scoring guide:
- Full: City in title + H1, NAP visible, dedicated service pages, no doorway patterns, good internal linking
- Partial: Some local signals but missing service pages or doorway page risk
- Low: Generic title/H1, NAP not visible, thin location pages
4. NAP Consistency & Citations (15%)
Citations declining for traditional pack rankings but 3 of top 5 AI visibility factors are citation-related (Whitespark 2026). Google's July 2025 documentation update removed "directories" from prominence definition.
Check for:
- NAP extraction: compare Name, Address, Phone from:
- Visible page HTML (footer, contact page)
- LocalBusiness JSON-LD schema
- Any visible GBP data
- Flag any discrepancies between these three sources
- Citation presence on Tier 1 directories (check via WebFetch or site: search patterns):
- Google Business Profile signals on page
- Yelp:
site:yelp.com "Business Name" - BBB:
site:bbb.org "Business Name" - Facebook business page references
- Apple Maps / Apple business listings awareness: claim and maintain Apple listings; treat Apple Business unified-platform launch/rename claims as TechRadar-sourced and verify against Apple primary before asserting.
- Bing Places awareness (powers ChatGPT, Copilot, Alexa -- recommend claiming and optimizing)
- Industry-specific directory recommendations: load
../seo/references/local-schema-types.mdfor per-vertical citation sources - Data aggregator awareness: Data Axle, Foursquare, Neustar/TransUnion (recommend submission for downstream distribution)
- Regional Search units: in the EEA, Google's aggregator and supplier units also cover local business queries since 2026-09-18; Türkiye has separate places-site features (see
seo-hreflangsection 5c); note this for businesses serving those markets
Scoring guide:
- Full: Consistent NAP across page/schema, Tier 1 citations detected, industry directories present
- Partial: NAP present but inconsistencies, some citations missing
- Low: NAP discrepancies, no detectable citations, no schema address
5. Local Schema Markup (10%)
Schema is NOT a direct ranking factor (John Mueller confirmed). But enables rich results (43% CTR increase, Webstix case study) and helps AI systems parse business information.
Check for:
- LocalBusiness schema presence (extract JSON-LD blocks)
- Required properties:
name,addresswith PostalAddress sub-properties - Recommended properties:
geo(minimum 5 decimal places, Confirmed),openingHoursSpecification,telephone,url,priceRange(<100 chars),image,aggregateRating - Correct subtype for industry -- load
../seo/references/local-schema-types.md:- Restaurant using
Restaurantnot genericLocalBusiness - Legal using
LegalServicenot deprecatedAttorney - Auto dealer using
AutoDealernot deprecatedVehicleListing - Healthcare using
MedicalClinic/Hospital/Dentistnot genericMedicalBusiness
- Restaurant using
- SAB-specific:
areaServedwith named cities (recommended, not in Google's official list but Schema.org supported) - Multi-location: each location page has own LocalBusiness with unique
@id, linked viabranchOfto Organization on homepage - Industry-specific schema patterns (per
../seo/references/local-schema-types.md):- Restaurant: Menu + MenuSection + MenuItem + ReserveAction (note: Reservation/Order actions are not Google-supported rich results; value is machine-readable business data)
- Healthcare: Physician (Person) + MedicalSpecialty + sameAs to NPI
- Legal: LegalService + Person + Service (practice areas)
- Home Services: Subtype + areaServed + Service
- Real Estate: RealEstateAgent + Person + RealEstateListing
- Automotive: AutoDealer + Car + Offer (separate dept schemas)
Scoring guide:
- Full: Correct subtype, all recommended properties, industry-specific patterns, valid JSON-LD
- Partial: LocalBusiness present but generic type or missing recommended properties
- Low: No local schema, or schema with errors/placeholder content
6. Local Link & Authority Signals (10%)
Links declining for local pack but remain ~26% of local organic ranking (Whitespark 2026, #2 factor group). "Best of" list placements = #1 AI visibility citation factor.
Check for:
- Local backlink indicators detectable from page:
- Chamber of Commerce mentions or links (high Trust Flow, ~80% more consumer visits, GlueUp)
- BBB accreditation/badge (Google uses BBB for business verification)
- Local news/press mentions
- Community involvement signals (sponsorships, local events, partnerships)
- "Best of" list presence (top AI visibility factor per Whitespark 2026)
- Digital PR signals: 66.2% of PR practitioners now track AI citations as KPI (BuzzStream 2026)
- Brand mentions correlate 3x more strongly with AI visibility than traditional backlinks (Ahrefs: 0.664 vs 0.218 correlation)
- Link velocity benchmark: 5-10 quality local links/month for small businesses (consensus)
Scoring guide:
- Full: Local authority signals visible (chamber, BBB, press), community involvement evident
- Partial: Some authority signals but limited local link indicators
- Low: No detectable local authority signals
AI Search Impact on Local
Do not duplicate seo-geo analysis. Provide local-specific AI context and recommend /seo geo <url> for full analysis.
Key local AI facts:
- AI Overviews appeared on 68% of local searches on average in Whitespark's 2025 sample (540 service-industry queries, 3 metros); broad keyword panels report far lower rates (seoClarity: ~0.14% of local keywords in March 2025), so coverage depends on the query set
- ChatGPT converts at 15.9% vs Google organic at 1.76% (Seer Interactive)
- 3 of top 5 AI visibility factors are citation-related (Whitespark 2026)
- ChatGPT does NOT access GBP directly -- sources from Bing index, Yelp, TripAdvisor, BBB, Reddit
- Bing Places is critical: powers ChatGPT, Copilot, Alexa
- Third-party observed local AI interface changes (mobile US) may show only 1-2 businesses, 32% fewer shown (Sterling Sky)
Recommendation: Run /seo geo <url> for comprehensive AI search visibility analysis including citability scoring, llms.txt check, and brand mention audit.
Reference Files
Load on-demand as needed:
../seo/references/local-seo-signals.md: Ranking factors, review benchmarks, citation tiers, GBP feature status, algorithm updates../seo/references/local-search-behavior.md: Voice search, AI search impact on local, Local Pack structure, proximity../seo/references/local-schema-types.md: LocalBusiness subtypes by industry, schema patterns, citation sources per vertical../seo/references/local-schema-multilocation.md: Multi-location schema pattern, deprecated local schema
Output
Generate LOCAL-SEO-ANALYSIS-{domain}.md with:
- Local SEO Score: XX/100 with dimension breakdown table
- Business type: Brick-and-mortar / SAB / Hybrid
- Industry vertical detected + industry-specific findings
- GBP optimization checklist (detected signals vs missing)
- Review health snapshot (rating, count, velocity indicators, response patterns)
- NAP consistency audit (page vs schema discrepancies, cross-source comparison)
- Citation presence check (Tier 1 directory status)
- Local schema status (present/missing/malformed + ready-to-use fix)
- Location page quality (if multi-location: unique content %, doorway risk, store locator)
- Top 10 prioritized actions (Critical > High > Medium > Low)
- Limitations disclaimer: What this analysis could NOT assess (geo-grid ranking, Domain Authority, comprehensive backlinks, GBP Insights data, real-time local pack position) and which paid tools can fill those gaps
Quick Wins
- Claim and optimize Apple Maps / Apple business listings; verify any Apple Business launch/rename claim against Apple primary first
- Claim and optimize Bing Places (powers ChatGPT, Copilot, Alexa)
- Fix any NAP discrepancies between page, schema, and GBP
- Add LocalBusiness schema with correct industry subtype
- Add
geocoordinates with 5+ decimal precision - Ensure phone number uses
tel:link for click-to-call - Add city + service keyword to title tag and H1
Medium Effort
- Create dedicated page for each core service (Whitespark: #1 local organic factor)
- Build a review generation strategy with a steady cadence (aim for no gaps longer than about 2 to 3 weeks)
- Submit to three data aggregators (Data Axle, Foursquare, Neustar/TransUnion) for downstream distribution
- Claim industry-specific directory listings (per vertical recommendations)
- Add industry-specific schema patterns (Menu for restaurants, Physician for healthcare, etc.)
- Implement hub-and-spoke internal linking for service/location pages
High Impact
- Build local digital PR strategy targeting "best of" lists (#1 AI visibility factor)
- Develop unique, non-swappable content for each location page (>60% unique)
- Establish presence on platforms ChatGPT sources from (Yelp, TripAdvisor, BBB, Reddit)
- Pursue Chamber of Commerce and BBB membership (authority + verification signals)
- Create community involvement content (sponsorships, local events, partnerships)
DataForSEO Integration (Optional)
If DataForSEO MCP tools are available, use business_data_business_listings_search for live GBP/business-listing data extraction and citation auditing across directories, and serp_organic_live_advanced for real-time local pack positions.
Error Handling
| Scenario | Action |
|---|---|
| URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess site content. Suggest the user verify the URL and try again. |
| No local signals detected on page | Report that no local business indicators were found. Suggest the user confirm this is a local business and provide the GBP listing URL if available. |
| NAP not found in page HTML | Check schema and meta tags. If still absent, flag as Critical issue. Recommend adding visible NAP to footer and contact page. |
| Industry vertical unclear | Present the top two detected verticals with supporting signals. Ask the user to confirm before applying industry-specific recommendations. |
| Multi-location with 50+ location pages | Apply the quality gates from seo orchestrator: WARNING at 30+ pages (enforce 60%+ unique), HARD STOP at 50+ pages (require user justification before continuing). |
FLOW Framework Integration
For prompt-guided local optimization, use /seo flow local <url>, FLOW's 11 local-stage prompts cover GBP optimization, meta descriptions, title tags, and structured local audit workflows.
Related skills
More from agricidaniel/claude-seo and the wider catalog.

seo-maps
Geo-grid rank tracking, GBP auditing, and cross-platform review intelligence for local SEO.

seo-page
Analyze on-page SEO, content quality, technical metadata, schema, images, and performance for a single URL.

seo-plan
Strategic SEO planning with industry templates, competitive analysis, and phased implementation roadmaps.

seo-programmatic
Plan and audit SEO pages generated at scale from structured data sources.

seo-schema
Detect, validate, and generate Schema.org JSON-LD markup for SEO rich results.

seo-sitemap
Analyze existing XML sitemaps or generate new ones with validation and industry templates.