local-seo

star 0

Local SEO mastery for service-area businesses. Google Business Profile management, map pack ranking, citation building, review strategy, competitor intelligence, DBA strategy, virtual offices, and community presence. Load alongside seo-foundations for any local business deployment (ServiceStack primary, but applicable to any CAIO client serving a geographic area).

get-caio By get-caio schedule Updated 3/19/2026

name: local-seo description: "Local SEO mastery for service-area businesses. Google Business Profile management, map pack ranking, citation building, review strategy, competitor intelligence, DBA strategy, virtual offices, and community presence. Load alongside seo-foundations for any local business deployment (ServiceStack primary, but applicable to any CAIO client serving a geographic area)." version: 1.0.0

Local SEO

Purpose

Non-obvious patterns for local search ranking — beyond what any developer would know from general SEO knowledge. Load seo-foundations first for keyword research and on-page basics.


1. GBP Seasonal Category Rotation

Documented ranking factor for multi-service trades. The primary GBP category should match current search demand.

HVAC:
  Nov-Mar → "Heating Contractor"
  Apr-Oct → "Air Conditioning Contractor"

Plumbing (if also does drain cleaning):
  Spring/Fall → "Plumber"
  Summer (pool season) → varies by market

Agent proposes the swap via Helm queue. Owner confirms. After two approval cycles, this earns autonomy (auto-swap with notification).


2. Grid-Based Rank Tracking

Don't track from one point. Rank varies dramatically by searcher location.

METHOD:
- Define service area as a geographic boundary
- Create a grid of tracking points (25-point default, 5×5)
- Query each keyword from each grid point
- Visualize as heat map overlay on actual map

DATA SOURCE: DataForSEO SERP API (Local Pack endpoint)
COST: ~$0.001-0.002 per query. 25 points × 10 keywords = $0.25-0.50/scan
FREQUENCY: Weekly

WHAT TO TRACK:
- Position (1-3 = in pack, 4-20 = local finder, not ranked)
- Which competitors appear at each point
- Week-over-week movement per grid point
- Average position across all points (headline metric)

3. SEO Score — Weighted 100-Point Model

Single metric for contractor SEO health surfaced in Helm.

FACTOR                                          WEIGHT   SOURCE
─────────────────────────────────────────────────────────────────
GBP completeness                                15 pts   Google GBP API
Review score (rating × volume × velocity ×      20 pts   GBP API + DataForSEO
  recency)
Review response rate + response time            5 pts    review-mgmt module
Photo freshness (30/60/90 day tiers)            5 pts    Google GBP API
Post activity (last 30 days)                    5 pts    Google GBP API
Q&A health (questions answered, freshness)      3 pts    Google GBP API
Citation consistency (top 50 directories)       15 pts   DataForSEO Business Data API
Website SEO score                               15 pts   DataForSEO On-Page API
Backlink profile                                10 pts   DataForSEO Backlinks API
Behavioral signals (CTR, directions, calls)     7 pts    GBP Insights API
─────────────────────────────────────────────────────────────────
TOTAL                                           100 pts

Score generates three highest-impact actions per week — surfaced in Helm, not a dashboard to stare at.


4. NAP Consistency — Exact Match Only

CRITICAL: NAP must be EXACTLY identical everywhere.
- "123 Main St" ≠ "123 Main Street" ≠ "123 Main St."
- "Suite 200" ≠ "Ste 200" ≠ "#200"
- "(704) 555-1234" ≠ "704-555-1234" ≠ "7045551234"
- "ABC Plumbing LLC" ≠ "ABC Plumbing" ≠ "A.B.C. Plumbing LLC"

Store as canonical NAP in the local-presence module.
All submissions and checks reference the canonical version.

NAP change propagation order: GBP first (source of truth) → website → Tier 4 aggregators (cascades) → Tier 1 manually → Tier 2-3. Run consistency scan 30 days after to verify propagation.


5. Review Routing System

Not all customers should go to Google. Route by satisfaction signal.

JOB COMPLETED → 2hr delay → SMS + email: "How was your experience?"

5 stars → Direct link to Google review with keyword coaching prompt
          "Tip: mentioning the service and your neighborhood helps other
          people in [area] who need similar work."

4 stars → Internal feedback form → follow up → optionally redirect to Google

1-3 stars → Internal escalation → owner alerted → NEVER routes to Google

AI-drafted positive responses: queue for review; after 10+ approvals → auto-publish. Negative responses: ALWAYS require owner approval. Response within 4 hours.


6. DBA Strategy

Google's business name field directly affects ranking. "John Smith LLC" loses to "Charlotte Emergency Plumbing." A DBA lets contractors legally use a keyword-rich name.

SCORING: search volume × availability × natural-sounding

GOOD: "[City] [Service]" — "Charlotte Plumbing Co"
GOOD: "[Region] [Service]" — "Lake Norman Electric"

BAD: "[City] Best Cheap Emergency [Service]" — keyword stuffing
     Google's spam updates penalize keyword-stuffed names
     The DBA MUST be legally registered (not just displayed)

7. Virtual Office Compliance

Virtual offices expand map pack presence to new cities without opening a branch. Google requirements:

MUST MEET ALL:
□ Real street address (no PO boxes)
□ Staffed during stated business hours
□ Can pass Google's video verification if required

COMMON FAILURES (cause listing suspension):
✗ Regus/WeWork address used by 50 other businesses
✗ Address listed as "virtual" on the space provider's own site
✗ Hours listed but nobody actually there

ROI benchmark: ~$100-200/mo cost. Expected ~5 calls/month × 30% close rate × $300 avg ticket = $450/month revenue.


8. Photo Geotagging Pipeline

EXIF DATA INJECTED at job completion:
- GPS latitude/longitude (from job address)
- ImageDescription: "[Service] by [Company] in [City]"
- DateTimeOriginal: Job completion timestamp

Photos feed: GBP posts → service page galleries → location pages
Format: WebP, responsive sizes, descriptive alt text

9. Citation Tiers

Build in order — each tier takes time to propagate.

TIER 1 (Week 1 onboarding): GBP, Apple Maps, Bing Places, Facebook, Yelp, BBB,
  Nextdoor, Thumbtack, Angi, HomeAdvisor

TIER 2 (Month 1): Yellow Pages, Manta, Superpages, MapQuest, Foursquare

TIER 3 (Niche): Trade-specific — HVAC.com, Plumber.com, manufacturer dealer
  locators, state licensing boards, trade associations

TIER 4 (Data Aggregators): Data Axle, Neustar/Localeze, Foursquare
  Submitting here pushes NAP to hundreds of smaller directories

Usage in Agent Harness

For any local business site build:
1. Load seo-foundations (base layer)
2. Load local-seo (this skill)
3. Load aeo-geo if AI visibility is in scope
4. Load seo-integrations for technical implementation
5. Load seo-agent-playbook for Helm workflow setup
Install via CLI
npx skills add https://github.com/get-caio/harness --skill local-seo
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator