seo-local

Local SEO analysis covering Google Business Profile optimization, NAP consistency, citation health, review signals, local schema markup, location page quality, and industry-specific recommendations for six vertical types.

Diagnose local pack visibility across GBP, citations, and reviews

Source AgriciDaniel
License MIT
First documented

Trigger phrases

Phrases that activate this skill when typed to Claude Code:

  • local SEO
  • Google Business Profile
  • map pack
  • citations
  • NAP consistency

What it does

seo-local is a Claude Code skill from AgriciDaniel’s claude-seo repo. It analyzes a business website for local SEO signals across six scoring dimensions: GBP signals (25%), reviews and reputation (20%), local on-page SEO (20%), NAP consistency and citations (15%), local schema markup (10%), and local link and authority signals (10%). It detects business type (brick-and-mortar, service area business, or hybrid) and industry vertical (restaurant, healthcare, legal, home services, real estate, automotive) and routes to industry-specific checks accordingly.

The skill incorporates current data from Whitespark’s 2026 local ranking factors study, BrightLocal’s Local Consumer Review Survey 2026, and Sterling Sky research — including the 18-day rule for review velocity, the “best of” list placement as the top AI visibility citation factor, and the ChatGPT local conversion rate (15.9% vs 1.76% for Google organic). It distinguishes website-level signals (its scope) from maps platform analysis (handled by seo-maps).

When to use it

Reach for it when:

  • A local business is not appearing in the map pack for its primary service keyword despite having a GBP listing
  • You want to audit NAP consistency across the page HTML, LocalBusiness schema, and any visible GBP data
  • A multi-location site needs a location page quality assessment (unique content percentage, doorway page risk detection)

When not to reach for it:

  • You need live geo-grid rank tracking or real GBP profile data — that requires seo-maps with DataForSEO installed
  • The business has 50+ location pages — the skill enforces a hard stop at this scale and requires user justification before continuing

Install

Copy the seo-local SKILL.md into .claude/skills/seo-local/.

Trigger phrases: “local SEO”, “Google Business Profile”, “GBP”, “map pack”, “local pack”, “citations”, “NAP consistency”, “local rankings”, “service area”, “multi-location”, “local search”.

Invoke with /seo local <url> for a full local SEO analysis. Pair with /seo maps for maps platform data and /seo flow local for the 11-prompt FLOW local audit workflow.

What a session looks like

A typical session has three phases:

  1. Business type and vertical detection. The skill reads the page for physical address signals (brick-and-mortar), service area language (SAB), or both (hybrid). Industry vertical is detected from content patterns. This determines which checks apply and which industry-specific schema subtype to validate against.
  2. Six-dimension analysis. GBP signals are inferred from page-visible evidence (Maps embed, review widgets, place references). NAP is extracted from page HTML, LocalBusiness JSON-LD, and any visible GBP data — discrepancies between these three sources are flagged as Critical or High. Review health is assessed from visible rating data, review count, and recency indicators. Schema is validated against the correct industry subtype (Restaurant, LegalService, MedicalClinic, AutoDealer — not the generic LocalBusiness fallback).
  3. Prioritized action plan. Top 10 actions ordered Critical > High > Medium > Low. Quick wins (claim Apple Business Connect, claim Bing Places, fix NAP discrepancies, add geo coordinates with 5+ decimal precision) are separated from medium-effort work (dedicated service pages, review velocity strategy) and high-impact efforts (digital PR for “best of” list placements, non-swappable location page content).

Receipts

Works well: The NAP three-source comparison (page HTML vs LocalBusiness JSON-LD vs visible GBP data) catches the most common local SEO mistake — a business that updated its address in the CMS footer but not in its schema, or updated its phone in GBP but not on the website. These discrepancies are invisible without explicitly comparing all three sources.

Backfires: The review velocity analysis can only work from signals visible on the page — it cannot access the GBP Insights dashboard. If reviews are not surfaced on the website (via a widget or marked-up AggregateRating schema), the review health assessment is incomplete.

Pattern that works: Fix the “primary GBP category” signal first if there is any doubt — Whitespark’s research consistently shows incorrect primary category as the single highest-negative local ranking factor. Everything else is easier to address once the category signal is correct.

Source and attribution

Originally written by AgriciDaniel. The canonical SKILL.md and supporting files live in the seo-local folder of the claude-seo repository.

License: MIT. Install, adapt, and redistribute with attribution preserved.

This page documents the skill from a practitioner’s perspective. For the formal spec and updates, defer to the source repo.