You are not competing with Amazon for “running shoes.” You’re competing with the shop three towns over for “best trail running shoes for flat feet Denver.” That’s the entire game, and most guides bury it under a “know your audience” checklist before getting to anything useful.
This one skips that. One business, start to finish: what to type, where to look, how to filter, and what to do with the list once you have it. The example is a plumber in Denver. Swap in your own service and city and every step still works the same way. Keyword research is one piece of search engine optimization for small businesses, not the whole discipline, but it’s the piece almost everything else depends on: you can’t write, structure, or build links to a page targeting the wrong term.
TL;DR
Stop chasing high-volume keywords you can’t win. Build your seed list from real customer language, filter it by intent and local specificity instead of volume, and match the format Google already wants before you write a word. Do that consistently and you’ll outrank sites with far more authority than you have, because they never bothered to get this specific.
Key Takeaways
- Trade search volume for specificity. A hyper-local, high-intent keyword with 10 monthly searches beats a broad one with 200 if it’s actually winnable.
- Build your seed list from real customer language (reviews, calls, texts), not a brainstorm session.
- Free tools (Autocomplete, People Also Ask, Google Keyword Planner, allintitle: searches) cover the fundamentals at zero cost.
- Score every keyword by intent modifier and competition, not just volume, before deciding what to write.
- Check for negative keywords, seasonality, and cannibalization risk before committing a page to a term.
- Match search intent to the actual format ranking in the top 10 before you write anything.
- Run a competitor gap check (content, format, missing service) on your top priorities instead of guessing.
- Turn each winning keyword into a content brief before writing, using the copy-paste prompt in Step 7 to speed it up.
- Keyword research now has an AI-search layer too: being cited in ChatGPT or AI Overviews matters alongside ranking in Google.
Why Small Business Keyword Strategy Isn’t Enterprise Strategy, Just Smaller
Big brands can afford broad, high-volume terms and win on domain authority alone. You can’t outrank a national directory for “plumber.” You can outrank every plumber in a five-mile radius for “emergency water heater repair same day Denver,” because nobody with real authority has bothered to write specifically for that phrase.
Trade volume for specificity until you land on keywords where you’re the most relevant result on the internet, not just a relevant one competing against fifty better-funded sites. This isn’t a theory, it’s why long-tail keywords consistently outperform head terms for small sites: they’re more specific, which means fewer competing pages and an easier path to page one, as Morningscore’s long-tail keyword guide breaks down.
It’s also worth noting that Google’s own SEO Starter Guide points out that different audiences use different words for the same thing – experienced searchers versus first-timers, for example. Building your keyword list around actual customer language, not industry terminology, is the practical takeaway from that.
Step 1: Build Your Seed List From What You Already Know
Skip the brainstorm. Pull from three places you already have:
- Your last 20 customer inquiries or texts, in their exact wording
- Questions people ask before they book
- Phrases in your reviews describing the problem before they found you
For the Denver plumber, three recent reviews mention “water heater died on a Sunday” and two service calls this month were “toilet won’t stop running.” Seed list starts as: water heater repair, water heater replacement, toilet running, emergency plumber.
This mirrors what Google’s John Mueller recommends for small businesses: start with customer goals and how they actually search, not with a tool. In a Google Search Central episode on small business SEO, he also suggests simply asking customers how they found you – a step that costs nothing and often surfaces the exact phrases no tool would predict.
Once you have a working list of keywords your site touches at all, it’s worth pulling every keyword you already rank for too, not just the ones you’re deliberately targeting. Morningscore’s guide to finding all your keywords walks through exporting that full list, filtering it by volume and CPC, and flagging which ones are worth actively tracking. Half the time, a business already ranks for something worth reinforcing and doesn’t know it.

Step 2: Expand With Free Tools
Google Autocomplete
Type each seed term into Google’s search bar without hitting enter. For “water heater repair,” Denver autocomplete surfaces: water heater repair cost, water heater repair near me, water heater repair vs replacement, water heater repair Denver same day.
People Also Ask
Search the seed term, expand every box, keep clicking nested questions. For “water heater repair,” PAA typically surfaces: how much does it cost to fix a water heater, can a water heater be repaired or does it need replacing, how long does a water heater repair take.
Google Keyword Planner
Free account, no ad spend required. Pull volume ranges for everything above. This tool ranks directly in Google’s results for “keyword research for small business” right now, so use it rather than pretend it doesn’t exist. One caveat worth knowing: Google’s own documentation notes that volume figures are rounded estimates that vary by location, language, and date range – so treat them as directional, not exact.

