When the user wants to audit, review, or diagnose a business's local search presence.
Library skill — the default version is maintained in GitHub; edits you make live in your own clone.
Default data tool: LocalSEOData (
localseodata-tool). Uselocal_auditfor a comprehensive audit in one call (50 credits). For individual checks:business_profile,citation_audit,review_velocity,profile_health,page_audit. For geogrid:geogrid_scanfor one-time, Local Falcon for ongoing.
You are an expert in local search optimization. Your goal is to perform a comprehensive audit of a business's local search presence and deliver prioritized, actionable recommendations.
Before auditing, understand:
Business Details - Business name, address, phone, website - Business type: storefront, SAB, hybrid - Single or multi-location - Primary services and target keywords
Current State - Is the GBP claimed and verified? - Any known ranking issues? - Recent changes (move, rebrand, phone change)?
Scope - Full audit or specific area? - Which geographic markets? - Which keywords matter most?
Duplicate and fragmented listings are one of the most damaging local SEO issues. They split review signals, confuse Google's entity understanding, and cannibalize rankings.
Step 1: Find all related listings
Search for ALL of these on Google Maps: - Exact business name - Business name variations (abbreviations, old names, "doing business as") - Owner/practitioner names (especially for medical, legal, financial) - Phone number (search the raw number in Google Maps) - Address (other businesses listed at the same address) - Old addresses if the business has moved
Step 2: Catalog what you find
For each listing found, document: - Business name as listed - Address - Phone number - Review count and rating - Categories - Claimed or unclaimed - Relationship to main listing (duplicate, practitioner, old location, related business)
Step 3: Determine the strategy
Not all related listings should be merged. Decision framework:
MERGE when: - Same business, slightly different name (e.g., "Bob's HVAC" and "Bob's Heating & Cooling") - Old address listing that's no longer valid - Unclaimed duplicate with few/no reviews - Test or accidentally created listings
KEEP SEPARATE when: - Distinct physical locations that both serve customers - Different business entities (even if same owner) - Practitioner listing where the practitioner sees patients independently AND at the practice (healthcare-specific — see Vertical Edge Cases)
REDIRECT/CONSOLIDATE when: - Old listing has significant reviews you don't want to lose - Practitioner listing is cannibalizing the practice listing - Department listing that should roll into the main business
Step 4: Execute consolidation
For listings to MERGE/REMOVE: 1. If unclaimed: Use "Suggest an edit" → "Close or remove" → "Duplicate" and point to the correct listing 2. If claimed by you: Delete through GBP dashboard, or mark as "Permanently closed" then delete 3. If claimed by someone else: Report as duplicate through Google Business support with evidence 4. Document the before state (screenshots) in case Google needs proof
For listings with reviews to PRESERVE: - Google does NOT merge reviews between listings. There is no review transfer process. - If the duplicate has significant reviews (20+), weigh the cost of losing them vs. the SEO damage of keeping the duplicate - Strategy: Keep the listing with the most reviews as the primary. If that's not the "right" listing, update it to have the correct information rather than deleting it
Step 5: Monitor - Check monthly for 3 months after consolidation - Duplicates often reappear through data aggregators pushing old info - Set a Google Alert for the business name to catch new auto-generated listings
@type (most specific subtype)areaServed definedgeo coordinates accurateopeningHoursSpecification set⚠️ Schema detection note: web_fetch and curl cannot reliably detect JSON-LD injected via JavaScript (common with WordPress plugins). Use browser DevTools or Google's Rich Results Test to verify.
Check NAP accuracy on: - [ ] Google Business Profile - [ ] Apple Maps / Apple Business Connect - [ ] Bing Places - [ ] Yelp - [ ] Facebook Business Page - [ ] BBB (if applicable) - [ ] Industry-specific directories
Standard audit steps apply to all businesses, but certain verticals have unique requirements that change what you check and how you prioritize.
Practitioner vs. Practice listings: Medical practices often have a listing for the practice AND individual listings for each doctor. This is allowed by Google guidelines when the practitioner operates independently at the location. But it creates ranking fragmentation. - Audit all practitioner listings — are they helping or hurting? - Each practitioner listing should have a unique phone number (direct line or extension) per Google guidelines - If practitioner listings have few reviews and are cannibalizing the practice listing, consider removing them - If a star doctor has more reviews than the practice, consider making their listing the primary focus
Medical directories (check in addition to standard citations): - Healthgrades, WebMD, Vitals, ZocDoc, RateMDs, Doximity - Hospital/health system directories (if affiliated) - Insurance provider directories (often have outdated info) - State medical board listing - These carry HIGH authority for medical searches — inaccurate info here is worse than a wrong Yelp listing
HIPAA compliance for review responses: - NEVER reference patient care details, diagnoses, treatments, or appointment information in review responses — even if the patient mentioned it first - Response template: Acknowledge → express empathy generically → take offline. "We appreciate your feedback. Please contact our office at [phone] so we can address your concerns directly." - Train staff: even confirming someone IS a patient is a HIPAA violation
Schema: Use MedicalOrganization or specific subtypes (Physician, MedicalClinic, Dentist) instead of generic LocalBusiness. Add medicalSpecialty and healthcareService properties. → See local-schema for implementation.
Content considerations: - Medical content needs to demonstrate E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) - Author attribution on all medical content (doctor bylines) - Procedure/condition pages need clinical accuracy — don't let SEO content compromise medical accuracy
Attorney vs. firm listings: Similar to healthcare — individual attorney listings AND firm listing. Google allows both when the attorney operates at the location. - For solo practitioners: one listing is usually sufficient - For firms: firm listing as primary, individual attorney listings may help for specialized practice areas (e.g., personal injury attorney vs. the firm listing categorized as "law firm")
Legal directories: - Avvo, Martindale-Hubbell, Lawyers.com, FindLaw, Justia, Super Lawyers - State bar association directory (verify bar number and standing) - Court-specific directories
Review considerations: - Clients may be reluctant to leave public reviews (especially in criminal defense, family law, bankruptcy) - Review generation strategy needs to account for client sensitivity - Some jurisdictions have ethical rules about soliciting testimonials — check state bar guidelines
Content: Attorney advertising rules vary by state. Some states prohibit terms like "specialist" or "expert" unless board-certified. Verify before optimizing title tags and content.
Service Area Business (SAB) specifics: Most home service businesses hide their address in GBP (SAB model). This means: - No address displayed to customers - Ranking is based on service area settings + centroid of service area, not a pin on the map - Geogrid analysis must account for this — weak rankings far from the "centroid" are expected for SABs
Seasonal keyword patterns: - HVAC: AC repair peaks June-August, heating repair peaks November-February - Scan timing matters — rankings during peak season may differ from off-season - Content and GBP posts should align with seasonal demand
License/certification verification: - Many home service businesses display license numbers on GBP - Verify the license is current — an expired license shown on a listing is a red flag - Some markets require specific licenses to appear in LSA (Local Services Ads)
Review dynamics: - Home services live or die by reviews — customers almost always check before hiring - Emergency services (burst pipe, no heat in winter) generate the most emotional reviews - Photo reviews showing completed work are extremely high-value
Platform-specific review weight: - Google reviews matter most for map pack - But Yelp, TripAdvisor, and OpenTable reviews significantly impact consumer decisions in this vertical - DoorDash, Uber Eats, and Grubhub listings are now local signals too
Menu and ordering integration: - Google supports menu URLs and ordering links in GBP — these should be configured - Third-party menu/ordering platforms (ChowNow, Toast, Square) create additional citation-like signals
Photo frequency: - Restaurant GBP listings need photos updated weekly minimum — food photos go stale fast - User-generated photos often outweigh business photos in this vertical
Some businesses operate multiple websites (e.g., one for the main practice, one for a specific service line). Audit considerations: - Which domain is linked from GBP? Only ONE can be the primary URL. - Do the domains compete for the same keywords? If so, one is cannibalizing the other - Canonical strategy: is there a clear primary domain with the other supporting it? - Consolidation is almost always better than maintaining multiple domains for SEO purposes - Exception: genuinely different business entities that happen to share an owner
Businesses on managed website platforms (InboundMD, Scorpion, Yext Sites, etc.) have limited technical control: - Identify the platform early in the audit — it changes what's feasible to implement - Note which recommendations require platform access vs. what the business can do themselves - Common limitations: can't add custom schema, limited URL structure control, can't modify Core Web Vitals - Scope your recommendations to what's actually implementable - Flag platform limitations in the audit report so the client knows WHY certain fixes require their vendor
Executive Summary - Overall local search health score (1-10) - Top 3 priority issues - Quick wins available - Estimated impact of fixes
Section-by-Section Findings For each issue: - Finding: What's wrong - Impact: High / Medium / Low - Evidence: How you found it - Recommendation: Specific fix - Priority: Rank order
Prioritized Action Plan 1. Critical (blocking visibility) 2. High impact (significant ranking improvement) 3. Quick wins (easy, immediate benefit) 4. Ongoing (maintenance items)
Technical findings need plain-language translations. Every finding should answer: "What does this mean for my business?"
Category mismatch: "Your Google listing tells Google you're a 'Doctor' — but people searching for 'pain management' see results for 'Pain Management Physicians.' Changing your category to the specific match means Google shows you to the right searchers."
NAP inconsistency: "Your phone number is different on Yelp than it is on Google. This confuses Google about which listing is really you, and can push you down in results."
Missing schema: "Your website doesn't include the structured data that tells Google your address, hours, and services in a format it can read directly. Adding this helps Google confidently show your business info in search results."
Duplicate listings: "You have 6 separate Google listings. Instead of all your reviews and signals building up one strong listing, they're spread across 6 weak ones. Consolidating these would concentrate your ranking power."
Low review velocity: "Your competitor gets 15 new Google reviews per month. You get 3. Google interprets review volume as a signal of a active, trusted business."
Each audit finding should connect to the specific skill that addresses it:
| Audit Finding | Next Action | Skill to Use |
|---|---|---|
| GBP categories wrong | Optimize full profile | gbp-optimization |
| No local schema | Implement structured data | local-schema |
| Duplicate listings | Consolidation workflow | Duplicate workflow above |
| Low review count | Build review strategy | review-management |
| Weak geographic coverage | Run geogrid scan | geogrid-analysis |
| Missing location pages | Create landing pages | local-landing-pages |
| Citation inconsistencies | Citation cleanup | local-citations |
| No local links | Link building campaign | local-link-building |
| Competitor outranking you | Competitive analysis | local-competitor-analysis |
| Keyword gaps | Research opportunities | local-keyword-research |
Use the Finding → Next Skill Action Bridges table above to route each audit finding to the right skill. Then:
client-deliverables to create the audit report and SOWDefault next step: An audit without a prioritized action plan is just a list of problems. Always end with "here's what to fix first and why."
See docs/tool-routing to pick based on what's connected.