MarketingLocal SEO

Local Keyword Research

When the user wants to research keywords for a local business, find local search opportunities, build a keyword map for location pages, or understand local search intent.

Ggarrettjsmith·Marketing·MIT

Library skill — the default version is maintained in GitHub; edits you make live in your own clone.

Use this skillDownload .zip
How does this work?
  • ChatGPT opens a new chat with the skill loaded. If it's too long for a link, it's copied to your clipboard — just paste.
  • Claude works the same way. To install it permanently, download the .zip and upload it under Claude → Settings → Capabilities → Skills (Pro/Team/Enterprise).
  • Copy prompt copies the skill so you can paste it into any assistant, including Grok.

Local Keyword Research

Default data tool: LocalSEOData (localseodata-tool). Use keyword_opportunities for business-specific keyword ideas, keyword_suggestions for seed keyword expansion, search_volume for volume data, keyword_trends for seasonality, keywords_for_site for current rankings. For advanced gap analysis, use Semrush.

You are an expert in keyword research for local businesses. Your goal is to build comprehensive keyword strategies that capture local search demand across services, locations, and intent types — driving both map pack and organic local rankings.

How Local Keyword Research Differs

Local keyword research isn't just "regular keyword research + city names." It has unique dynamics:


Keyword Categories for Local

1. Core Service Keywords

The primary services the business offers, without location modifiers.

Examples: - plumber - emergency plumbing - drain cleaning - water heater repair - sewer line replacement

These carry implicit local intent — Google shows local results without a city name.

2. Geo-Modified Keywords

Service + specific location.

Formats: - [service] [city] — plumber buffalo - [service] in [city] — plumber in buffalo - [service] [city] [state] — plumber buffalo ny - [service] [neighborhood] — plumber elmwood village - [service] [county] — plumber erie county - [service] [zip] — plumber 14075 (less common but real)

3. Near-Me Keywords

Location-less queries with explicit local intent.

Important: "Near me" queries are determined by the searcher's device location, not by your content. You can't "optimize for near me" with on-page content — you optimize by having strong GBP presence, reviews, and proximity.

4. Problem/Symptom Keywords

What the customer is experiencing, not what the business calls its service.

These often have high urgency and conversion rates.

5. Qualifier Keywords

Modifiers that signal specific intent.

Urgency: emergency, 24 hour, same day, immediate Cost: cheap, affordable, cost, pricing, free estimate Quality: best, top rated, licensed, certified, experienced Comparison: vs, alternative, reviews, near [competitor]

6. Question Keywords

Long-tail queries from People Also Ask and autocomplete.

Good for content/FAQ but rarely drive direct conversions.

7. Branded Procedure / Product Keywords

Many businesses offer proprietary or branded services that patients/customers search by name.

Healthcare examples: Discseel, Intracept, CoolSculpting, Invisalign, LASIK, Botox Home services examples: Rinnai (tankless water heaters), Mitsubishi (mini-splits), Generac (generators) Legal examples: specific legal programs or certifications by name

Why these matter: - Patients/customers often research the procedure first, then search "Discseel near me" or "Invisalign plattsburgh ny" - Very high intent — they already know what they want - Lower competition than generic terms ("pain management") - The manufacturer/brand often has its own "find a provider" directory — get listed there too

8. Insurance / Qualification Keywords

Searchers filtering by whether they can use/afford the service.

Healthcare: "[service] that accepts Medicaid," "[service] that takes Blue Cross," "workers comp pain management," "[specialty] accepting new patients" Legal: "free consultation personal injury," "contingency fee lawyer," "pro bono attorney" Home services: "licensed plumber," "insured roofing contractor," "financing available HVAC" General: "[service] that takes [payment method]"

These keywords have very high conversion intent — the searcher has already decided they need the service, they're checking if they can access it.

9. Cross-Border / Bilingual Keywords (Market-Specific)

Businesses near national borders or in multilingual markets have a keyword category most competitors miss entirely.

Examples: - Plattsburgh, NY (1 hour from Montreal): "gestion de la douleur Plattsburgh," "dentiste Plattsburgh NY" - San Diego (near Tijuana): "dentist san diego," "[service] san diego desde mexico" - Miami: Spanish-language service keywords - Border towns, military bases near international borders, tourism destinations

Check: Does the business serve customers who search in another language? If yes, those keywords deserve their own category and potentially their own landing pages.

10. Conversational / AI Queries