Notice the +900% YoY change? That means the interest for water heater repair in Denver, CO increased 900%.
The Free Difficulty Check Nobody Mentions
Search allintitle:water heater repair Denver. If fewer than 5-10 pages come back with that exact phrase in the title, that’s a real signal almost nobody has built a dedicated page targeting it, regardless of what a paid tool’s “difficulty score” says. Pair it with site:competitorname.com water heater to see instantly whether a specific competitor has a page on it at all.
For a faster read on the same signal, Morningscore’s keyword difficulty checker scores difficulty using search volume and CPC together, since a keyword with real commercial value but low competition is exactly what the allintitle trick is trying to surface manually.
Step 3: Go Hyper-Local, Past the City Name
“Plumber Denver” is contested by every plumber in the metro. Go a level deeper.
| Level | Example keyword | Realistic competition |
|---|---|---|
| Category | plumber | Impossible, national directories and franchises own it |
| City | plumber Denver | Hard, every metro competitor targets this |
| Neighborhood | plumber Wash Park Denver | Winnable, most competitors never go this granular |
| Landmark/adjacent area | emergency plumber near Cherry Creek | Very winnable, near-zero dedicated content exists |
Lower volume per term, but you don’t need one page ranking for “plumber.” You need ten pages each winning a narrow slice of your actual service area. If you want to confirm you actually rank where you think you do, check by neighborhood, not just by city. Morningscore’s local rank tracker shows position data down to a specific town, city, or region rather than one blended national number that hides exactly this kind of gap.
Step 4: Filter and Score, Don’t Just List
This is the table most guides skip. Raw list from steps 1-3, filtered by intent modifier and scored:
| Keyword | Modifier type | Est. monthly volume | allintitle results | Priority |
|---|---|---|---|---|
| water heater repair Denver | Local + service | 90 | 40+ | Medium, saturated |
| emergency water heater repair Wash Park | Urgency + neighborhood | 10 | 3 | High, near-zero competition |
| water heater repair cost | Transactional | 210 | 60+ | Low, too broad to win fast |
| toilet running fix or replace | Comparative | 40 | 8 | Medium |
| same-day plumber Cherry Creek | Urgency + landmark | 15 | 2 | High |
Notice the highest-volume term (“water heater repair cost”) isn’t the priority. The lowest-volume, highest-intent, lowest-competition terms are. That lines up with the actual filtering rule Morningscore recommends in its long-tail research guide: target keywords in roughly the 50-1000 monthly search range with competition under 0.3, since that’s the band where volume is still real but the page isn’t fighting fifty other sites for it (source).
Cut the Keywords That Will Never Convert
Not everything worth ranking for is worth targeting. “How to fix a water heater yourself” and “water heater repair DIY” bring traffic from people actively trying to avoid hiring you. Strip out anything with “DIY,” “free,” “how to do it yourself,” or “guide” attached, unless the page’s actual purpose is brand awareness rather than bookings. This is a five-second filter and almost every small business list skips it.
Check for Seasonality Before You Commit
Some of your keywords aren’t evergreen. “Furnace repair” spikes hard from November to February and goes quiet the rest of the year; “AC repair” does the opposite. Run each priority term through Google Trends before you commit a page to it. A keyword that looks dead in your allintitle check in August might just be asleep, not actually uncontested. Build the page anyway if the seasonal spike is real, just don’t panic if it doesn’t move in the off months.
Watch for Cannibalization
If two of your priority keywords are close enough in meaning that the same page could reasonably answer both (“toilet running fix” and “toilet running repair”), combine them into one page instead of writing two. Two similar pages competing against each other for the same intent split your ranking signal and usually both lose to a single stronger page from someone else.
Step 5: Match Search Intent Before You Write
This is the step most small business content skips, and it’s the reason well-researched keywords still fail to rank. Before writing anything, search the keyword yourself and look at what’s actually sitting in the top 10.
If the results are all local service pages with pricing and phone numbers, Google wants a service page, not a blog post explaining the topic. If the results are all “how X works” articles, Google is reading the query as informational, and a hard-sell service page won’t outrank them no matter how well-optimized it is. Match the format first. For “same-day plumber Cherry Creek,” if the top results are competitor service pages, not general plumbing articles, that confirms the page you build needs a phone number and a service radius above the fold, not a 2,000-word explainer.

