Prompt

7 minute read

Keyword Clustering Prompt: Group Keywords by Search Intent

A reusable keyword clustering prompt that groups keywords by the searcher's task, flags unclear terms and suggests a page for each cluster, with a tested example.

Abstract illustration for Keyword Clustering Prompt: Group Keywords by Search Intent

This keyword clustering prompt groups a keyword list by the task each searcher is trying to complete, not by shared words. It returns a row for every keyword, a cluster summary with a suggested page, and a short list of terms it could not place. Use it with any capable language model, then check the result before you plan pages.

The page explains each variable, gives the full prompt, and shows one real run on a fictional keyword set. It also lists the checks that catch the usual mistakes. The prompt never asks the model for search volume or rankings, because a model cannot know them.

What this keyword clustering prompt does

The prompt asks the model to name the reader task behind each keyword first, and only then to group keywords that share a task. As a result, "calendar sync not working" and "calendar sync software" land in different clusters, even though they share two words.

It also forces honesty about uncertainty. The model must give each row a confidence level, say which evidence it used, and move unclear terms to a review list instead of guessing. Finally, it suggests an existing page for each cluster, or marks it as NEW.

When to use it

Use this keyword clustering prompt when you have a list of up to a few hundred terms and need a first draft of intent groups. It works well before a content plan, a site audit or a page consolidation review.

  • A keyword research export that you want to turn into page ideas.
  • Search Console queries for one topic that you want to map to existing pages.
  • A competitor gap list that needs sorting before anyone writes a brief.

However, do not use it as the final word on intent. For large datasets, or when you have result-overlap data, a clustering tool or script is faster and more consistent. Then use this prompt to label and review the clusters the tool produces.

Inputs and variables

Replace every bracketed variable before you run the prompt. Each one gives the model context it cannot guess.

  • [SITE_DESCRIPTION]: one sentence on what the site sells or teaches, for example "a scheduling app for small service businesses".
  • [AUDIENCE_AND_MARKET]: who searches and where, for example "small business owners in the United States".
  • [KEYWORD_LIST]: one keyword per line. Optionally add a comma and the URL that currently ranks or receives clicks for it.
  • [PAGE_INVENTORY]: your existing pages as URL, title and purpose, one per line. Leave it empty if you have none.

Use keywords from your own data, such as a Search Console export or a keyword tool. Do not paste private customer data into a public AI tool.

Reusable prompt — version 1.0

Copy the prompt below as it is. It separates instructions and data with XML-style tags, a structure that both the OpenAI and Anthropic guides recommend.

You are helping an SEO specialist group keywords by search intent for [SITE_DESCRIPTION].

<task>
Group the keywords in <keywords> into clusters. Each cluster must share one reader task that a single page could satisfy.
</task>

<context>
Audience and market: [AUDIENCE_AND_MARKET]
Existing pages are listed in <pages> (the list may be empty).
</context>

<rules>
1. Decide the reader task behind each keyword first: learn, compare, choose a product, do a task, fix a problem, or find a specific site.
2. Use evidence in this order: (a) the landing page after a comma, if given; (b) the meaning of the words. Never invent search volume, rankings or result overlap.
3. Keep modifiers that change the task, such as free, API, not working, vs, near me, a country or a version.
4. Do not force a keyword into a cluster. If the task is unclear, put it under "Needs review" and say why.
5. Suggest a page from <pages> only when it serves the same task. Otherwise write NEW.
</rules>

<output_format>
Table 1: keyword | cluster | reader task | evidence used | confidence (high, medium or low)
Table 2: cluster | reader task | suggested page (URL or NEW) | keywords
List: Needs review, with each keyword, the reason, and the check that would settle it
List: Assumptions you made
</output_format>

<keywords>
[KEYWORD_LIST]
</keywords>

<pages>
[PAGE_INVENTORY]
</pages>

The rules come before the data so the model reads the constraints first. In addition, the output format names exact columns, so you can paste the tables straight into a spreadsheet.

How to use it

Run the prompt in a chat model or through an API, then review the tables before you act on them.

  1. Fill in the four variables and remove any example lines you do not need.
  2. Paste the prompt into a capable model and run it once.
  3. Copy Table 1 and Table 2 into a spreadsheet.
  4. Work through the checks in the next sections, starting with the Needs review list.
  5. If you change the prompt, run the same input again and compare.

For very long keyword lists, vendor advice differs. OpenAI suggests placing reference content near the end of the prompt, while Google's Gemini guide suggests putting long context first and instructions last. If results drift on a long list, try the other order, or split the list into batches of about 100 keywords.

Example input and output

We ran version 1.0 once on Claude Opus 5.5 on October 18, 2026. The input below is fictional: "Example Scheduler" is an invented product, and no real keyword data was used. One run on one model is an illustration, not proof that the prompt always behaves this way.

The fictional site was described as "a scheduling app for small service businesses", for small business owners in the United States. Two keywords carried a landing page.

KEYWORD_LIST
calendar sync software
calendar sync not working
calendar sync api, /docs/calendar-api
best calendar sync app for small business
google calendar outlook sync
how to sync google calendar with outlook
appointment scheduling software free
appointment scheduling software vs booking app
online booking system for salons
booking page example
example scheduler login
example scheduler pricing, /pricing
what is a scheduling api
reduce no-show appointments

PAGE_INVENTORY
/features/calendar-sync | Calendar sync | product feature page
/docs/calendar-api | Calendar API docs | developer reference
/pricing | Pricing | plans and prices
/blog/reduce-no-shows | Reduce no-shows | guide with reminder tips

