PluginBench
Skill
Review
Audit score 70

seo-maps

agricidaniel/claude-seo

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

What is seo-maps?

Maps intelligence skill analyzes how a business appears across Google Maps, Bing Places, Apple Maps, and OpenStreetMap. Use it for geo-grid rank tracking, GBP profile audits, review velocity analysis, competitor radius mapping, NAP consistency checks, and LocalBusiness schema generation. Three-tier capability: free (Overpass + Geoapify), DataForSEO (full intelligence), or DataForSEO + Google (maximum coverage).

  • Geo-grid rank tracking: simulate Google Maps searches from multiple GPS coordinates to show ranking variation across a 7x7 grid (default 5km radius)
  • GBP profile auditing: assess 25 fields affecting Google Business Profile quality and ranking with automated scoring
  • Cross-platform review intelligence: analyze review velocity, sentiment, rating distribution, owner response rate, and fake review detection signals across Google, Tripadvisor, and Trustpilot
  • Competitor radius mapping: identify and compare competitors within a defined radius using Overpass API (Tier 0) or DataForSEO (Tier 1)
  • Cross-platform NAP verification: check business listing consistency (Name, Address, Phone) across Google, Bing, Apple, and OpenStreetMap
  • LocalBusiness JSON-LD schema generation: automatically generate structured markup from collected business data

How to install seo-maps

npx skills add https://github.com/agricidaniel/claude-seo --skill seo-maps
Prerequisites
  • For Tier 0 (free): no API keys required; uses Overpass, Geoapify, and Nominatim
  • For Tier 1 (DataForSEO): DataForSEO MCP tools must be available
  • For Tier 2 (DataForSEO + Google): DataForSEO MCP tools plus Google Maps API key in environment
Claude Code
Cursor
Windsurf
Cline

How to use seo-maps

  1. 1.Run `/seo maps <url>` to perform a full maps presence audit; the skill auto-detects your capability tier
  2. 2.For geo-grid rank tracking, use `/seo maps grid <keyword> <location>` to scan a 7x7 grid; review cost estimate before confirming
  3. 3.Run `/seo maps gbp <business> <location>` to audit Google Business Profile completeness and get a 0-100 score
  4. 4.Use `/seo maps reviews <business> <location>` to analyze review velocity, sentiment, and detect fake review patterns
  5. 5.Execute `/seo maps nap <business-name>` to verify Name/Address/Phone consistency across Google, Bing, Apple, and OpenStreetMap
  6. 6.Run `/seo maps competitors <keyword> <location>` to identify and analyze competitors within a service radius
  7. 7.Use `/seo maps schema <business-name>` to generate LocalBusiness JSON-LD markup ready for implementation

Use cases

Good for
  • Audit how a local business ranks across different geographic areas to identify coverage gaps and optimize for local search visibility
  • Evaluate Google Business Profile completeness and identify missing or underoptimized fields that impact ranking
  • Monitor review velocity and detect suspicious patterns (fake reviews, sudden spikes) that could trigger algorithmic penalties
  • Map competitive landscape within a service radius to understand market saturation and positioning opportunities
  • Verify business information consistency across all major maps platforms to fix NAP discrepancies that harm local SEO
Who it's for
  • Local SEO specialists managing multi-location or service-area businesses
  • Google Business Profile managers auditing and optimizing listings
  • Competitive analysts studying local market dynamics and competitor positioning
  • Web developers implementing structured data for local businesses
  • Agencies managing local search campaigns across multiple geographic markets

seo-maps FAQ

What is the difference between seo-maps and seo-local?

seo-maps analyzes the business on maps PLATFORMS (Google Maps, Bing Places, Apple Maps, OpenStreetMap) via APIs. seo-local analyzes local SEO signals on the WEBSITE (via HTML fetch). Use `/seo maps` for platform presence and `/seo local` for on-page optimization.

How much does a geo-grid scan cost?

