Skip to content
SEO
Skill

/seo-local

Local SEO analysis covering Google Business Profile optimization, NAP consistency, citation health, review signals, local schema markup, location page quality, multi-location SEO, and industry-specific recommendations. Detects business type (brick-and-mortar, SAB, hybrid) and

BOOST
From plugin
codex-seo
81027 skills2 agents1 hook
Install
$ npx -y skills add agricidaniel/codex-seo --skill seo-local --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-local

Context preview

The summary Claude sees to decide when to auto-load this skill.

Local SEO analysis covering Google Business Profile optimization, NAP consistency, citation health, review signals, local schema markup, location page quality, multi-location SEO, and industry-specific recommendations. Detects business type (brick-and-mortar, SAB, hybrid) and

SKILL.md

seo-local.SKILL.md
name: seo-local
description: >
  Local SEO analysis covering Google Business Profile optimization, NAP
  consistency, citation health, review signals, local schema markup,
  location page quality, multi-location SEO, and industry-specific
  recommendations. Detects business type (brick-and-mortar, SAB, hybrid)
  and industry vertical (restaurant, healthcare, legal, home services,
  real estate, automotive). Use when user says "local SEO", "Google
  Business Profile", "GBP", "map pack", "local pack", "citations",
  "NAP consistency", "local rankings", "service area", "multi-location",
  or "local search".
user-invokable: true
argument-hint: "[url]"
license: MIT
metadata:
  author: AgriciDaniel
  version: "1.9.6"
  category: seo

Local SEO Analysis (March 2026)

Shared Data Cache

**Step 0 -- Check shared data cache:**

Before gathering, check `.seo-cache/` for reusable context from related SEO skills. Reference: `../seo/references/shared-data-cache.md` for schemas and dependency map.

Check these cache files when present:

  • `.seo-cache/site-meta.json` for domain, business type, industry, and crawl context
  • `.seo-cache/audit-scores.json` for prior full-audit priorities
  • `.seo-cache/pages/{url-slug}/page-analysis.json` for page-level context when a URL is provided
  • If found: parse and use clearly valid fields (note "Using cached [X] from [date]")
  • If missing, corrupt, or irrelevant: continue with fresh evidence
  • If the user says "refresh" or "re-run": ignore cache reads and overwrite on write

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]"
  • `areaServed` in schema without `address.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 `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 (deprecated Dec 2025, replaced by Ask Maps Gemini AI -- recommend recreating Q&A content as FAQ sections on website; GBP removed existing Q&A with no export available)
  • 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. The **18-day rule** (Sterling Sky): rankings cliff if no new reviews for 3 weeks.

**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)
  • `aggregateRating` in 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, BrightLo
Read more
Ships withcodex-seo

Codex-first SEO analysis suite with 1 orchestrator skill, 26 specialist workflows, 24 TOML agent profiles, MCP/API extensions, deterministic headless runners, and premium audit report generation.

Get the whole plugin
Stats
814
Stars
114
Forks
Maintained
Maintenance
Python
Language
1mo ago
Last commit
5mo ago
Created
5h ago
Added

Repo: agricidaniel/codex-seo

Other skills on codex-seo.