AI Agents

Keyword Research Pipelines

A keyword export is a static picture of a moving thing, and it starts going stale the moment it downloads. Ivan Sp builds keyword research pipelines that collect query data at volume, strip noise, and group queries by search intent. Pipelines run against live Google Search Console data rather than a static export, so the output reflects what the site earns today.

What the Pipeline Collects

Collection draws from several sources rather than one tool. Google Search Console supplies the queries a site already earns, including long-tail terms keyword tools never report. Autocomplete and related question data supply phrasings real people use. Competitor sitemaps supply coverage comparisons.

Branded terms and unset queries get filtered out before analysis. Branded search inflates apparent performance, because people already searching a company name were never a new audience.

The Stop-Word List

Frequency analysis fails when common words dominate the counts. The pipeline uses a curated stop-word list covering articles, prepositions, common verb forms, pronouns, demonstratives, and common adverbs.

A generic list is not sufficient. The list gets extended per industry, because terms carrying no information in one vertical carry meaning in another.

Clustering by Intent Rather Than Wording

Queries get grouped by what the results pages show rather than by string similarity. Two differently-worded queries returning the same ranking URLs belong in one cluster, because Google is already treating them as the same question.

String-based grouping produces the opposite error. Queries sharing words but returning different results get merged into one page that satisfies neither, which is how cannibalization starts during planning rather than after publication.

Intent and Local Flags

Each cluster carries an intent classification covering informational, commercial, and transactional. A separate local flag runs alongside it, because intent type alone cannot separate “implant cost” from “implant cost Edmonton.”

Clusters also get flagged for volatility. Pricing, regulations, and year-based listings decay quickly, and flagging them at research time turns the keyword map into a refresh schedule.

What the Pipeline Will Not Output

Three outputs are blocked at the prompt level. The pipeline never invents search volume figures. The pipeline never invents keyword difficulty scores. The pipeline never claims what a competitor ranks for without source data supplying it.

Those blocks exist because fabricated metrics look identical to real ones in a spreadsheet. A client making a budget decision on an invented volume figure has been misled by a deliverable that appeared rigorous.

From Keywords to Pages

Pipeline output feeds topic mapping rather than sitting as a spreadsheet. Clusters become candidate pages, and the sub-questions inside each cluster become sections, which is covered under query fan-out mapping for content planning.

What the Pipeline Collects and Does

Data source
The Search Console API, queried live rather than exported by hand.
Why the API
The interface caps rows, and the API returns far more per request.
Branded filtering
A stop-word list removing brand terms and their common misspellings.
Unset queries
Excluded and counted, so the output states its own blind spot.
Clustering basis
Ranking URL overlap rather than wording similarity.
Intent flags
Each cluster marked informational, commercial, transactional, or local.
Local flags
Applied separately, since local intent changes what page type is needed.
What the pipeline will not output
An invented search volume, or a cluster with no supporting data.

What This Looks Like in a Planning Session

Consider a marketing lead opening a keyword export of four thousand rows to plan a quarter. The data is accurate and she has three hours before the plan is due.

She wants to commission work that earns something. Choosing eight pages from four thousand rows by instinct is not a decision she can defend in six months.

Ivan Sp runs the clustering on ranking overlap instead. Four thousand rows collapse into thirty-seven clusters with intent flags, and the plan takes an afternoon rather than a guess.

Where the Standard Keyword Research Advice Breaks Down

Are your keyword clusters based on the words, or on what actually ranks?

The usual advice
Export a keyword list from a research tool and group the terms by how similar they are.
What holds up in practice
Wording similarity and search intent are different things. Two phrases that read as synonyms can return almost no shared ranking URLs, and building one page for both satisfies neither.

Consider a list grouped by semantic similarity. Installation and installer land in the same cluster, since the words plainly overlap.

The ranking sets share three URLs out of ten. One query wants a guide and the other wants a local business, and one page serves neither well.

I cluster on ranking overlap, computed in code. Google has already decided which queries share an intent, and the ranking URLs are where that decision is published.

Clustering by wording produces a plan that looks sensible and builds pages for intents that do not exist. The error is invisible until the pages are written.

Building one page for two intents is the most common reason a well-written page ranks for neither, and grouping by wording is what causes it.

Four Things Commonly Assumed About Keyword Pipelines

Which of these describes your current keyword process?

I meet these four assumptions on most research automation work.