Cost depends on grid size and number of keywords. The skill displays a cost estimate and asks for confirmation before consuming DataForSEO credits. Default is 7x7 grid (49 points) per keyword.

Can I use this skill without API keys?

Yes. Tier 0 (free) uses Overpass API, Geoapify, and Nominatim for competitor discovery, NAP verification, and schema generation. Tier 1+ requires DataForSEO MCP tools for geo-grid tracking, GBP audits, and review intelligence.

What does the 18-day rule mean in review analysis?

The 18-day rule (Sterling Sky) flags ranking risk if there is any 3-week gap in reviews. Consistent review velocity is a positive local SEO signal; long gaps may indicate declining business activity.

How does fake review detection work?

The skill flags reviews matching 2+ patterns: uniform timing, limited reviewer history, geographic inconsistencies, exclusive 5-star spikes, identical text, or sudden volume spikes without marketing activity.

Full instructions (SKILL.md)

Source of truth, from agricidaniel/claude-seo.


name: seo-maps description: > Maps intelligence for local SEO — geo-grid rank tracking, GBP profile auditing via API, review intelligence across Google/Tripadvisor/Trustpilot, cross-platform NAP verification (Google/Bing/Apple/OSM), competitor radius mapping, and LocalBusiness schema generation from API data. Three-tier capability: free (Overpass + Geoapify), DataForSEO (full intelligence), DataForSEO + Google (maximum coverage). Use when user says "maps", "geo-grid", "rank tracking", "GBP audit", "review velocity", "competitor radius", "maps analysis", "local rank tracking", "Share of Local Voice", or "SoLV". user-invocable: true argument-hint: "[command] [url|keyword|location]" license: MIT compatibility: "DataForSEO MCP for Tier 1+, Google Maps API for Tier 2" metadata: author: AgriciDaniel version: "2.2.0" category: seo

Maps Intelligence (March 2026)

Maps platform analysis for local businesses. Works with external APIs to assess how a business appears on Google Maps, Bing Places, Apple Maps, and OpenStreetMap.

Boundary with seo-local: This skill analyzes the business on maps PLATFORMS (via APIs). seo-local analyzes local SEO signals on the WEBSITE (via HTML fetch). Do not duplicate seo-local on-page analysis. Recommend /seo local <url> for website-level checks.


Quick Reference

CommandWhat it doesTier
/seo maps <url>Full maps presence audit (auto-selects tier)0+
/seo maps grid <keyword> <location>Geo-grid rank scan (7x7, 1 keyword default)1+
/seo maps reviews <business> <location>Cross-platform review intelligence1+
/seo maps competitors <keyword> <location>Competitor radius mapping0+
/seo maps nap <business-name>Cross-platform NAP verification0+
/seo maps schema <business-name>Generate LocalBusiness JSON-LD from data0+
/seo maps gbp <business> <location>GBP completeness audit1+

Three-Tier Capability Detection

Before any analysis, detect the available capability tier:

Tier 0 (Free)

Detection: DataForSEO MCP tools NOT available. Capabilities: Overpass API competitor discovery, Geoapify POI search, Nominatim geocoding, static GBP checklist, schema generation, cross-platform NAP guidance. Load: ../seo/references/maps-free-apis.md

Tier 1 (DataForSEO)

Detection: business_data_business_listings_search MCP tool IS available. Capabilities: Everything in Tier 0 PLUS geo-grid rank tracking, live GBP profile audit, review intelligence (velocity, sentiment, distribution), GBP post activity, Q&A data, Tripadvisor/Trustpilot reviews. Load: ../seo/references/maps-api-endpoints.md

Tier 2 (DataForSEO + Google Maps Platform)

Detection: Tier 1 available AND Google Maps API key in environment. Capabilities: Everything in Tier 1 PLUS Google Places details, real-time business status, AI-powered place summaries, photo analysis. Note: Google ToS restricts storage to place_id only. Lat/lng cached 30 days max.