The model returned this per-keyword table. We reproduce its rows without edits.

KeywordClusterReader taskEvidence usedConfidence
calendar sync softwareCalendar sync productChoose a productWordingMedium
best calendar sync app for small businessCalendar sync productChoose a productWordingMedium
calendar sync not workingCalendar sync troubleshootingFix a problemWordingHigh
google calendar outlook syncGoogle and Outlook sync how-toDo a taskWordingMedium
how to sync google calendar with outlookGoogle and Outlook sync how-toDo a taskWordingHigh
calendar sync apiCalendar API for developersDo a taskLanding page /docs/calendar-apiHigh
what is a scheduling apiScheduling API explainerLearnWordingMedium
appointment scheduling software freeFree scheduling softwareChoose a productWordingHigh
appointment scheduling software vs booking appScheduling vs booking comparisonCompareWordingHigh
online booking system for salonsSalon bookingChoose a productWordingMedium
booking page exampleNeeds reviewUnclearWordingLow
example scheduler loginBrand navigationFind a specific siteWordingHigh
example scheduler pricingPricingChoose a productLanding page /pricingHigh
reduce no-show appointmentsNo-show reductionLearnWordingMedium

Cluster summary from the same run

The model then grouped the rows into eleven clusters plus one review item. It matched four clusters to existing pages and marked the rest as NEW, except brand navigation, where it said no new page was needed.

Notice that it kept "free" and "vs" as separate clusters instead of folding them into a general software page. That follows rule 3, and it is the kind of split a word-based tool often misses.

ClusterSuggested pageKeywords (count)
Calendar sync product/features/calendar-sync2
Calendar API for developers/docs/calendar-api1
Pricing/pricing1
No-show reduction/blog/reduce-no-shows1
Calendar sync troubleshootingNEW1
Google and Outlook sync how-toNEW2
Scheduling API explainerNEW1
Free scheduling softwareNEW1
Scheduling vs booking comparisonNEW1
Salon bookingNEW1
Brand navigationNone needed1

Items the run flagged for review

The model placed "booking page example" in Needs review. It said the phrase could mean a gallery of examples for inspiration or a template to copy. To settle it, it suggested checking whether the current results show galleries or templates.

It also listed three assumptions. First, no volume data was supplied, so clusters are not ranked by size. Second, the landing pages were treated as current. Third, it could not tell whether the fictional product has a free plan, so it did not map "free" to the pricing page.

Those assumptions are useful in their own right. Each one names a fact you should confirm before you turn a cluster into a page brief.

How to check the output

A tidy table can still be wrong. So review these points before you plan any page.

  • Every keyword from the input appears once in Table 1, and no new keywords were added.
  • No row claims volume, rankings or result overlap that you did not supply.
  • Keywords with "not working", "vs", "free" or "API" sit in clusters that match those tasks.
  • Each suggested existing page really serves that task; open it and check.
  • Low-confidence rows and the Needs review list have an owner and a next check.

Where the stakes are high, compare two clusters against the live results for one keyword in each. If the results show different kinds of pages, the split is probably right. Our course on AI keyword research walks through that validation step by step.

Troubleshooting

Most bad outputs come from missing context or a list that is too long. These fixes address the common cases.

  • Clusters follow shared words: add landing pages to more keywords, or add one example row to the prompt that splits two similar phrases.
  • Every keyword is "medium": ask for a one-line reason next to each confidence level.
  • Keywords go missing: split the list into smaller batches and ask the model to count input and output rows.
  • Volume appears in the output: repeat rule 2 at the end of the prompt and reject the run.

Change one thing at a time, then rerun the same input. That way you know which change improved the result.

Limitations

A keyword clustering prompt infers intent from words and any landing pages you supply. It does not see the live results page, so it can misread a query whose meaning changed recently or differs by country. In addition, results vary between models, versions and runs.

Treat the output as a draft for a person to review. It does not replace result-overlap analysis, real demand data or editorial judgement about which pages deserve to exist.

Version history

Version 1.0, October 18, 2026: first published version, written for the SEOVision prompt library and tested once on Claude Opus 5.5 with the fictional example above.

Frequently asked questions

Quick answers to the questions readers ask most about this topic.

Which AI models does this keyword clustering prompt work with?

It is written in plain language with XML-style sections, so it should work with current chat models from OpenAI, Anthropic and Google. We tested version 1.0 once on Claude Opus 5.5; results vary by model, so check the output each time.

Can the prompt estimate search volume for each cluster?

No. A language model cannot know real search volume, and the prompt tells it not to invent any. Add volume from your keyword tool or Search Console after clustering.

How many keywords can I cluster at once?

A few hundred at most in one run. For longer lists, split them into batches of about 100 keywords and ask the model to confirm that every input keyword appears once in the output.

What should I do with keywords in the Needs review list?

Search each one and look at the kind of pages that rank. If the results show one clear task, move the keyword into that cluster; if they mix tasks, keep it separate or leave it out of the plan.

Sources

These vendor guides informed the structure of the prompt, and the Search Console documentation explains the query data it often uses. We checked each page on October 18, 2026.

  1. OpenAI: Prompt engineering guide developers.openai.com
  2. Anthropic: Prompting best practices platform.claude.com
  3. Google: Gemini API prompt design strategies ai.google.dev
  4. Search Console Help: Performance report (Search results) support.google.com