Local SEO Keyword Research: How to Do It Across Many Service Areas
Run local SEO keyword research across every service you sell and every town you cover, then decide which city pages are worth building.
Key takeaways
- Google supplies the location you never typed. Most local searches name no city, so cover “plumber in Aurora” and plain “plumber.”
- Build a grid, not a list. Services × modifiers × locations gives you every phrase worth checking.
- Not every tool can see your town. Ahrefs reports country averages. Keyword Planner and Semrush let you set a city.
- Zero reported volume is not zero demand. Those terms deserve a section, not a page.
- Mass-produced city pages are a real risk. Swapping the town name across near-identical pages is what Google calls doorway abuse.
Why local SEO keyword research is a different job
National keyword research asks one question: how many people search this phrase? Local SEO keyword research asks three. How many search it, where are they standing, and does Google think you are close enough to serve them?
Google fills in the location for you
Google says local results are based mainly on relevance, distance, and prominence (Google Business Profile Help). Distance gets measured whether or not the searcher names a place. Someone in Aurora who types “emergency plumber” sees Aurora plumbers.
So collect both kinds of term. Implicit ones like “water heater replacement” are higher volume and decided largely by proximity and your Google Business Profile. Explicit ones like “water heater replacement Aurora IL” are lower volume but winnable with a page.
Not every keyword tool can see your town
Ahrefs reports volume as a twelve-month average for a whole country, so it cannot tell you how many people in Naperville search plain “plumber.” Semrush can — its location selector goes down to city and ZIP, though local volume is one keyword at a time, not bulk.
Google Keyword Planner can too. Set the location to a state, metro, or single city and it returns volume for that geography, free with a Google Ads account even if you never run ads. One catch: with no active ad spend, Keyword Planner shows broad ranges like 100–1K rather than exact numbers. That is enough to sort markets into tiers, not to separate two towns in the same bracket — for that, run a small campaign for a month or pull the number from Semrush. If you do run ads, your search terms report is better still. Our PPC team mines it for organic ideas.
How to do local keyword research: the services × modifiers × locations grid
Stop brainstorming and start multiplying. Open a spreadsheet with three columns.
Column one: what you sell, in customer language. Not “hydro-jetting solutions,” just “drain cleaning.” Split anything a customer searches separately, like water heater repair versus installation.
Column two: modifiers. These tell you how ready the searcher is.
| Modifier type | Examples | What it signals |
|---|---|---|
| Urgency | emergency, 24 hour, same day, tonight | Ready to call now. Highest value, lowest volume |
| Price | cost, how much, affordable, quote | Comparing options. Deserves a page with real ranges |
| Trust | best, top rated, licensed, reviews, near me | Choosing between providers they already found |
| Problem | no hot water, burst pipe, AC blowing warm | A symptom, not a service. Often your least competitive terms |
| Equipment | tankless, sump pump, mini split, slab | High intent, low volume. Good for FAQs and blog posts |
Column three: locations. More than city names. Add neighborhoods, counties, the metro nickname locals actually say, and bordering towns.
Fifteen services × five modifiers × ten locations gives 750 raw phrases. That is not a strategy. It is the input for the demand check below.
Where to find the words real customers use
Your grid produces the phrases you can imagine. These sources produce the ones you cannot.
Google’s suggestions and your own profile
Read autocomplete before pressing enter, adding a space and each letter of the alphabet to force out more. Check related searches at the foot of the page, and expand People Also Ask where it appears.
Then read your Google Business Profile category list. It shows how Google classifies businesses like yours. You get one primary category plus up to nine more, and the primary matters most in the map pack.
Competitors, call logs, and Search Console
Check who ranks in each target town using a location-aware rank checker, not your own browser, which biases results toward where you are. Competitors ranking in a town they are not based in are the ones to study. They won on content and links rather than proximity, which is where local link building decides it.
Then read your last hundred inbound calls and your contact form free-text field. Customers describe problems in language absent from every keyword tool.
Finally, the Search Console performance report holds roughly sixteen months of query data and lets you filter queries with a regular expression. A pattern listing your town names separated by pipes pulls every city-flavored query you already rank for.
Tip: Before researching a single new keyword, export the Search Console queries that name a town and already sit on page two. Improving a page that nearly ranks beats building a new one.
Not sure which of your city pages earn anything?
We will map every page to the terms it actually ranks for and show you what to fix first in a free SEO audit.
Getting local search volume you can trust
No single source is reliable alone. Use three and look for agreement.
| Source | What it gives you | Geographic detail |
|---|---|---|
| Google Keyword Planner | Volume ranges and forecasts | Country, state, metro, city |
| Ahrefs | Volume, difficulty, results-page data | Country averages only |
| Semrush | Volume, difficulty, results-page data | Country, region, city, ZIP (one keyword at a time) |
| Search Console | Queries you already show up for | Country dimension, regex on queries |
No city number available? Multiply national volume for the implicit term by your metro’s share of national population. It is rough, so use it to rank markets against each other, not to forecast revenue.
Tools also round small numbers down to zero. So the real question is not whether a term has volume, but whether it deserves its own page or just a section on an existing one.
How to do keyword research for multiple locations without drowning
This is where multi-location plans fall apart. You serve 24 towns and sell 12 services, so the grid demands 288 pages. You do not need them.
Score each market before you build for it
Run every town through four questions. Build only for those that pass at least three.
- Is there measurable demand? Check the implicit service term in Keyword Planner with that city as the location.
- Do you truly serve it? Can you get there inside your promised response window, profitably? “If the job is big enough” means no.
- Do you have something specific to say? Jobs done there, a photo, a permit quirk, a local review.
- Is the local pack beatable? If the top three map results sit inside that town and you are 20 miles out, a page will not get you into the pack. It can still win an organic listing below.
Tier your markets instead of blanketing them
| Tier | Which towns | What you build |
|---|---|---|
| 1: Core | Home base plus two or three growth targets | A page per major service, a town hub, local links, local reviews |
| 2: Secondary | Real demand and real jobs, not a growth target | One town page covering all services, with real project detail |
| 3: Edge of map | Occasional jobs, no measurable demand | No page. A row on your service-area page and a profile service area |
You can list up to 20 service areas on your profile. There is no ranking bonus for filling all 20, and stuffing it with distant places you rarely serve invites a suspension.
The mass-produced city page trap
You can buy tools that generate a page for every town in your state by swapping one variable. Do not.
Two patterns in the Google Search spam policies cover this directly. Doorway abuse is sets of pages targeted at specific regions that funnel users to the same destination. Scaled content abuse is producing many pages that add little original value, by AI, automation, or template.
The risk is not only that those pages fail. They dilute the internal links your good pages need, and a domain made mostly of near-duplicates reads badly to Google. It sits near the top of our SEO audit checklist.
Tip: Use the swap test. Replace every town name on a city page with a different town. If it still reads as accurate, the page has no local content and belongs inside its parent service page.
How to structure service-area pages that do work
The strongest local pages are service plus location, not location alone. “Water heater replacement in Aurora” beats “Aurora plumber” because it matches a specific query and lets you write specifically. Save broad town pages for tier one markets.
Every location page needs at least three of these, written fresh:
- Two or three real jobs in that town, a sentence each
- Reviews from customers there, with the town shown
- Local conditions: housing age, water hardness, system types, permit rules
- Neighborhood or landmark names a local would recognize
- Your coverage detail for the area, plus photos of your work there
Boilerplate is fine for what does not change, like licensing terms, as long as it is not most of the page. Keep URLs flat, and link every location page from a service-area index. Orphaned city pages almost never rank.
A worked example: a plumber across five suburbs
You are based in Naperville, Illinois, sell twelve services, and take jobs in Aurora, Wheaton, Lisle, and Bolingbrook. Here is the plan after the demand check.
| Market | What the demand check showed | Decision |
|---|---|---|
| Naperville | Steady demand across all core services | A page for each of five core services, plus a Naperville hub |
| Aurora | Clear demand for water heater and drain work, map pack held by in-town firms | Two service-plus-city pages aimed below the pack |
| Wheaton | Modest but real demand for repiping and sewer work | One Wheaton page covering all services, heavy on project detail |
| Lisle | Very thin, and most Lisle searchers also see Naperville results | No page. Add a Lisle section to the Naperville hub |
| Bolingbrook | Some demand, and no competitor has written anything specific | One page. Review after 90 days; keep only if it earns impressions |
That is ten pages instead of the sixty the raw grid implied. Now assign every surviving phrase to exactly one page. If two pages chase the same primary keyword, Google picks one, often the weaker one. Our guide to local SEO for small business covers the profile and citation work these pages depend on.
Tracking whether the research paid off
- Search Console, filtered by page. Watch impressions first. Rising impressions with no clicks means you rank too low. Nothing after eight weeks means merge the page.
- Rank tracking by location. Track from inside each target town, not from your office.
- Calls and forms by landing page. Use a distinct tracking number per tier.
Our guide on how to check website traffic covers what to watch monthly.
Want this done for your service area, not just explained?
Preferic builds the grid, the tiering, and the pages. See our local SEO services, or get started and we will scope your markets.
How do I do local keyword research for free?
Four free sources cover most of it. Google Keyword Planner gives volume with the location set to your city, and needs only a Google Ads account, not ad spend. Without active spend it shows ranges like 100–1K rather than exact numbers, enough to tier markets but not to split two towns in one bracket. Autocomplete and People Also Ask give you real phrasing, and Search Console shows queries you already appear for.
How do you do keyword research for multiple locations?
Build a grid of services × modifiers × locations, then check demand per market in Keyword Planner with that city set as the location. Score each town on demand, whether you truly serve it, whether you have something specific to say, and whether the local pack is beatable.
Should I create a separate page for every city I serve?
No. Only build a city page when you can write something true of that town and no other: real jobs there, local reviews, local conditions, neighborhood names. Near-identical pages with the town name swapped match the doorway abuse pattern in Google’s spam policies.
Does the city name have to be in the page title?
For a page targeting a specific town, yes. Put the service and the city in the title tag and the H1 in natural language, such as “Water Heater Replacement in Aurora, IL.” Do not stuff several towns into one title, which splits relevance and costs clicks.
Why do keyword tools show almost no volume for my city keywords?
Two reasons. Ahrefs, for one, reports volume as a country-level average, so a phrase only one metro would type looks tiny. And small numbers get rounded down to zero. A term showing nothing can still produce calls worth thousands.
How is local keyword research different from keyword research for ecommerce?
Local research adds geography, and must cover queries where the searcher never types a location because Google infers it. Keyword research for ecommerce replaces geography with catalog structure: categories, attributes, and purchase modifiers. Both share one rule, which is never build a page per combination.