Always communicate the detected tier to the user at the start of analysis.


Geo-Grid Rank Tracking (Tier 1+)

Simulates Google Maps searches from multiple GPS coordinates to show ranking variation across a geographic area. Requires DataForSEO.

Load: ../seo/references/maps-geo-grid.md for algorithm, SoLV formula, heatmap format. Load: ../seo/references/maps-api-endpoints.md for Maps SERP endpoint details.

Workflow

  1. Geocode business address to get center lat/lng
  2. Generate grid points (default: 7x7, 5km radius) using Haversine offset formula
  3. Display cost estimate and ask for confirmation before proceeding
  4. Fire DataForSEO Maps SERP API calls with location_coordinate per grid point
  5. Find target business rank at each point
  6. Calculate SoLV: (top_3_count / total_points) * 100
  7. Render ASCII heatmap in output

Cost Warning (REQUIRED)

Before every geo-grid scan, display:

Geo-Grid Scan: [keyword] at [location]
Grid: 7x7 (49 points) | Keywords: [N] | Est. cost: $[amount]
DataForSEO credits will be consumed. Proceed?

GBP Profile Audit (Tier 1 preferred, Tier 0 manual)

Audits the 25 fields that affect Google Business Profile quality and ranking.

Load: ../seo/references/maps-gbp-checklist.md for full checklist and scoring.

Tier 1 Workflow

  1. Fetch business profile via DataForSEO My Business Info API (keyword or CID)
  2. Map API response fields to 25-field checklist
  3. Score each field: Present + Optimized = 2pts, Present = 1pt, Missing = 0pts
  4. Apply industry-specific weight multipliers
  5. Normalize to 0-100 scale

Tier 0 Workflow

  1. Fetch the business website via WebFetch
  2. Extract any visible GBP signals (Maps embed, place references, review widgets)
  3. Apply static checklist based on detectable signals
  4. Mark undetectable fields as "Unknown (requires DataForSEO for live data)"

Review Intelligence (Tier 1+)

Cross-platform review analysis: velocity, sentiment, rating distribution, fake detection.

Reference: ../seo/references/local-seo-signals.md for benchmarks (shared with seo-local).

Workflow

  1. Fetch Google reviews via DataForSEO Reviews API (sort by newest)
  2. Calculate review velocity: reviews per month over last 6 months
  3. Check 18-day rule (Sterling Sky): any 3-week gap = ranking risk
  4. Analyze rating distribution: healthy = bell curve skewed to 5-star
  5. Calculate owner response rate: responses / total reviews
  6. Fetch Tripadvisor and Trustpilot reviews (if available)
  7. Cross-platform comparison table

Fake Review Detection Signals

Flag reviews matching 2+ of these patterns:

  • Uniform timing (multiple reviews same day/hour)
  • Reviewer accounts with limited history or single review
  • Geographic inconsistencies (reviewer location vs business location)
  • Exclusively 5-star velocity spike (vs historical baseline)
  • Identical or near-identical text across reviews
  • Sudden volume spike without corresponding marketing activity

Competitor Radius Mapping (Tier 0+)

Identify and analyze competitors within a defined radius.

Tier 0 (Overpass API)

Load: ../seo/references/maps-free-apis.md for query templates.

  1. Geocode business address
  2. Query Overpass API for businesses with same OSM tag within radius
  3. Parse results: name, address, phone, website, distance from center
  4. Sort by distance, present as competitor landscape table

Tier 1 (DataForSEO)

  1. Use Maps SERP API with business keyword + location
  2. Extract top 20 competitors with full profile data
  3. Compare: rating, review count, categories, photos, attributes
  4. Calculate competitive density score: competitors per km^2

Cross-Platform NAP Verification (Tier 0+)

Check business listing consistency across Google, Bing Places, Apple, and OSM.