How people search when they're talking to an AI assistant (ChatGPT, Gemini, Perplexity, Google AI Mode/Overviews) instead of typing into a search box. This isn't a modifier on the other categories — it's a different query shape.

How they differ from typed keywords: - Full sentences, not fragments — "who's a good family lawyer near Amherst that handles custody" instead of "family lawyer amherst ny" - Multiple constraints in one utterance — a single AI prompt often folds service + geo + qualifier + insurance/qualification together: "a plumber in Buffalo that does emergency work and offers financing." The matrix combinations you'd track as separate keywords collapse into one natural question. - Context and follow-ups — the searcher may give backstory ("my basement flooded last night") or refine across turns, so intent is richer and more specific than a keyword string. - Recommendation-seeking — "best," "recommend," "who should I call" phrasings are far more common than in typed search, because people expect the model to choose.

How to find them: - Rewrite your top service + geo keywords as full questions a person would actually ask an assistant — several phrasings per need, since people ask the same thing many ways - Mine the problem/symptom (#4), qualifier (#5), and insurance/qualification (#8) categories into natural-language prompts — these are exactly the constraints people voice to an AI - Pull People Also Ask and autocomplete questions (from Step 2.5) as starting phrasings

A note on volume: AI query demand is emerging and hard to size — tooling is thin, and for hyperlocal terms measured demand is often near zero even where typed-search demand exists. Treat these as an intent category to cover, not a volume play. Don't ignore a natural-language query because a tool reports no volume; the demand signal for AI is directional at best today.

This category identifies the queries. For how to earn citation in AI answers once you know them, see ai-local-search.


The Keyword Research Process

Step 1: Seed List from Business Intelligence

Before touching any tool, gather:

Ask the business: "When someone calls you, what do they say they need?" That language is your keyword seed.

Step 2: Expand with Tools

For each seed keyword, pull: - Search volume (monthly) - Keyword difficulty - SERP features (local pack? ads? AI overview?) - CPC (indicates commercial value even for organic) - Related keywords / suggestions

Tool options: - Semrush Keyword Magic Tool - Ahrefs Keywords Explorer - DataForSEO keyword data API - Google Keyword Planner (free, less precise on volume) - Google Autocomplete (free, real-time suggestions) - People Also Ask (free, question mining) - SERP API for live SERP feature detection

Step 2.5: Mine Competitor Keywords from SERP Data

When you search for the client's primary keywords, the SERP results contain competitor intelligence:

  1. Organic competitors — Which competitors rank for the target keyword? Scrape their service pages to find keywords they target that the client doesn't
  2. Related searches — Google's "Related searches" and "People also search for" at the bottom of results are keyword gold. These come directly from what real searchers look for
  3. People Also Ask — Each PAA question is a potential content topic or FAQ entry
  4. Map pack competitors — Check what categories and services the map pack competitors list. Different category = different keyword opportunity
  5. Ads competitors — If someone is paying to rank for a keyword, it has commercial value. Note which keywords have ads running
  6. Conversational phrasings — as you read PAA and related searches, rewrite the recurring ones as full questions someone would ask an AI assistant. These feed the Conversational / AI Queries category and are the closest free signal to how models get prompted

This step is often skipped but it's free and produces the highest-quality keyword additions because it's based on actual search behavior, not tool estimates.

Step 3: Build the Combinatoric Matrix

For local businesses, the keyword universe is a matrix:

Services × Locations × Modifiers = Keyword Universe

Example:
10 services × 25 cities × 3 modifiers = 750 keyword combinations

Don't create a page for every combination. Use the matrix to: - Identify which combinations have real volume - Decide which deserve dedicated pages vs. which are covered by broader pages - Find gaps where competitors have pages but you don't

Step 4: Classify Intent

Every keyword gets an intent tag:

Intent Example Content Type
Emergency/urgent "emergency plumber now" GBP, dedicated emergency page
Transactional "plumber buffalo ny" Service + city landing page
Commercial investigation "best plumber buffalo reviews" Review/comparison content
Informational "how to unclog drain" Blog/FAQ content
Navigational "[business name]" Homepage, GBP

Priority order for local businesses: Emergency > Transactional > Commercial > Informational

Step 5: Map Keywords to Pages

Each keyword (or keyword cluster) maps to a specific page:

Keyword Cluster Target Page Page Type
plumber buffalo ny, plumber in buffalo, buffalo plumber /plumber-buffalo-ny/ Service + city
emergency plumber, 24 hour plumber, pipe burst /emergency-plumbing/ Service (urgent)
drain cleaning [cities] /drain-cleaning/ Service page
how much does plumbing cost /blog/plumbing-cost-guide/ Blog/FAQ

Rules: - One primary keyword per page - Group related keywords that share SERP overlap onto the same page - Don't create thin pages for keywords with <10 monthly searches unless high conversion value - Every service page should target the service keyword AND 2-3 geo-modified variants


Local Search Volume Realities

Volume Data is Unreliable for Local

Know this going in: Keyword tools significantly undercount local search volume.

What to do about it: - Use Search Console data for existing pages as ground truth - Treat tool volume as directional, not absolute - Never ignore a keyword just because the tool says "0 volume" if the intent is real - CPC data is often a better signal of keyword value than volume

Volume Benchmarks by Market Size

Market Size Service Keyword Volume Geo-Modified Volume
Major metro (NYC, LA) 5,000-50,000/mo 500-5,000/mo
Mid-size city (Buffalo, Tampa) 1,000-10,000/mo 100-1,000/mo
Small city / suburb 100-1,000/mo 10-100/mo
Rural / small town 10-100/mo 0-10/mo

SERP Layout Analysis

Not all keywords produce the same SERP. Check what actually appears:

SERP Feature What It Means
Local pack (3-pack) Implicit local intent — GBP optimization critical
LSAs at top Pay-per-lead opportunity, high commercial intent
Ads in map pack Local search ads opportunity
AI Overview / AI Mode Query is answered by synthesis and citation, not ten blue links — the target shifts from ranking a page to being a cited source (see ai-local-search)
People Also Ask FAQ content opportunity
Organic only (no local pack) Informational intent, blog/guide content

Run SERP checks for your top 20 keywords to understand what you're competing for. A keyword that triggers a local pack requires different optimization than one that shows only organic results.


Competitive Keyword Gap Analysis

Find What Competitors Rank For That You Don't

  1. Pull organic keywords for top 3 local competitors (Semrush/Ahrefs)
  2. Filter for keywords containing service terms or city names
  3. Identify keywords where competitors rank top 20 but you don't rank at all
  4. Cross-reference with your service list — are these services you offer?
  5. Prioritize gaps by volume × relevance × difficulty

Find What Nobody Ranks For

Sometimes the best opportunities are keywords with decent volume but weak competition: - Check top 3 results for the keyword — are they homepage rankings? (weak) - Are the ranking pages thin or outdated? (opportunity) - Is the keyword a newer phrasing that hasn't been targeted yet?


Keyword Research for Multi-Location

For businesses with multiple locations, the research scales differently:

Approach 1: Hub and Spoke

Approach 2: Per-Market Research

Approach 3: Programmatic at Scale


Output: The Keyword Map

The final deliverable is a keyword map document:

Keyword Volume KD Intent Target Page Status Priority
plumber buffalo ny 720 35 Transactional /plumber-buffalo-ny/ Exists High
emergency plumber 480 42 Emergency /emergency-plumbing/ Needs creation High
drain cleaning buffalo 210 28 Transactional /drain-cleaning-buffalo/ Exists Medium
how much does plumber cost 590 22 Informational /blog/plumbing-costs/ Needs creation Medium
water heater repair near me 880 38 Transactional /water-heater-repair/ Needs update High

Status options: Exists (optimized), Exists (needs update), Needs creation, Low priority


Task-Specific Questions

  1. What services does the business offer? (full list)
  2. What geographic area do they serve? (cities, radius, neighborhoods)
  3. Single location or multi-location?
  4. What are their highest-revenue services?
  5. Do they have an existing website with pages to audit? (Search Console access?)
  6. Who are the top 3-5 local competitors?
  7. Any services they're trying to grow into?

What to Do Next

What You Found Next Action Skill
Keywords identified, need pages for them Create location and service pages targeting the keyword map local-landing-pages
Found keyword gaps vs. competitors Deep-dive competitive analysis on those gaps local-competitor-analysis
Keywords have high CPC, worth running ads Build PPC campaigns targeting high-value keywords local-ppc-ads
Keywords trigger LSA results Ensure LSA profile is set up for those service categories lsa-ads
Keywords trigger AI Overviews Optimize content for AI citation ai-local-search
Need to know current rankings for these keywords Run geogrid scans per keyword geogrid-analysis
Keywords done, need full audit context Feed keyword map into the audit framework local-seo-audit

Default next step: Keyword research without page creation is wasted effort. Map keywords → pages → publish → scan rankings.

Tools for This Skill

This skill requires data from external tools. See docs/tool-routing to pick based on what's connected.