Commonly assumedWhat actually holds
A keyword export is the raw material.An export is a static snapshot. A live API query reflects what the site earns today, including terms no tool suggested.
Semantic similarity is the right clustering signal.Ranking overlap reflects Google’s own judgement about shared intent. Wording similarity reflects a thesaurus.
Search volume decides priority.Volume ignores intent and competitiveness. Whether the site can credibly answer a query matters more than how often it is asked.
A model can do the clustering.Clustering on overlap is a computation. A model asked to cluster produces different groups on different runs.
More keywords means a better plan.A long list postpones the decision. The value of a pipeline is what it removes rather than what it collects.

The clustering decision is made once and every page you build afterwards inherits it. Getting it from the ranking data rather than from a thesaurus costs nothing extra.

A Worked Example: Two Clustering Bases

Consider nine queries clustered two ways. The comparison below is illustrative, written to show what ranking overlap changes. No client engagement is described here.

Query pairWording similarityRanking URL overlap
heat pump cost and heat pump priceVery high8 of 10, so one page
heat pump installation and heat pump installerVery high3 of 10, so two pages
heat pump rebates and heat pump grantsHigh9 of 10, so one page
heat pump vs furnace and is a heat pump worth itLow7 of 10, so one page
Pages a wording-based plan would build4Wrong on two of four
Pages an overlap-based plan builds4Correct on all four

I read the fourth row as the strongest argument. Two phrases with almost no shared wording return the same results, and a thesaurus would never have grouped them.

Clustering by wording is sorting a toolbox by the colour of the handles. Everything is grouped and nothing is where you need it.

The second row is the expensive one. One page built for two intents is the failure that only shows up after the writing is paid for.

How the Pipeline Runs

I do the collection and clustering in code, and reserves the model for the language step.

  1. Query the Search Console API for the full period rather than exporting from the interface.
  2. Record how many impressions carry no query text, so the output states its blind spot.
  3. Apply the stop-word list, removing brand terms and their common misspellings.
  4. Collect the ranking URL set for each surviving query.
  5. Compute pairwise ranking overlap between queries, in code rather than by judgement.
  6. Group queries whose overlap passes the agreed threshold into one cluster.
  7. Split any group whose ranking sets diverge, since divergence means separate intents.
  8. Flag each cluster with its intent and with whether it carries local intent.
  9. Refuse to output any cluster with no supporting ranking data behind it.
  10. Hand each cluster to the topical map as a candidate page rather than as a decision.

How This Engagement Is Scoped

I scope pipeline builds by the number of properties and the size of the query set.

What arrives
A running pipeline, clustered output with intent flags, and a stated blind spot per run.
Typical duration
Four to six weeks, including a parallel running period.
What the client supplies
Search Console API access and the brand terms for the stop-word list.
Included
API integration, filtering, overlap clustering, intent flagging, and output formatting.
Not included
Deciding which clusters to build, which stays a commercial judgement.
What changes the estimate
Several properties, several languages, or very large query sets.
How it is quoted
After a short scoping call, once property count and query volume are known.

Tools and Primary Sources

The references below cover the interfaces and the limits. Each opens in a new tab.

Test Your Own Clustering

I suggest a manual version of the overlap test.

  1. Pick two queries you have been treating as one topic.
  2. Search each in a private browser window and write down the first ten URLs.
  3. Count how many URLs appear in both lists.
  4. Treat seven or more as one page, and three or fewer as two.

The count settles an argument keyword tools usually leave open. Two words that look identical can return almost entirely different results.

Common Questions

Does this replace Ahrefs or SEMrush?

No. Both stay in use as data sources. The pipeline handles collection, filtering, clustering, and flagging at a volume and consistency that manual work inside those tools does not reach.

How is search volume handled if the pipeline will not estimate it?

Volume comes from tools that actually measure it, and gets carried through as sourced data. Where no source exists, the field stays empty rather than filled.

Can the pipeline run on a schedule?

Yes. Scheduled runs surface new queries a site starts earning, which is often where the clearest content opportunities appear first.

Why cluster on ranking overlap rather than on search volume?

Volume tells you how often a query is asked. Overlap tells you whether two queries want the same page, which is the decision the clustering step actually has to make.

Discuss This Work

The first call is a free 30-minute consultation with no pitch attached. You receive an honest assessment of where the site stands and what can realistically be built.

Book a free 30-minute consultation

Scroll to Top