Workflow

  1. Search for business name on each platform:
    • Google: infer from GBP data or Maps SERP result
    • Bing: WebFetch https://www.bing.com/maps?q=BUSINESS+NAME+LOCATION
    • Apple: manual check (no public API -- recommend Apple Business Connect at businessconnect.apple.com)
    • OSM: Overpass or Nominatim search
  2. Extract NAP (Name, Address, Phone) from each source
  3. Compare for consistency: exact match, partial match, missing, or conflicting
  4. Flag discrepancies as Critical (name mismatch), High (address mismatch), Medium (phone mismatch)
  5. Recommend claiming unclaimed profiles

Schema Generation (Tier 0+)

Generate LocalBusiness JSON-LD markup from collected data.

Reference: ../seo/references/local-schema-types.md for industry subtypes (shared with seo-local).

Workflow

  1. Determine most specific schema subtype for the industry
  2. Populate required properties: @type, name, address, image
  3. Add recommended properties: telephone, url, geo, openingHoursSpecification, priceRange
  4. Add strategic properties for multi-location: branchOf, areaServed, sameAs
  5. Add aggregateRating if review data available
  6. Output valid JSON-LD block ready for implementation

Do NOT generate self-serving review markup -- Google ignores LocalBusiness review markup from the business itself. Only mark up third-party reviews visible on the page.


Reference Files

Load on-demand as needed (do NOT load all at startup):

  • ../seo/references/maps-api-endpoints.md: DataForSEO endpoint details, params, costs
  • ../seo/references/maps-free-apis.md: Overpass, Geoapify, Nominatim query templates
  • ../seo/references/maps-geo-grid.md: Grid algorithm, SoLV formula, heatmap rendering
  • ../seo/references/maps-gbp-checklist.md: 25-field GBP audit with industry weights
  • ../seo/references/local-seo-signals.md: Ranking factors, review benchmarks (shared)
  • ../seo/references/local-schema-types.md: LocalBusiness subtypes by industry (shared)

Output

Generate MAPS-ANALYSIS-{domain}.md with:

  1. Maps Health Score: XX/100 with dimension breakdown table
  2. Capability tier detected (Tier 0 or Tier 1) with explanation of what's available
  3. Geo-grid heatmap (Tier 1): ASCII grid with SoLV percentage and average rank
  4. GBP profile audit: field-by-field scoring with industry-specific weights
  5. Review intelligence: velocity chart, rating distribution, response rate, cross-platform comparison
  6. Competitor landscape: count in radius, top 5 by rating/reviews, competitive density
  7. Cross-platform presence: Google/Bing/Apple/OSM listing status
  8. Schema recommendation: generated LocalBusiness JSON-LD (if missing or incomplete)
  9. Top 10 prioritized actions (Critical > High > Medium > Low)
  10. Cost report: DataForSEO credits consumed during analysis (Tier 1 only)
  11. Limitations disclaimer: what could not be assessed at current tier

Cross-Skill Delegation

  • Website on-page local signals: recommend /seo local <url>
  • Full AI search visibility: recommend /seo geo <url>
  • Schema validation and fixes: recommend /seo schema <url>
  • Live SERP and keyword data: recommend /seo dataforseo [command]

Error Handling

ScenarioAction
DataForSEO MCP not availableDrop to Tier 0. Inform user: "DataForSEO not detected. Running free-tier analysis. For geo-grid tracking and review intelligence, install the DataForSEO extension."
Business not found in Maps SERPTry My Business Info with keyword. If still not found, report "Business not found in Google Maps for this location."
Geocoding fails (Nominatim)Ask user to provide coordinates or a more specific address.
API rate limit hitReport the limit. Suggest waiting or using standard (queued) method instead of live.
No reviews foundReport zero review state. Recommend review generation strategy with 18-day cadence target.
Multi-location detectedAsk user which location to analyze, or offer batch mode with per-location cost estimate.