Ultimate Guide to Keyword Research (2026)
How to build a keyword set that actually maps to revenue: from seed terms through autocomplete and question mining to intent clustering, difficulty checks and content briefs.
Keyword research is the practice of finding the exact words and questions your buyers type into a search box, judging which of those you can actually win, and turning the winners into pages that earn clicks and revenue. This guide runs one real business, a local plumbing company, through the entire loop: five seed terms, free expansion from autocomplete and People Also Ask and Reddit, a Keyword Planner and Search Console reality check, intent labels, difficulty screening, a one-page target list, and a final mapped content brief. Every step uses live, free sources, so no paid subscription is required. You also get a copy-paste evaluation spreadsheet, two working code samples, and a full section on researching keywords for AI search, the part most tool-vendor guides still skip.
What Keyword Research Actually Is in 2026 (and What It Is Not)
Keyword research is not a list of high-volume phrases you stuff into titles. It is a workflow that connects the words people actually search to the pages you can realistically rank and the revenue those pages produce. Moz positions it as the foundational step of SEO, tied directly to understanding what your audience actually searches for before you create any content (Moz (2025)). Semrush frames the 2026 version as intent-first research that must also account for AI search, not simple volume chasing (Semrush (2026)).
In 2026 the discipline has three jobs. First, discover the demand that already exists, so you write against words people use rather than words you assume they use. Second, filter that demand by intent and difficulty, because a term with huge volume but a transactional intent and three entrenched incumbents is not a useful target for a new page. Third, map each surviving keyword to a specific URL and a specific job, so research becomes a brief instead of a spreadsheet that sits unread. The keyword research tool handles the discovery step when you want a fast seed-to-suggestion pass, but the judgment steps still belong to you. For product-led and programmatic expansion specifically, the SaaS SEO guide turns this workflow into a repeatable content engine.
What keyword research is not matters as much as what it is. It is not a guarantee of rankings. It is not a substitute for a good page. It is not a one-time exercise you finish before launch and never revisit. A keyword list only pays off when you measure it after publishing, which is why the Search Console loop at the end of this guide is part of the workflow, not an appendix. If you walk away from this guide with only one sentence, make it this one: keyword research ends in a brief and a measurement loop, not in a spreadsheet.
Search Intent Before Search Volume: The Order That Changes Everything
Most beginner workflows start by pulling volume numbers and sorting them high to low. That order is backwards. Volume tells you how many people search a term; intent tells you what those people want to do next, and that second signal decides whether a page can satisfy them at all. Ahrefs' beginner guide frames the whole exercise around classifying keywords by search intent before deciding what to target (Ahrefs (2025)).
Here is the practical reason the order matters. A term like "water heater" might carry large volume, but the SERP mixes a product category, a local pack, and a definitional answer. A plumbing company that targets "water heater" with a blog post competes against every intent at once and usually wins none. A term like "water heater replacement cost" has smaller volume but one clear intent: someone is pricing a job and is close to hiring. That page can actually convert. Intent first means you assign the "what does this person want" label before you ever look at a number, because the label, not the number, tells you what to build.
Read the SERP before you commit to any keyword. Open an incognito window, run the query, and look at what already ranks. If the top ten results are all listicles and you planned a product page, the intent does not match and no amount of volume will fix it. The SERP preview tool helps you sanity-check your title and meta format against what actually appears for a query, but the intent read itself is a five-minute manual step you cannot skip.
The intent-first sequence is four steps: find the query, read the SERP, name the intent, and only then open a volume tool. Run that order once and you will notice how many terms you would have chased for the wrong reason. A term like "water heater installation" looks like a single target until the SERP shows it splits between people pricing a job and people scheduling one, and those two groups need different pages. Assigning the intent before the number prevents you from writing one page that serves neither group well.
The Four Keyword Intent Classes (and When the Classic Model Falls Short)
The classic model sorts queries into four buckets: informational, navigational, commercial, and transactional. Informational searches want to learn. Navigational searches want a specific site. Commercial investigation compares options before buying. Transactional searches want to complete an action now. Ahrefs organizes keyword research around these classes (Ahrefs (2025)), and the taxonomy descends from Rose and Levinson's 2007 study of web queries, which first proposed informational, navigational, and transactional intent (Rose and Levinson (2007)).
| Intent class | What the searcher wants | Typical phrasing | Typical target content |
|---|---|---|---|
| Informational | To learn or understand something | "how to", "what is", "why", "guide" | Guide, how-to article, explainer |
| Navigational | To reach a specific site or page | Brand names, login, pricing page | Usually not targetable unless it is your brand |
| Commercial | To compare options before a purchase | "best", "vs", "review", "cost" | Comparison, review, cost guide, buyer's guide |
| Transactional | To complete an action now | "buy", "near me", "quote", "hire" | Service, product, or landing page |
Search Engine Land argues the real model is more granular than these four labels, and practitioners need a finer-grained intent model to stay accurate (Search Engine Land (2023)). The classic model falls short in three common cases. First, a single query can carry mixed intent: "best water heater" is commercial investigation, but a large share of searchers also want a local installer, so the SERP shows both review articles and a local pack. Second, modifier words shift intent without changing the head term: "water heater" versus "water heater near me" versus "water heater warranty" are three different jobs. Third, AI answers blur the lines, because an assistant may answer an informational query directly and never show your page.
Treat the four classes as a starting grid, not a final verdict. Assign the dominant intent, note the minority intent in your spreadsheet, and let the SERP evidence overrule the label when the two disagree. A label you can defend with SERP evidence is worth more than a label that only matches the phrasing.
A useful habit is to write the label as a verb phrase, not a single word. "Informational" is vague; "learns how to replace a faucet" is specific and tells the writer what to deliver. The more specific the label, the less room there is to write the wrong page, and the easier it is to spot a mismatch when the SERP evidence points elsewhere.
Keyword Metrics That Matter, and Why Volume and Difficulty Are Vendor Estimates
Three numbers show up in every tool: search volume, keyword difficulty, and cost-per-click. Volume is an estimate of monthly searches. Difficulty is a score of how hard it is to rank. CPC is an advertising bid that hints at commercial value. WordStream frames search volume, competition, and intent as the core signals for both SEO and PPC (WordStream (2024)).
| Metric | What it measures | How to read it | What it cannot tell you |
|---|---|---|---|
| Search volume | Estimated monthly searches | As a band, not a point | How many of those searches click through |
| Keyword difficulty | A vendor's estimate of ranking effort | Relative to your own site, not absolute | Whether your specific page can win |
| Cost-per-click | What advertisers pay for a click | A coarse proxy for commercial value | Organic conversion rate or profit |
The key correction is that these numbers are estimates, not measurements. Siteimprove cautions that search volume, click-through rate, and keyword difficulty can mislead teams, because volume does not equal clicks and difficulty varies by vendor methodology (Siteimprove (2025)). Ahrefs' own keyword difficulty score is calculated from the number of referring domains pointing to the top-ranking pages, not from advertiser counts or bids (Ahrefs (2025)). A different tool may build its score on a different formula, so a 42 in one product is not the same as a 42 in another.
Volume is best read as a band, not a point. A term at 500 is meaningfully different from a term at 50, but a term at 5,400 versus 5,900 tells you almost nothing. Use volume to split big from small, difficulty to split winnable from entrenched, and CPC as a coarse proxy for commercial value. The keyword research tool surfaces these signals side by side so you can apply the bands without opening five tabs and eyeballing five different scales.
How Google's Own Documentation Tells You to Choose Keywords
Google's guidance is shorter and blunter than most third-party checklists. The SEO Starter Guide tells sites to think about the words a user might search for and to use them in a natural, reader-friendly way, while warning against stuffing keywords or chasing keyword density (Google SEO Starter Guide (2024)). The helpful-content guidance goes further: write for people first, demonstrate first-hand expertise and depth, and do not try to manipulate search rankings (Google (2024)).
Two instructions fall out of those documents. First, keywords describe the topic; they do not replace it. If the phrase "water heater replacement" appears naturally because you genuinely cover that job, good. If you repeat it because a tool told you to hit a density, you are doing the exact thing Google says not to do. Second, coverage beats repetition. A page that answers the follow-up questions a searcher actually has will outperform a page that repeats one phrase five times, because the follow-ups are the reason the person stayed.
Note that this guidance is actively maintained, not a frozen relic. Google gave the SEO Starter Guide a full makeover in February 2024, consolidating and refreshing the advice (Google Search Central Blog (2024)). When your keyword list and Google's own docs disagree, trust the docs. They are the source your keyword tool is ultimately trying to approximate.
Seed Keywords: A 15-Minute Brainstorm That Starts With Your Customers
Seeds are the handful of terms you already know, and the fastest way to get them right is to stop thinking about your product and start thinking about your customer's problems. A plumbing company's seeds are not "plumber." They are the jobs people call about: a burst pipe, a cold shower, a clogged kitchen sink, a water heater that stopped working.
Start from jobs, not jargon
List the ten problems customers describe in their own words when they call or email. Then translate each problem into the phrase they would type. "My shower has no hot water" becomes "no hot water in shower." "The toilet keeps running" becomes "running toilet." These are low-volume, high-intent seeds that a competitor who only thinks in industry terms will miss, and missing them is exactly the opening a small business should exploit.
Add the money pages
Next list the services that actually produce revenue, with location and modifier words: "emergency plumber [city]", "water heater installation [city]", "sewer line replacement cost". These are the terms you will eventually map to service pages rather than articles, because their intent is to hire, not to learn.
Steal the obvious head terms, briefly
Finally add the plain category terms: "plumber", "drain cleaning", "water heater". You include these for expansion, not as final targets, because head terms almost always carry mixed intent and entrenched competition. Ten to fifteen seeds are enough. The keyword research tool can take those seeds and expand them, but a written brainstorm keeps the customer's voice in the list from the very start, which no tool can reconstruct later.
Expand Your List With Free, Live Sources Only: Autocomplete, People Also Ask, Trends, Reddit
Expansion turns fifteen seeds into hundreds of candidate keywords, and the best sources are the ones that reflect live search behavior rather than a static database. Google autocomplete is generated from real searches people have made, plus factors like trending queries and the searcher's language and location; Google also notes these predictions are not always the most useful queries and can be removed (Google (2024)). That means autocomplete is a window into actual demand, not a curated list.
People Also Ask boxes reveal the questions Google itself associates with a query, which is free intent data. Google Trends adds directionality: it reports data as a normalized index from 0 to 100 relative to each query's peak, not as absolute counts, and it samples rather than covering all queries (Google Trends (2024)). Use Trends to see whether a term is seasonal or rising, not to read exact demand. Reddit fills the gap for language: threads show the words real people use, often different from the words professionals use. Search a subreddit for your topic and harvest the phrasing from titles and comments, then add those exact phrases to your list.
For each seed, run it through autocomplete with modifier prefixes ("how", "why", "best", "near me", "cost", "vs"), open the People Also Ask box, and note the intent you observe in the results. Record everything in one table so the expansion stays reproducible, and so you can trace any keyword back to the source that produced it.
People Also Ask is also a chain you can follow: open a question, and the box often expands with related questions beneath it. Click through two or three levels and you will find clusters of questions that all share one intent, which is exactly how you turn a single seed into a full cluster instead of a list of disconnected phrases. Record those clusters together, because they will map to one page later in the workflow.
| Seed keyword | Free source | Expanded keyword | Observed intent |
|---|---|---|---|
| water heater | Autocomplete | water heater replacement cost | Commercial |
| water heater | People Also Ask | how long do water heaters last | Informational |
| plumber | Autocomplete | emergency plumber near me | Transactional |
| drain cleaning | People Also Ask | how much does drain cleaning cost | Commercial |
| sewer line | sewer line replacement covered by insurance | Commercial | |
| water heater | Google Trends | tankless water heater (rising) | Commercial |
Google Keyword Planner and Search Console: Free Volume and Reality Checks
Two free Google tools give you the numbers and the truth check. Keyword Planner is a free tool inside Google Ads for discovering new keywords and viewing search-volume and forecast data; it is built for campaigns but widely reused for SEO research (Google Ads Help (2024)). One important detail: Keyword Planner shows most users volume as ranges, such as 1K to 10K, rather than exact numbers, and surfaces fuller data only as you engage with advertising (Google Ads Help (2024)). You need a Google Ads account to use it, but you do not need to spend any money to see the ranges.
Search Console is the opposite half: it shows the queries your site already appears for, with impressions, clicks, and average position, after you publish. Use it in two directions. Before publishing, it reveals queries where you already rank on page two, which are your cheapest wins. After publishing, it tells you which targets actually produced clicks, which is the measurement loop in a later section.
Run your expanded list through Keyword Planner to bucket terms into volume bands, then check Search Console for any term where you already get impressions. A keyword with low volume but a page-two position in Search Console is a better near-term target than a high-volume term where you rank nowhere. Planner gives you the demand estimate; Search Console gives you the reality of where you already stand.
One practical note on Planner: it is built for ad campaigns, so its suggestions are sometimes tuned toward commercial bidding rather than organic topic coverage. Use it for volume bands and for spotting terms you missed, but do not let its suggested list replace your own expansion, because a bidding tool will never surface the question forms that drive informational pages.
Label Search Intent for Every Keyword: A Copy-Paste Decision Checklist
Intent labeling is the step that turns a raw list into a usable list. For every keyword, you assign one dominant intent based on three pieces of evidence: how the searcher phrases it, what already ranks for it, and what content type would satisfy it. The phrasing gives the first hint, but the SERP is the tiebreaker, because Google has already voted on intent by ranking certain pages.
The decision order
- Read the phrase. Modifiers like "how to", "what is", and "why" signal informational; "best", "vs", "review", and "cost" signal commercial; "near me", "quote", "hire", and "buy" signal transactional; a brand name signals navigational.
- Open the SERP. If it is full of guides, the intent is informational. If it is full of service pages and a local pack, the intent is transactional.
- Pick the content type. Each intent maps to one natural format. If you cannot state the format, the intent is not clear yet.
- Record the label and the evidence in your table, and let the SERP override the phrase when they conflict.
Here is the copy-paste decision table, pre-filled for the plumbing example so you can see the evidence, not just the labels.
| Keyword | How the searcher phrases it | SERP evidence | Assigned intent | Target content type |
|---|---|---|---|---|
| emergency plumber near me | "near me", urgent hire | Local pack, service pages | Transactional | Service page |
| water heater replacement cost | "cost", pricing a job | Cost guides, estimator tools | Commercial | Cost guide page |
| how to unclog a sink | "how to", learning | How-to articles, videos | Informational | How-to article |
| tankless water heater pros and cons | "pros and cons", comparing | Review and comparison posts | Commercial | Comparison article |
| plumber near me | "near me", hire | Local pack, directories | Transactional | Service page |
Screen Keyword Difficulty Without a Paid Tool: The "Can You Rank?" Test
Keyword difficulty scores are convenient but proprietary. The free alternative is to look at what already ranks and ask whether a new page can beat it. Ahrefs' difficulty score is built from the referring domains pointing at the top pages (Ahrefs (2025)), which gives you the exact heuristic to reproduce by hand: judge the strength of the pages already on page one.
The three-part test
- Who ranks. Open the query and list the top five to ten domains. If they are big brands, marketplaces, and government or university sites, the field is strong.
- Referring domains. For each top page, estimate whether it has many inbound links (a strong site) or few (a weak site). You cannot see the exact number for free, but you can judge strength from the domain and from a quick link-count check in a free tool.
- The SERP features. Note whether a local pack, featured snippet, AI Overview, or People Also Ask box pushes organic results below the fold. If so, the clickable organic results are fewer than the volume number suggests.
Score each keyword as winnable, maybe, or skip. "Winnable" means the top pages are weak or off-topic and you have a directly better page. "Maybe" means the field is mixed. "Skip" means strong incumbents plus heavy SERP features, which usually means the cost of ranking outweighs the return. Use the SERP preview tool to compare your intended title and meta against the page-one winners before you commit to the fight.
| Keyword | Top-ranking domains | Referring-domain heuristic | Zero-click or SERP features | Rank verdict |
|---|---|---|---|---|
| how to unclog a sink | familyhandyman.com, homedepot.com, youtube.com | Strong, high-authority sites | Featured snippet, video carousel | Skip |
| emergency plumber near me | angi.com, yelp.com, local sites | Weak, directory and local pages | Local pack | Maybe |
| tankless water heater pros and cons | reddit.com, consumeraffairs.com, energystar.gov | Medium, mixed strength | People Also Ask | Maybe |
| water heater replacement cost | homeadvisor.com, forbes.com, thisoldhouse.com | Strong, but thin content on some | Featured snippet | Maybe |
| why is my water heater leaking | small blogs, local plumbers | Weak, thin and outdated pages | People Also Ask | Winnable |
Prioritize Keywords Into a One-Page Target List (Copy-Paste Spreadsheet)
Prioritization collapses hundreds of candidates into a ranked list you can actually act on. Three signals do the work: intent value, difficulty, and business fit. Transactional terms that map to revenue outrank informational terms that only build awareness. Winnable terms outrank entrenched ones. Terms that match a service you actually sell outrank everything else.
A simple scoring rule keeps the decision consistent. Score each keyword from 0 to 3 on three axes: value (does it map to revenue?), attainability (can you win it?), and relevance (does it match your business?). Add the three scores. Keywords that score 8 or 9 are your near-term targets; 5 to 7 are the second wave; below 5 you skip or park for later. This beats sorting a spreadsheet by volume alone, which is the mistake that produces long lists no one ever uses.
Store the final list in one CSV so it can be re-imported anywhere and versioned in git. Here is a copy-paste template with the columns this guide has built up, pre-filled with the plumbing example rows. The priority column is your order of attack, the cluster column groups keywords that will live on one page, and the empty primary_url and status columns get filled in the mapping step.
keyword,intent,source,volume_range,zero_click,top_three_domains,rd_heuristic,rank_verdict,priority,cluster,primary_url,status water heater replacement cost,commercial,autocomplete,1K to 10K,yes,homeadvisor.com;lowes.com;forbes.com,weak,maybe,2,water heater,,planned emergency plumber near me,transactional,autocomplete,100 to 1K,yes,angi.com;yelp.com;thumbtack.com,weak,maybe,1,emergency service,,planned how to unclog a sink,informational,people also ask,1K to 10K,no,familyhandyman.com;homedepot.com;youtube.com,strong,no,skip,maintenance,,skipped tankless water heater pros and cons,commercial,reddit,1K to 10K,no,reddit.com;consumeraffairs.com;energystar.gov,medium,maybe,3,water heater,,planned why is my water heater leaking,informational,people also ask,100 to 1K,no,small blogs;local plumbers,weak,winnable,2,water heater,,planned
When you are unsure about a number, the keyword research tool re-checks the volume and intent signals so the list stays honest, but the spreadsheet is where the decisions live, and it should always be readable by a person, not just by a tool.
The scoring rule matters less than the fact that you use one. Without a rule, every keyword becomes "maybe" and the list never gets ordered. With a rule, the disagreements become explicit: when a term scores high on value but low on attainability, you know the real decision is whether it is worth the wait. A scored list also makes the prioritization defensible when a stakeholder asks why one page goes first and another waits.
Map Keywords to Content: Turn Your Target List Into a Content Brief
Mapping assigns each keyword cluster to one URL and one job. The rule is one primary keyword per page, supported by secondary keywords that answer the same intent. If two keywords have the same intent and the same natural page, they belong together. If they have different intent, they belong on different pages, even if they share words.
Build the cluster
Group keywords by intent first, then by topic. "Water heater replacement cost", "cost to replace a water heater", and "water heater install price" are one commercial cluster and one cost guide. "Emergency plumber near me" and "24 hour plumber [city]" are one transactional cluster and one service page. Clustering by intent keeps you from jamming a buying keyword and a learning keyword onto the same page, which dilutes both.
Write the brief
For each cluster, name the primary keyword, the secondary keywords, the target URL, the content type, and the question the page must answer first. Then hand that brief to whoever writes the page. The brief, not the keyword list, is the deliverable of keyword research, because a writer can act on a brief and cannot act on a raw dump of five hundred phrases.
| Keyword cluster | Primary keyword | Secondary keywords | Intent | Target URL | Brief status |
|---|---|---|---|---|---|
| Emergency service | emergency plumber near me | 24 hour plumber, emergency plumber [city] | Transactional | /services/emergency-plumber | Ready |
| Water heater cost | water heater replacement cost | cost to replace a water heater, water heater install price | Commercial | /guides/water-heater-replacement-cost | Ready |
| Water heater buying | tankless water heater pros and cons | tankless vs tank water heater | Commercial | /guides/tankless-water-heater-pros-cons | Ready |
| Leaking water heater | why is my water heater leaking | water heater leaking from bottom | Informational | /guides/water-heater-leaking | Queued |
Check the target URL's on-page fit when the page exists, and read the full copy-and-crawl checklist in the on-page SEO guide. Before publishing, run the finished page through the on-page SEO checker to confirm the primary keyword sits in the title, the opening, and a heading without being stuffed.
Worked Example: One Local Business From Seed Keywords to a Mapped Brief
Here is the whole workflow compressed into one continuous example, so you can see how the pieces interlock. The business is a small plumbing company in a mid-sized city with no content team and no paid tool budget. The owner wants more booked jobs, not more traffic.
Step one, seeds. From customer calls, the owner writes five seeds: "no hot water in shower", "running toilet", "water heater replacement", "clogged kitchen sink", "emergency plumber". The list starts with customer language, not industry terms, which is the whole point of the seed step.
Step two, expansion. Each seed runs through autocomplete with "how", "cost", "near me", and "vs" prefixes, plus People Also Ask and one Reddit search. The expansion produces about forty candidates, including "water heater replacement cost", "how long do water heaters last", "emergency plumber near me", "tankless water heater pros and cons", and "why is my water heater leaking".
Step three, reality check. Keyword Planner buckets the terms into volume bands. Search Console shows the site already earns impressions for "emergency plumber" on page two, so that cluster is a near-term win and jumps to the front of the queue.
Step four, intent. Each keyword gets a label from the SERP. "Emergency plumber near me" is transactional; "water heater replacement cost" is commercial; "how to unclog a sink" is informational; "tankless water heater pros and cons" is commercial.
Step five, difficulty. The "how to unclog a sink" SERP is full of strong sites and a video carousel, so it is skipped. "Why is my water heater leaking" shows thin, outdated pages, so it is winnable. "Water heater replacement cost" is maybe, with a featured snippet but some weak incumbents.
Step six, priority. The transactional emergency term scores highest and gets priority 1. The two water heater commercial terms score next. The winnable leaking question is queued. The rest are skipped or parked for later.
Step seven, map. The final list resolves to four pages: an emergency service page, a water heater cost guide, a tankless comparison guide, and a leaking-water-heater troubleshooting guide, each with a primary keyword and a set of secondary keywords. The owner hands four briefs to a writer. That is keyword research converted into work, with no paid subscription anywhere in the chain.
The example stops at the brief on purpose, because that is where keyword research hands off to writing. But the loop does not stop there: once those four pages are live, the owner returns to Search Console, reads the real queries, and starts the next cycle with a better seed list than the one they began with. Each pass makes the list more accurate because it is built on measured data instead of assumptions.
Research Keywords for AI Search: AI Overviews, ChatGPT, and Perplexity
AI search is the biggest shift in how organic traffic is won in 2025 and 2026, and most keyword guides still ignore it. AI Overviews, ChatGPT, and Perplexity answer questions directly, which means a query that used to produce a click can now end in an answer with no click at all. Semrush's 2026 guide argues the discipline has shifted to intent-first research that must also account for AI search (Semrush (2026)).
What changes
The keywords worth researching for AI are questions, not head terms. An assistant is asked "how do I know if my water heater needs replacing", not "water heater". Moz's research on AI Overviews shows the feature can sit above traditional organic results and change how clicks are distributed, which directly affects how you value a target (Moz (2025)).
How to research them
Mine the same free sources but bias toward question form. People Also Ask is a direct feed of question keywords. Reddit threads and Quora are dense with the phrasing people actually use when they ask an assistant for help. Then verify the SERP: if the query triggers an AI Overview, the page that gets cited is usually the one with the clearest, most direct answer near the top. Write for the citation, not for the click.
The technical side, crawlability and bot access, is a separate discipline you can check with the AI visibility checker. For keyword research, the practical shift is small: add question-form keywords to your list, note which ones trigger an AI Overview, and structure those pages as a direct answer first, with depth after. You can batch the question mining with a small script that hits Google's autocomplete endpoint, which powers both autocomplete and People Also Ask style suggestions. The endpoint is unofficial and can change, so treat this as an educational tool and respect Google's terms rather than building a production dependency on it.
import json
import urllib.parse
import urllib.request
def suggestions(term):
base = "https://suggestqueries.google.com/complete/search"
params = {"client": "firefox", "q": term, "hl": "en", "gl": "us"}
url = base + "?" + urllib.parse.urlencode(params)
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
with urllib.request.urlopen(req, timeout=10) as r:
data = json.loads(r.read().decode("utf-8"))
return data[1]
def expand(seeds):
found = {}
for seed in seeds:
for prefix in ["", "how ", "why ", "what ", "best ", "near me ", "cost of "]:
for s in suggestions(prefix + seed):
found[s] = found.get(s, 0) + 1
return sorted(found.keys())
if __name__ == "__main__":
seeds = ["plumber", "water heater", "drain cleaning", "sewer line"]
for kw in expand(seeds):
print(kw)
Deduplicate the output against your existing list, then run each question through the SERP to see whether it triggers an AI Overview before you write it into a brief.
Zero-Click Results and SERP Features: What Search Volume Does Not Tell You
Volume counts searches, not clicks, and the gap between the two has widened. A zero-click result is a search that ends on the results page itself: a featured snippet answers the question, a knowledge panel supplies the fact, a local pack gives the phone number, or an AI Overview summarizes the answer. The searcher gets what they need and never reaches an organic page.
This is why treating volume as traffic is a mistake. Siteimprove makes exactly this point: volume does not equal clicks (Siteimprove (2025)). Moz's AI Overviews research shows the feature changes how clicks are distributed (Moz (2025)). A keyword with a featured snippet and an AI Overview can show strong volume yet send almost nothing to the tenth organic result.
The fix is to check SERP features during the difficulty screen, which is why the difficulty table includes a zero-click column. For keywords where you cannot beat the snippet, you can still earn the snippet itself by answering the question directly and clearly. For keywords where an AI Overview dominates, your realistic goal is being the source that gets cited, not the page that gets clicked.
The Search Console Measurement Loop: Validate and Refine After You Publish
Keyword research is a hypothesis, and Search Console is where you test it. After a page has been live for a few weeks, open the Performance report, filter to that page, and read the queries, impressions, clicks, and average position. The queries you actually rank for tell you whether your intent and topic read were right.
Read the loop in four steps
- Filter to one page. Look at the queries that page earns impressions for, not the queries you intended. The difference is the signal.
- Compare intent. If the page ranks for transactional queries but you wrote an informational article, the mapping was wrong and the page needs a different job.
- Find the near misses. Queries on page two (positions 11 to 20) with decent impressions are your cheapest wins: small edits, internal links, and a tighter title can move them onto page one.
- Harvest new keywords. Real queries that never appeared in your research are new seeds for the next cycle, and they are higher quality because Google has already matched your page to them.
Then loop: add the harvested queries back into the intent and difficulty screen, update the target list, and refresh the briefs. The keyword research tool speeds up re-scoring the new queries, and the on-page SEO checker confirms the edits land in the title and headings.
Here is what a useful read looks like in practice. A plumbing page targeting "emergency plumber near me" goes live and, after four weeks, earns 2,100 impressions, 120 clicks, and an average position of 9 for that query. The position says the page is close but not there; the click-through rate of about 6 percent says the title is doing its job. You tighten the title, add an internal link from the homepage, and watch whether position and clicks move over the next two weeks. That small loop, repeated, is worth more than any pre-publish volume estimate.
For the crawl and index side of making those edits visible, the technical SEO guide covers submission and recrawl.
Common Keyword Research Mistakes and How to Fix Each One
Most failed keyword strategies trace back to a handful of recurring mistakes, and each has a specific fix. Here they are, ordered by how often they cost teams a ranking.
- Sorting by volume first. High volume often means mixed intent and entrenched competition. Fix: label intent before you look at any number.
- Treating estimates as facts. Volume and difficulty are vendor estimates that differ across tools and do not equal clicks. Fix: read them as bands and always check the SERP.
- Ignoring intent mismatches. Writing a blog post against a transactional SERP wastes the page. Fix: let the SERP decide the content type.
- Chasing keyword density. Google explicitly warns against stuffing and density targets. Fix: cover the topic, use the phrase naturally, and stop counting.
- One page, many keywords. Stuffing several intents onto one page splits its relevance. Fix: one primary keyword per page, with secondary keywords that share the intent.
- Publishing and forgetting. Research that is never measured cannot be improved. Fix: run the Search Console loop and recycle real queries into the next cycle.
- Researching only head terms. Long-tail keywords carry lower competition and stronger conversion intent than head terms, which is why granular research still matters (Link Assistant (2026)). Fix: bias expansion toward long-tail, question, and modifier forms.
The Complete Keyword Research Checklist
Run this checklist end to end for every new page or campaign. It compresses the guide into a repeatable sequence you can hand to anyone on the team.
- Write 10 to 15 seed keywords from customer language, money pages, and category terms.
- Expand every seed with autocomplete, People Also Ask, Google Trends, and Reddit, recording the source for each row.
- Bucket volume in Keyword Planner and check Search Console for existing impressions.
- Label intent for every keyword, with the SERP as the tiebreaker.
- Screen difficulty with the who-ranks, referring-domains, and SERP-features test.
- Score and prioritize into a one-page CSV target list.
- Map clusters to URLs and write a brief for each page.
- Add question-form keywords and note AI Overview triggers for AI search.
- Publish, then run the Search Console measurement loop and recycle real queries.
- Reread the SEO Starter Guide and helpful-content guidance before publishing each page.
Frequently asked questions
What is keyword research in SEO?
Keyword research is the process of finding the words and questions your audience actually types into a search box, then deciding which of those you can realistically rank for and turn into pages that earn clicks and revenue. It combines discovery, intent labeling, difficulty screening, and mapping to content. The output is not a raw list of phrases but a set of briefs and a measurement plan.
How do I do keyword research for free?
Start with seed terms from your customers' own language, then expand them with Google autocomplete, People Also Ask, Google Trends, and Reddit. Bucket volume in Google Keyword Planner, check existing impressions in Search Console, and label intent by reading the SERP for each term. Every step in this guide uses a free source.
What is the best free keyword research tool?
There is no single best free tool; the strongest setup combines several. Google Keyword Planner gives volume ranges, Search Console gives real query data, autocomplete and People Also Ask give live suggestions, and Google Trends gives seasonality. A free checker like the SEO.to keyword research tool ties the signals together for a fast pass.
What is search intent and why does it matter in keyword research?
Search intent is what a searcher wants to do next: learn, reach a site, compare options, or complete a transaction. It matters because intent, not volume, decides what kind of page can satisfy a query. A high-volume term with the wrong content type will not rank or convert, so intent labeling comes before any volume sorting.
How do I find long-tail keywords?
Expand a seed term with modifier prefixes like "how", "cost", "near me", and "vs" in Google autocomplete, then mine People Also Ask and Reddit for question phrasing. These sources surface the specific, multi-word phrases people actually use. Long-tail keywords carry lower competition and stronger conversion intent than head terms.
What is keyword difficulty and how is it calculated?
Keyword difficulty is a vendor estimate of how hard it is to rank for a term. Ahrefs, for example, calculates its score from the number of referring domains pointing to the top-ranking pages, not from advertiser counts or bids. Because each tool uses its own formula, a score in one product is not directly comparable to a score in another.
What is a good keyword search volume?
There is no universal good number; a useful volume depends on your site and your business. A small local business can win meaningful revenue from terms in the hundreds, while a large publisher chases thousands. Read volume as a band, compare it to your current Search Console impressions, and treat it as one input among intent and difficulty.
How do I use Google Keyword Planner for SEO?
Open Keyword Planner inside Google Ads, paste your expanded list, and read the volume and competition columns. Most users see volume as ranges like 1K to 10K rather than exact numbers, and fuller data appears as you engage with advertising. Use it to split big terms from small terms, then confirm demand against Search Console.
How do I research keywords for AI search, ChatGPT, or Perplexity?
Bias your list toward question-form keywords, mined from People Also Ask, Reddit, and Quora, and check whether each query triggers an AI Overview or is a question people ask assistants. Structure those pages as a direct answer first, with depth after, because AI answers cite the clearest answer near the top. Treat the goal as being cited, not clicked.
How do I find the keywords people actually search for?
Use live sources rather than static lists: Google autocomplete is generated from real searches, People Also Ask shows real question phrasing, and Search Console shows the queries your site already earns impressions for. Reddit threads reveal the plain language people use. Together these sources reflect actual behavior instead of guesses.
What is the difference between SEO and PPC keyword research?
PPC keyword research optimizes for cost per click and conversion within a paid campaign, while SEO keyword research optimizes for ranking organically over time. The two share signals like volume, competition, and intent, but SEO adds the difficulty of ranking and the constraint of matching a page to intent. A term that is cheap to bid on is not necessarily cheap to rank for.
How do I use Google Search Console for keyword research?
Open the Performance report and read the queries, impressions, clicks, and average position for your pages. Queries where you already rank on page two are your cheapest wins, and real queries you never targeted are new seeds. Use Search Console before publishing to find near misses, and after publishing to measure which targets actually converted.
How do I do keyword research for a new website or small business?
Start from customer language and your actual services, not from a generic tool dump. Target long-tail, low-difficulty terms you can win without a strong domain, and lean on transactional local phrases like "near me" that map to revenue. A new site should favor a handful of winnable terms over a long list of head terms it cannot rank for yet.
How often should I redo my keyword research?
Run a light pass on a quarterly basis, and a full pass whenever you add a service, enter a market, or see a sustained position drop in Search Console. After every publish, run the Search Console measurement loop and recycle the new queries it surfaces into your list. Keyword research is a loop, not a one-time task.