Local SEO Analysis (March 2026)
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.
How to use it
- Hit Copy SKILL.md — or use the Claude Code line below to get every file.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
npx degit AgriciDaniel/claude-seo/skills/seo-local#main ~/.claude/skills/seo-localFor one project only, change the path to .claude/skills/seo-local. This skill also uses llms.txt — copying SKILL.md alone won't be enough. See the folder on GitHub.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text316 lines
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: check whether GBP Q&A is available for the business category/region; optimize questions and owner answers when 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)
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)
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 appear on up to 68% of local searches (Whitespark Q2 2025)
- 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-schema-types.md: LocalBusiness subtypes by industry, schema patterns, citation sources per vertical
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 review generation strategy maintaining 18-day minimum cadence
- 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.
| 1 | |
| 2 | name seo-local |
| 3 | description > |
| 4 | Local SEO analysis covering Google Business Profile optimization, NAP |
| 5 | consistency, citation health, review signals, local schema markup, |
| 6 | location page quality, multi-location SEO, and industry-specific |
| 7 | recommendations. Detects business type (brick-and-mortar, SAB, hybrid) |
| 8 | and industry vertical. Use when user says "local SEO", "Google Business |
| 9 | Profile", "GBP", "map pack", "local pack", "citations", "NAP |
| 10 | consistency", "service area", or "multi-location". |
| 11 | user-invocable true |
| 12 | argument-hint "[url]" |
| 13 | license MIT |
| 14 | metadata |
| 15 | author AgriciDaniel |
| 16 | version "2.3.1" |
| 17 | category seo |
| 18 | |
| 19 | |
| 20 | # Local SEO Analysis (March 2026) |
| 21 | |
| 22 | ## Key Statistics |
| 23 | |
| 24 | | Metric | Value | Source | |
| 25 | |--------|-------|--------| |
| 26 | | GBP signals share of local pack weight | 32% | Whitespark 2026 | |
| 27 | | Proximity share of ranking variance | 55.2% | Search Atlas ML study | |
| 28 | | Review signals share (up from 16%) | ~20% | Whitespark 2026 | |
| 29 | | Google searches seeking local info | 46% | Industry data | |
| 30 | | Mobile "near me" searches leading to visit in 24h | 76% | Google confirmed | |
| 31 | | ChatGPT/AI usage for local recommendations | 45% (up from 6%) | BrightLocal LCRS 2026 | |
| 32 | | ChatGPT local conversion rate | 15.9% | Seer Interactive | |
| 33 | | Google organic local conversion rate | 1.76% | Seer Interactive | |
| 34 | | Local pack ads growth (Jan 2025 to Jan 2026) | 1% to 22% | Sterling Sky | |
| 35 | |
| 36 | |
| 37 | |
| 38 | ## Business Type Detection |
| 39 | |
| 40 | Detect from page signals before analysis. This determines which checks apply. |
| 41 | |
| 42 | ### Brick-and-Mortar |
| 43 | Physical street address visible in page content or footer |
| 44 | Google Maps embed with pin/directions |
| 45 | "Visit us at", "Located at", "Come see us" |
| 46 | Structured address in LocalBusiness schema |
| 47 | |
| 48 | ### Service Area Business (SAB) |
| 49 | No visible physical address |
| 50 | Service area mentions: "serving [city/region]", "service area includes" |
| 51 | "We come to you", "On-site service", "Mobile [service]" |
| 52 | `areaServed` in schema without `address.streetAddress` |
| 53 | |
| 54 | ### Hybrid |
| 55 | Both physical address AND service area language present |
| 56 | "Visit our showroom" combined with "We also serve [areas]" |
| 57 | |
| 58 | **Impact on checks**: SABs skip embedded map verification and physical address consistency. Brick-and-mortar gets full NAP + map checks. |
| 59 | |
| 60 | |
| 61 | |
| 62 | ## Industry Vertical Detection |
| 63 | |
| 64 | Detect from page signals and GBP category patterns. Routes to industry-specific checks from `../seo/references/local-schema-types.md`. |
| 65 | |
| 66 | | Vertical | Detection Signals | |
| 67 | |----------|------------------| |
| 68 | | **Restaurant** | /menu, menu items, reservations, cuisine types, food ordering, "dine-in", "takeout" | |
| 69 | | **Healthcare** | insurance accepted, patients, appointments, NPI, medical terms, "Dr.", HIPAA notice | |
| 70 | | **Legal** | attorney, lawyer, practice areas, bar admission, case results, "free consultation" | |
| 71 | | **Home Services** | service area, emergency service, "free estimate", licensed/insured/bonded, "24/7" | |
| 72 | | **Real Estate** | listings, MLS, properties for sale/rent, agent bio, brokerage, "open house" | |
| 73 | | **Automotive** | inventory, VIN, test drive, dealership, service department, "new/used/certified" | |
| 74 | |
| 75 | If no vertical detected, use generic `LocalBusiness` analysis path. |
| 76 | |
| 77 | |
| 78 | |
| 79 | ## Analysis Dimensions |
| 80 | |
| 81 | ### 1. GBP Signals (25%) |
| 82 | |
| 83 | Primary category is the **single most important local pack factor** (Whitespark #1, score: 193). Incorrect primary category is the **#1 negative factor** (score: 176). |
| 84 | |
| 85 | **Check for:** |
| 86 | GBP embed or reference detectable on page (Maps iframe, place ID, reviews widget) |
| 87 | Primary category appropriateness (infer from page content vs visible GBP data) |
| 88 | Evidence of secondary categories (optimal: 4 additional per BrightLocal) |
| 89 | GBP posts presence (no direct ranking impact per WebFX, but triggers Post Justifications) |
| 90 | Photos/video evidence (45% more direction requests with photos, Agency Jet) |
| 91 | Q&A content: check whether GBP Q&A is available for the business category/region; optimize questions and owner answers when available |
| 92 | Google Verified badge eligibility (replaced Guaranteed/Screened in Oct 2025) |
| 93 | GBP link URL strategy: do NOT link to strongest website page (Sterling Sky Diversity Update -- risks suppressing organic rankings) |
| 94 | Business hours visibility on page (businesses open at search time rank higher, factor #5) |
| 95 | |
| 96 | **Scoring guide:** |
| 97 | Full: GBP embed present, category signals align, posts active, photos present |
| 98 | Partial: Some GBP signals present but incomplete |
| 99 | Low: No visible GBP integration on website |
| 100 | |
| 101 | ### 2. Reviews & Reputation (20%) |
| 102 | |
| 103 | Review velocity matters more than total count. The **18-day rule** (Sterling Sky): rankings cliff if no new reviews for 3 weeks. |
| 104 | |
| 105 | **Check for:** |
| 106 | Total Google review count visible on page or schema (magic threshold: 10, Sterling Sky) |
| 107 | Star rating (31% of consumers only use 4.5+, 68% only use 4+, BrightLocal 2026) |
| 108 | Review recency indicators (74% only care about reviews in last 3 months) |
| 109 | `aggregateRating` in schema (ratingValue, reviewCount, bestRating) |
| 110 | Third-party review presence (consumers use average of 6 review sites, BrightLocal 2026) |
| 111 | Owner response patterns (88% would use business that responds, BrightLocal) |
| 112 | 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) |
| 113 | |
| 114 | **Industry-specific:** |
| 115 | Healthcare: HIPAA prohibits confirming/denying reviewer is a patient in responses |
| 116 | Legal: attorney-client privilege considerations in review responses |
| 117 | |
| 118 | **Scoring guide:** |
| 119 | Full: 10+ reviews, 4.5+ stars, recent activity, owner responses, multi-platform presence |
| 120 | Partial: Some reviews but gaps in recency, rating, or response rate |
| 121 | Low: <10 reviews, no recent activity, no responses, single platform only |
| 122 | |
| 123 | ### 3. Local On-Page SEO (20%) |
| 124 | |
| 125 | Dedicated service pages = **#1 local organic factor AND #2 AI visibility factor** (Whitespark 2026). |
| 126 | |
| 127 | **Check for:** |
| 128 | Title tag contains city/service keywords |
| 129 | H1 tag with local intent (city + service) |
| 130 | NAP (Name, Address, Phone) visible in page HTML (footer, contact section, header) |
| 131 | Dedicated service pages (one page per core service) |
| 132 | Location page quality for multi-location sites: |
| 133 | **>60-70% unique content** minimum (industry consensus, no Google-confirmed threshold) |
| 134 | **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 |
| 135 | Local photos, area-specific testimonials, local FAQs |
| 136 | Embedded Google Map (geographic signal reinforcement, not direct ranking factor -- lazy-load to mitigate speed impact) |
| 137 | Click-to-call button (`tel:` link) and contact form above the fold |
| 138 | Internal linking architecture: hub-and-spoke, every critical page within 3 clicks of homepage |
| 139 | 2-5 contextual internal links per 1,000 words with descriptive anchor text |
| 140 | |
| 141 | **Multi-location specific:** |
| 142 | Store locator with individual crawlable URLs (SSR/SSG preferred over CSR) |
| 143 | Subdirectory structure: `domain.com/locations/city-name/` (subdirectories consolidate link equity better, Bruce Clay: 50%+ traffic lift) |
| 144 | Each location page has unique LocalBusiness schema with `@id` |
| 145 | |
| 146 | **Scoring guide:** |
| 147 | Full: City in title + H1, NAP visible, dedicated service pages, no doorway patterns, good internal linking |
| 148 | Partial: Some local signals but missing service pages or doorway page risk |
| 149 | Low: Generic title/H1, NAP not visible, thin location pages |
| 150 | |
| 151 | ### 4. NAP Consistency & Citations (15%) |
| 152 | |
| 153 | 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. |
| 154 | |
| 155 | **Check for:** |
| 156 | NAP extraction: compare Name, Address, Phone from: |
| 157 | Visible page HTML (footer, contact page) |
| 158 | LocalBusiness JSON-LD schema |
| 159 | Any visible GBP data |
| 160 | Flag any discrepancies between these three sources |
| 161 | Citation presence on Tier 1 directories (check via WebFetch or site: search patterns): |
| 162 | Google Business Profile signals on page |
| 163 | Yelp: `site:yelp.com "Business Name"` |
| 164 | BBB: `site:bbb.org "Business Name"` |
| 165 | Facebook business page references |
| 166 | **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. |
| 167 | Bing Places awareness (powers ChatGPT, Copilot, Alexa -- recommend claiming and optimizing) |
| 168 | Industry-specific directory recommendations: load `../seo/references/local-schema-types.md` for per-vertical citation sources |
| 169 | Data aggregator awareness: Data Axle, Foursquare, Neustar/TransUnion (recommend submission for downstream distribution) |
| 170 | |
| 171 | **Scoring guide:** |
| 172 | Full: Consistent NAP across page/schema, Tier 1 citations detected, industry directories present |
| 173 | Partial: NAP present but inconsistencies, some citations missing |
| 174 | Low: NAP discrepancies, no detectable citations, no schema address |
| 175 | |
| 176 | ### 5. Local Schema Markup (10%) |
| 177 | |
| 178 | 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. |
| 179 | |
| 180 | **Check for:** |
| 181 | LocalBusiness schema presence (extract JSON-LD blocks) |
| 182 | Required properties: `name`, `address` with PostalAddress sub-properties |
| 183 | Recommended properties: `geo` (minimum 5 decimal places, Confirmed), `openingHoursSpecification`, `telephone`, `url`, `priceRange` (<100 chars), `image`, `aggregateRating` |
| 184 | **Correct subtype for industry** -- load `../seo/references/local-schema-types.md`: |
| 185 | Restaurant using `Restaurant` not generic `LocalBusiness` |
| 186 | Legal using `LegalService` not deprecated `Attorney` |
| 187 | Auto dealer using `AutoDealer` not deprecated `VehicleListing` |
| 188 | Healthcare using `MedicalClinic`/`Hospital`/`Dentist` not generic `MedicalBusiness` |
| 189 | SAB-specific: `areaServed` with named cities (recommended, not in Google's official list but Schema.org supported) |
| 190 | Multi-location: each location page has own LocalBusiness with unique `@id`, linked via `branchOf` to Organization on homepage |
| 191 | Industry-specific schema patterns (per `../seo/references/local-schema-types.md`): |
| 192 | Restaurant: Menu + MenuSection + MenuItem + ReserveAction (note: Reservation/Order actions are not Google-supported rich results; value is machine-readable business data) |
| 193 | Healthcare: Physician (Person) + MedicalSpecialty + sameAs to NPI |
| 194 | Legal: LegalService + Person + Service (practice areas) |
| 195 | Home Services: Subtype + areaServed + Service |
| 196 | Real Estate: RealEstateAgent + Person + RealEstateListing |
| 197 | Automotive: AutoDealer + Car + Offer (separate dept schemas) |
| 198 | |
| 199 | **Scoring guide:** |
| 200 | Full: Correct subtype, all recommended properties, industry-specific patterns, valid JSON-LD |
| 201 | Partial: LocalBusiness present but generic type or missing recommended properties |
| 202 | Low: No local schema, or schema with errors/placeholder content |
| 203 | |
| 204 | ### 6. Local Link & Authority Signals (10%) |
| 205 | |
| 206 | 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**. |
| 207 | |
| 208 | **Check for:** |
| 209 | Local backlink indicators detectable from page: |
| 210 | Chamber of Commerce mentions or links (high Trust Flow, ~80% more consumer visits, GlueUp) |
| 211 | BBB accreditation/badge (Google uses BBB for business verification) |
| 212 | Local news/press mentions |
| 213 | Community involvement signals (sponsorships, local events, partnerships) |
| 214 | "Best of" list presence (top AI visibility factor per Whitespark 2026) |
| 215 | Digital PR signals: 66.2% of PR practitioners now track AI citations as KPI (BuzzStream 2026) |
| 216 | Brand mentions correlate **3x more strongly** with AI visibility than traditional backlinks (Ahrefs: 0.664 vs 0.218 correlation) |
| 217 | Link velocity benchmark: 5-10 quality local links/month for small businesses (consensus) |
| 218 | |
| 219 | **Scoring guide:** |
| 220 | Full: Local authority signals visible (chamber, BBB, press), community involvement evident |
| 221 | Partial: Some authority signals but limited local link indicators |
| 222 | Low: No detectable local authority signals |
| 223 | |
| 224 | |
| 225 | |
| 226 | ## AI Search Impact on Local |
| 227 | |
| 228 | **Do not duplicate seo-geo analysis.** Provide local-specific AI context and recommend `/seo geo <url>` for full analysis. |
| 229 | |
| 230 | Key local AI facts: |
| 231 | AI Overviews appear on up to 68% of local searches (Whitespark Q2 2025) |
| 232 | ChatGPT converts at 15.9% vs Google organic at 1.76% (Seer Interactive) |
| 233 | 3 of top 5 AI visibility factors are citation-related (Whitespark 2026) |
| 234 | ChatGPT does NOT access GBP directly -- sources from Bing index, Yelp, TripAdvisor, BBB, Reddit |
| 235 | Bing Places is critical: powers ChatGPT, Copilot, Alexa |
| 236 | Third-party observed local AI interface changes (mobile US) may show only 1-2 businesses, 32% fewer shown (Sterling Sky) |
| 237 | |
| 238 | **Recommendation**: Run `/seo geo <url>` for comprehensive AI search visibility analysis including citability scoring, llms.txt check, and brand mention audit. |
| 239 | |
| 240 | |
| 241 | |
| 242 | ## Reference Files |
| 243 | |
| 244 | Load on-demand as needed: |
| 245 | `../seo/references/local-seo-signals.md`: Ranking factors, review benchmarks, citation tiers, GBP feature status, algorithm updates |
| 246 | `../seo/references/local-schema-types.md`: LocalBusiness subtypes by industry, schema patterns, citation sources per vertical |
| 247 | |
| 248 | |
| 249 | |
| 250 | ## Output |
| 251 | |
| 252 | Generate `LOCAL-SEO-ANALYSIS-{domain}.md` with: |
| 253 | |
| 254 | **Local SEO Score: XX/100** with dimension breakdown table |
| 255 | **Business type**: Brick-and-mortar / SAB / Hybrid |
| 256 | **Industry vertical detected** + industry-specific findings |
| 257 | **GBP optimization checklist** (detected signals vs missing) |
| 258 | **Review health snapshot** (rating, count, velocity indicators, response patterns) |
| 259 | **NAP consistency audit** (page vs schema discrepancies, cross-source comparison) |
| 260 | **Citation presence check** (Tier 1 directory status) |
| 261 | **Local schema status** (present/missing/malformed + ready-to-use fix) |
| 262 | **Location page quality** (if multi-location: unique content %, doorway risk, store locator) |
| 263 | **Top 10 prioritized actions** (Critical > High > Medium > Low) |
| 264 | **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 |
| 265 | |
| 266 | |
| 267 | |
| 268 | ## Quick Wins |
| 269 | |
| 270 | Claim and optimize Apple Maps / Apple business listings; verify any Apple Business launch/rename claim against Apple primary first |
| 271 | Claim and optimize Bing Places (powers ChatGPT, Copilot, Alexa) |
| 272 | Fix any NAP discrepancies between page, schema, and GBP |
| 273 | Add LocalBusiness schema with correct industry subtype |
| 274 | Add `geo` coordinates with 5+ decimal precision |
| 275 | Ensure phone number uses `tel:` link for click-to-call |
| 276 | Add city + service keyword to title tag and H1 |
| 277 | |
| 278 | ## Medium Effort |
| 279 | |
| 280 | Create dedicated page for each core service (Whitespark: #1 local organic factor) |
| 281 | Build review generation strategy maintaining 18-day minimum cadence |
| 282 | Submit to three data aggregators (Data Axle, Foursquare, Neustar/TransUnion) for downstream distribution |
| 283 | Claim industry-specific directory listings (per vertical recommendations) |
| 284 | Add industry-specific schema patterns (Menu for restaurants, Physician for healthcare, etc.) |
| 285 | Implement hub-and-spoke internal linking for service/location pages |
| 286 | |
| 287 | ## High Impact |
| 288 | |
| 289 | Build local digital PR strategy targeting "best of" lists (#1 AI visibility factor) |
| 290 | Develop unique, non-swappable content for each location page (>60% unique) |
| 291 | Establish presence on platforms ChatGPT sources from (Yelp, TripAdvisor, BBB, Reddit) |
| 292 | Pursue Chamber of Commerce and BBB membership (authority + verification signals) |
| 293 | Create community involvement content (sponsorships, local events, partnerships) |
| 294 | |
| 295 | |
| 296 | |
| 297 | ## DataForSEO Integration (Optional) |
| 298 | |
| 299 | 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. |
| 300 | |
| 301 | |
| 302 | |
| 303 | ## Error Handling |
| 304 | |
| 305 | | Scenario | Action | |
| 306 | |----------|--------| |
| 307 | | URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess site content. Suggest the user verify the URL and try again. | |
| 308 | | 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. | |
| 309 | | 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. | |
| 310 | | Industry vertical unclear | Present the top two detected verticals with supporting signals. Ask the user to confirm before applying industry-specific recommendations. | |
| 311 | | 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). | |
| 312 | |
| 313 | ## FLOW Framework Integration |
| 314 | |
| 315 | 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. |
| 316 |