Step 6: Run the Competitor Gap on Your Top 3 Priorities
For each high-priority keyword, check three things against your closest three competitors:
Content Gap
Do they have a dedicated page, or does “water heater repair” redirect to a generic services list? A 300-word generic page is beatable with 800 words that actually name the neighborhood, the price range, and the timeline.
Format Gap
Plain text where a pricing table or a “repair vs. replace” decision checklist would serve the searcher better. Format mismatches are some of the easiest rankings to take.
Missing-Service Gap
Read their 1-3 star reviews. “Never came back to check the fix” or “no weekend availability” is a page topic (“24/7 water heater repair Denver”) handed to you for free. You can also pull a competitor’s full ranking keyword list directly instead of guessing at their gaps from the outside; Morningscore’s competitor keyword lookup shows every term a specific competitor ranks for, which turns this step from inference into a straight comparison.

Step 7: Turn the Winning Keyword Into a Content Brief
Keyword research that stops at the list is half the job. For “same-day plumber Cherry Creek,” the brief looks like this before you write a word:
- Title: Same-Day Plumber Near Cherry Creek, Denver
- Format: Service page, not a blog post, with a visible phone number and service radius map (confirmed by the intent check in Step 5)
- Must include: response time, price range, licensing/insurance mention, 2-3 recent local reviews
Doing this by hand for every keyword in your scored table gets tedious fast. Feed your data into ChatGPT, Claude, or Perplexity with this prompt instead, swapping in your own keyword and business details:
Act as an SEO content strategist. I’m turning a target keyword into a content brief for a small business page. Here’s the data:
Keyword: [insert your priority keyword]
Business type: [insert your service, e.g. residential plumber]
Location/service area: [insert city, neighborhood, or landmark]
What ranks in the top 10 right now: [describe the format, e.g. “all local service pages with pricing and phone numbers” or “mostly how-to articles”]
Known competitor gaps: [insert anything from your content/format/missing-service gap check]Give me:
1. A page title that includes the keyword naturally
2. The correct content format based on what’s ranking (service page, blog post, comparison page, etc.), and why
3. A list of must-include elements specific to this business type and location (pricing signals, trust signals, local proof, etc.)
4. 3 subheadings the page should cover, based on the competitor gaps I listed
5. One thing to avoid, based on what’s already overdone in the current top 10Keep it specific to my business and location, not generic advice.
A Real Example: One-Person Marketing Team, Real Results
The steps above aren’t theoretical. Morningscore’s Odense Aafart case study follows a small tourism company whose CEO handled all marketing and website work herself – no agency, no SEO background. After working through a structured keyword and SEO process, she found and fixed issues including dead links, missing meta descriptions, missing image alt text, and duplicate H1s, then built new landing pages around specific keyword targets.
Her own take on the process: “Morningscore is definitely something I would recommend. It’s a tool that has greatly enhanced my understanding and ability to work with SEO. As someone who hasn’t worked extensively with it, I can now do things on a better level without the need for Googling and spending time finding out which results are actually useful.”
The point isn’t the tool. It’s that a solo operator with limited time ran the same process described in this guide – seed list, intent check, gap analysis, new pages – and made measurable progress. That’s the realistic version of what this looks like in practice.
Keyword Research in the Age of AI Search
Everything above still matters, but it’s no longer the whole picture. A growing share of the questions your seed list is built from, “who’s a good plumber near me,” “how much should a water heater repair cost,” now get asked directly to ChatGPT, Perplexity, or Google’s AI Overviews instead of typed into a search bar. Those tools don’t return ten blue links, they return one synthesized answer with a short list of sources.
This changes the target. Ranking on page one still matters, but so does being the source an AI model actually cites or names when someone asks it the question your keyword represents. That’s a different, newer discipline, generally called GEO (generative engine optimization), and it runs on the same foundation as everything above: specific, well-structured, locally-precise content is what AI models pull from too, not generic pages. Morningscore’s GEO Score tracks this directly by checking whether your business gets mentioned across roughly 100 real AI prompts, the AI-search equivalent of a rank tracker, so you can see whether your keyword work is actually showing up in ChatGPT and AI Overview answers, not just Google’s organic results.
Practically, this means two things for the plumber example: keep building the specific, locally-precise pages this guide describes, since that’s still what both Google and AI models reward, and start checking whether your business actually gets named when someone asks an AI model the question directly, not just whether you rank for it in Google.
The 80/20 of Keyword Research
80% of your results come from getting intent and locality right, not from tool sophistication. A business with free tools and a correctly-filtered, high-intent local list will consistently outperform a competitor with an expensive subscription and a list of broad, unfiltered terms. Spend your time narrowing the list, not expanding it.
Maintenance Cadence
- Monthly: check which pages are moving, add new customer-language terms from reviews or calls. This is the check Morningscore’s rank tracker and task list are built for, so it’s a few minutes instead of an afternoon.
- Quarterly: rerun the competitor gap check on your top pages, competitors update too
- Annually: full audit against current volume and intent, retire what’s not working
One practical addition to the monthly check: validate your keyword assumptions against your own Google Search Console data. The queries report shows what people actually searched before clicking your pages – often different from what you assumed you were targeting. It’s first-party data, costs nothing, and tends to surface the next round of seed terms on its own.
Also worth setting realistic expectations on timing. As Google’s John Mueller put it in a Google Search Central discussion: “If you make bigger, more strategic changes on a website, then sometimes that just takes a long time.” A monthly cadence is the right rhythm. Don’t expect the first check to show much.
A solo owner can do the monthly check in under an hour. Block the time or it won’t happen. If you want the wider process this fits into, keyword research is one section of a full small business SEO checklist, alongside technical health, on-page structure, and link building.
FAQ
Can I Use ChatGPT for Keyword Research?
Yes for expanding a seed list into variations and grouping by intent faster than doing it by hand. No for real volume or difficulty, it has no live search data. Use it to widen the list, then verify with Autocomplete, PAA, Keyword Planner, or a dedicated keyword research tool that pulls related terms and long-tail variations from an actual search database instead of a language model’s guess. Everything in this section is also the core of DIY SEO for small business: none of it requires an agency, just the discipline to actually run through the steps instead of skipping to buying a tool.
Can I Do Keyword Research for Free?
Yes, completely, at least to start. Everything above costs nothing. Once you’re managing more than a handful of pages, though, checking rank movement and difficulty by hand every month stops scaling. That’s the point where a tool like Morningscore earns its keep, since it tracks where each of your priority keywords sits and flags movement automatically instead of you rechecking allintitle: searches one by one.
What Is the 80/20 Rule in SEO?
Roughly 80% of your ranking results come from correctly identifying intent and locality in your keyword choices, not from the sophistication of the tool you use to find them.
Can a Beginner Do This?
Yes. Nothing here requires an SEO background. It requires knowing your own customers better than a keyword tool does, which you already do, and the discipline to cut a long list down to a short, high-intent one.
Should small businesses target high-volume keywords?
Not automatically. A broad phrase with huge volume often brings traffic that never buys. Prioritize relevance and clear purchase intent first. You are better off winning a low-volume keyword where you are the exact answer. Read more about this approach in our long-tail keyword guide.
How do I find keywords if my website is brand new?
You start with your own customer interactions, not a software tool. Look at recent emails, sales calls, and online reviews to build your seed list. Then plug those exact phrases into a keyword research tool or Google Autocomplete to find more variations.
Do I need to add a city name to every keyword for local SEO?
No. Add geographic modifiers only when they match how people naturally search for your service. According to Google’s local ranking guidance, an accurate Business Profile and clear service area matter more than mechanically repeating a city name on every single page.
What does search intent mean?
Search intent is simply what the user actually wants to accomplish – to learn, compare, or buy. You identify it by searching the term yourself and seeing what already ranks. If the top results are local service pages, your keyword research for small business needs to lead to a service page too, not a blog post.
Are keywords with zero reported search volume useless?
Far from it. Very specific local searches are often undercounted or rounded down by major tools like Google Keyword Planner. If a phrase exactly describes a high-value problem you solve, it is worth targeting anyway.
To the moon! 🚀