Skip to content
cccskills
FreePublished on GitHub

seo-local

Local SEO audit covering NAP consistency, local schema markup, Google Business Profile signals, local content, citations, review signals, and mobile optimization. No MCP required — fetches pages via WebFetch. Use when user says "local SEO", "Google Business Profile", "GBP", "NAP consistency", "local citations", "local schema", "local pack", "map pack".

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md5.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Local SEO Audit

Performs a comprehensive local SEO audit from live URL fetching. No MCP required.

Inputs

  • business: Business name, URL, or location string.
    • If URL: fetch the homepage directly.
    • If business name + location (e.g., "Acme Plumbing Austin TX"): note that live lookup is not possible; analyze any URL the user provides separately.
    • Best input: homepage URL (e.g., https://acme-plumbing.com).

Execution

Step 1: Fetch and Extract Business Info

Fetch homepage with WebFetch. Also fetch /contact and /about if linked from homepage. Extract from HTML:

  • Business name (from <title>, H1, or schema)
  • Address (street, city, state, zip, country)
  • Phone number(s)
  • Email address(es)
  • Schema markup (look for <script type="application/ld+json"> blocks)

Step 2: NAP Consistency Check

NAP = Name, Address, Phone. Consistency across the site is a local ranking factor. Check: homepage, footer, contact page, about page, schema markup. For each location of NAP found, record exact text and flag discrepancies:

  • Different phone formats ((512) 555-1234 vs 512-555-1234) — NOTE (not critical)
  • Different address formats (abbreviated vs full state) — NOTE
  • Completely different address or phone — CRITICAL flag

Step 3: Local Schema Audit

Check for these schema types in JSON-LD blocks:

  • LocalBusiness (or subtype: Plumber, Restaurant, MedicalBusiness, etc.)
  • Required properties: name, address (as PostalAddress), telephone
  • Recommended: geo (as GeoCoordinates), openingHours, url, image, priceRange
  • PostalAddress requires: streetAddress, addressLocality, addressRegion, postalCode

For any missing required/recommended properties, generate corrected JSON-LD at the end of output. Detect business type from schema type or page content to select appropriate LocalBusiness subtype.

Step 4: Google Business Profile Signals

Check for presence of:

  • Google Maps embed (maps.google.com or google.com/maps iframe)
  • GBP link (business.google.com/ or Google Maps URL with place ID)
  • Reviews integration (review schema, review widget, or link to Google reviews)
  • Service area mentions (city names, county, "serving [city]" in body text)
  • Operating hours on website

Step 5: Local Content Signals

  • City/region in <title> tag: check if geo-modifier present (e.g., "Plumber in Austin")
  • City/region in H1: check if location keyword present
  • Location pages (if multi-location): look for /[city]/ URL pattern or location listing pages
  • Local testimonials: customer names with locations, Google review embeds
  • Proximity/location keywords in body: "near me", "in [city]", "serving [area]"

Step 6: Citation Opportunities

Based on detected business type, list relevant citation directories:

General (all business types):

  • Google Business Profile, Yelp, BBB (Better Business Bureau), Yellow Pages, Apple Maps, Bing Places, Foursquare

Industry-specific (detect from schema type, title, or content):

  • Restaurants: TripAdvisor, OpenTable, Zomato
  • Healthcare: Healthgrades, ZocDoc, WebMD, Vitals
  • Legal: Avvo, FindLaw, Justia, Lawyers.com
  • Home Services: HomeAdvisor, Angi, Thumbtack, Houzz
  • Real Estate: Zillow, Realtor.com, Trulia

Check if any citation platforms are already linked from the site.

Step 7: Review Signals

  • Review schema (@type: Review or AggregateRating in JSON-LD)
  • Review platform links (Google, Yelp, Trustpilot, industry-specific)
  • Aggregate review score displayed on site
  • Review request CTA (e.g., "Leave us a review" button/link)

Step 8: Mobile Optimization

Local searches are 60%+ mobile — check:

  • <meta name="viewport" content="width=device-width"> present
  • Click-to-call links: <a href="tel:+1..."> for phone numbers (not just plain text)
  • Google Maps embed responsive (not fixed width)
  • Tap targets for key CTAs (subjective — note if CTA buttons exist)

Local SEO Score Calculation (0-100)

FactorMax Points
NAP consistent across all pages20
LocalBusiness schema present and valid20
GBP signals (Maps embed + GBP link)15
Local content signals (title + H1 + body)15
Citation platform presence (3+ found)10
Review signals10
Mobile: click-to-call + viewport10

Output Format

## Local SEO Audit: [business name / URL]

**Local SEO Score: [N]/100**

### NAP Consistency Status

| Location | Name | Address | Phone | Match? |
|----------|------|---------|-------|--------|

### Local Schema

**Status:** [Present / Missing / Incomplete]
[If issues: show corrected JSON-LD block]

### GBP Integration Checklist

- [x] Google Maps embed
- [ ] GBP link
- [x] Operating hours
- [ ] Review integration
- [x] Service area mentions

### Local Content Assessment

| Signal | Status | Detail |
|--------|--------|--------|
| City in title | PASS/FAIL | [title content] |
| City in H1 | PASS/FAIL | [H1 content] |
| Location pages | N/A / Found | |

### Citation Opportunities

| Platform | Category | Status |
|----------|----------|--------|
| Google Business Profile | General | [Linked / Not detected] |
| Yelp | General | [Linked / Not detected] |

### Priority Actions

[Critical/High/Medium/Low action items]

## Data Sources

- Live fetch: [URL] via WebFetch
- Schema: extracted from page JSON-LD

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

seo

Free

Comprehensive SEO analysis for any website or business type. Orchestrates 52 sub-skills (52 active): full site audits, technical SEO (CWV/INP), schema, E-E-A-T content quality, images, sitemaps, GEO for AI Overviews, llms.txt generation, AI crawler audit, plus live GSC and Ahrefs MCP data. GSC: overview, drops, opportunities, brand-vs-nonbrand, cannibalization, compare, content-decay, index-issues, new-keywords. Ahrefs: overview, backlinks, keywords, competitors, content-gap, broken-links, new-links, anchor-analysis, dr-history, top-pages. Cross-MCP: serp, content-brief, brand-radar, site-audit-pro, report. Local: log-analysis, ai-content-check, internal-links, local, migration-check, obsidian-kb. AI Readability: llms-txt, robots-ai. Performance: lighthouse-audit, core-web-vitals, page-experience. Quality & AI Search: rich-results, ai-optimization, eeat-audit, helpful-content. Triggers on: "SEO", "audit", "schema", "Core Web Vitals", "sitemap", "E-E-A-T", "AI Overviews", "GEO", "technical SEO", "content quality", "structured data", "GSC", "Ahrefs", "backlinks", "keywords", "search console", "domain rating", "local SEO", "migration", "lighthouse", "pagespeed", "LCP", "INP", "CLS", "page experience", "interstitials", "mobile friendly", "rich results", "rich snippets", "schema eligibility", "AI optimization", "AI search readiness", "EEAT", "trust signals", "helpful content", "people-first", "content quality gate".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Analyze a domain's anchor text distribution from Ahrefs: see the breakdown of anchor text used across all backlinks and assess link profile health. Use when user says "anchor text", "anchor analysis", "anchor distribution", "link anchors", or "anchor text profile".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Analyze a domain's backlink profile using Ahrefs: see who links to the domain, source Domain Rating, anchor text, link type, and when each link was first seen. Use when user says "Ahrefs backlinks", "backlink profile", "who links to", "link analysis", or "referring pages".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Find broken backlinks pointing to a domain using Ahrefs: links targeting 404 pages that can be reclaimed. Prioritizes highest-DR lost links for maximum recovery impact. Use when user says "broken backlinks", "broken links", "link reclamation", "dead backlinks", or "404 backlinks".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Discover a domain's top organic competitors from Ahrefs: competing domains, keyword overlap count, shared keywords, and unique competitor keywords. Use when user says "Ahrefs competitors", "organic competitors", "competing domains", "keyword overlap", or "who competes with".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

Find keywords that competitors rank for but the target domain does not, using Ahrefs data. Reveals content opportunities and topic gaps. Use when user says "content gap", "keywords competitors rank for", "missing keywords", "competitor keywords", or "content gap analysis".

The English summary is being prepared. Showing the original description.

lionkiii/claude-seo-skills22Updated Jun 11, 2026

See all skills by lionkiii

Report a problem with this skill