Claude Keyword Clustering: Automate Intent & Cleanup

AI Workflow

Claude Keyword Clustering: Automate Intent & Cleanup

The complete AI workflow. The API stack that powers it, the methodology that shapes it, and the step by step process that runs it. Including the parts that still require your judgment.

Keyword clustering is one of the most time consuming tasks in SEO. It is also one of the most broken when you try to hand it to AI without a proper system behind it.

I have spent the last several months building an AI assisted SEO workflow using Claude and Cursor. Keyword clustering was the first workflow I tackled deliberately. In this guide I am going to show you the complete system. The API stack that powers it, the methodology that shapes it, and the step by step process that runs it. This includes the parts that still require your judgment, because any guide that pretends AI eliminates all of that is not being honest with you.

By the end you will have the exact setup, the API connections, the four prompts, and the review method to run this yourself on a real keyword list.

01What Fellow SEOs Say About Keyword Clustering

The honest version.

Before I explain the system, I want to share what actually motivated building it.

Over the past year I have had conversations with fellow SEO professionals. Agency owners, in house strategists, freelancers. We talked about where their workflows break down. Keyword clustering came up consistently as one of the highest effort, lowest satisfaction tasks in the toolkit. Not because it is technically difficult, but because it is cognitively exhausting in a way that scales linearly with the size of the keyword list.

Here is what they told me, in their own terms.

I still have to manually eye ball the final sheet every time. The tools group by surface similarity. A human has to verify whether a cluster actually represents one searcher need or two.

I need to review intent manually no matter what tool I am using. The tool handles the volume. The human handles the meaning.

The tools dump thousands of errors or groupings with zero context. Raw clustering output without prioritisation or business context is noise dressed up as structure.

When two tools give me different clusters for the same list, I have to go back to the SERPs to decide who is right. Tool disagreement is not an edge case. It is standard operating procedure.

The pre clustering work is never automated. Competitor research, brainstorming topic ideas the tools would never surface, initial manual grouping. The clustering tool enters the picture after significant human work has already happened.

Sensitivity tuning kills me. Running the tool, deciding the output is too tight or too loose, adjusting, re running. Iterative judgment masquerading as a technical process.

The pattern across every conversation: tools handle the volume and the pattern matching. Humans handle the meaning. The tools save the easy 70 percent and leave the exhausting 30 percent. That 30 percent is the part that requires the most focused attention of anything in the workflow.

The Core Insight
This is not a flaw in the tools. It is a structural reality. And it is exactly what my system is designed to address. Not by eliminating the 30 percent, but by making it faster, more structured, and less mentally draining.

02The Methodology. Principles Behind the System

Before I show you how to build this, I want to explain the methodology that shaped it. These are the principles I applied when designing the workflow. Understanding them matters because they determine why the system is built the way it is. They will help you adapt it when something does not work the way you expect.

Principle 01

The Force Multiplier and Quality Gate Mandate

Every AI workflow I build has two simultaneous jobs. The Force Multiplier eliminates manual repetitive work that does not need a senior SEO brain. Hours become minutes. The Quality Gate catches expert mistakes before they ship. Cannibalisation, wrong intent, weak entity correlation.

Force Multiplier without Quality Gate scales mistakes. Quality Gate without Force Multiplier saves nothing. Both must operate together in every workflow.

This principle determines the entire structure of the clustering system. Claude does not just produce a cluster map and hand it back. It produces a cluster map with every uncertainty explicitly flagged for your review.

Principle 02

The Boring AI Hierarchy

Influenced by Ethan Mollick’s thinking on AI adoption, I apply a hierarchy to which workflows I automate first. The principle: start with the boring, tedious, low stakes tasks before moving to strategic ones. Think of it like Maslow’s hierarchy applied to AI.

Keyword clustering sits at the Survival layer. Pure data processing, high time cost, clear AI upside, low strategic risk if something is flagged for review. You must get this working before using AI for content briefs, topical maps, or technical audits.

This is not arbitrary sequencing. A content brief written without a validated cluster map is a Quality Gate failure before the writer opens the document. Build the foundation first.

Principle 03

Jobs To Be Done Applied to Keywords

From Tony Ulwick’s framework, I apply a JTBD lens to every keyword before clustering. The question is not “what does this person search?” but “what functional struggle are they trying to solve?”

The syntax is always: verb + object + clarifier.

For clustering itself: “Group keyword lists by search intent and entity relationship so I can map content to the right page without cannibalisation.”

For individual keywords: “best CRM software” is not just a search term. It is someone trying to “Compare CRM options to make a final purchasing decision before a free trial expires.” That JTBD reframe changes the entire cluster strategy for that term.

Principle 04

Conversational Layering. Never Front Load

One of the most practical methodology points I apply comes from prompt engineering research: never write one giant prompt with everything in it. This causes model drift and hallucination.

Instead, build in layers:

  • Layer 1, Role and Goal: who Claude is and what we are achieving this session.
  • Layer 2, Context: your site, your niche, your audience, your business constraints.
  • Layer 3, Execute with Format: run the workflow, flag uncertainty, save to file.

This is how the four prompt sequence in this guide is structured. Each layer builds on the previous one without overwhelming Claude with a wall of text that causes it to miss critical instructions.

Principle 05

Community First Research Before Keyword Tools

The best keyword opportunities come from the language people use in communities when they are frustrated, confused, or deciding. The opportunities that separate you from every competitor using the same Ahrefs export. That language never makes it into keyword tools cleanly.

Before running any clustering session, I use community research tools (GummySearch, GigaBrain) to pull Reddit threads from my niche. The authentic pain point language from those threads becomes the input that enriches the keyword list before clustering starts.

Keywords your tools will never surface. Angles your competitors are not targeting.

Principle 06

The Co Relevance Supervision Problem

This principle comes from reading Artificial Intelligence: A Guide for Thinking Humans and it is the intellectual foundation for why the Quality Gate is non negotiable.

AI builds knowledge graphs and maps entity attributes at a scale no human mind can match. That is its genuine superpower in this workflow. But the attributes it surfaces are not always truly correlated to the core entity you are targeting. It pattern matches statistically rather than understanding meaning.

The analogy that stays with me: a human sees a ball roll into the road and infers a child nearby. AI sees a ball. The pattern is there. The meaning is not.

Human supervision is not a safety net. It is the mechanism that makes the output meaningful.

03The API Stack

The system uses three external data sources. Each one serves a different checkpoint in the workflow. For my full stack of recommended SEO software and platforms beyond what is listed here, see my tools recommendation page.

API · 01

Google Search Console API

Your ranking data.

What it does: Powers Checkpoint 8, the Ranking Decision Tree. For every cluster, Claude checks your GSC data to determine whether you are currently ranking, at what position, and whether your existing page’s intent matches the cluster intent. This produces your Path A (new article) vs Path B (optimise existing) decisions.

Why API over CSV export: The GSC API gives Claude live, queryable data rather than a static snapshot. The CSV export breaks down above a few hundred rows and requires manual cleanup.

Setup: Free. Authentication uses OAuth. The gsc_query.py script from the claude seo open source project handles credential management.

What it gives you per keyword:

  • Current position
  • Impressions and clicks
  • CTR
  • Which page is ranking
API · 02

Ahrefs API or Semrush API

Competitor and volume data.

What it does: Powers Checkpoint 6 (pre clustering keyword enrichment) and the volume column in your cluster output. More importantly, it powers the competitor keyword gap layer. It shows you which keywords your competitors rank for that are not in your GSC data at all.

Why this matters: Your GSC data only shows keywords your site has already appeared for. Adding competitor data surfaces the topic gaps. Clusters you should be building but have no current presence in.

Recommendation: If you already subscribe to either tool, use that one. If you are starting fresh, Semrush’s Keyword Gap API endpoint maps most directly to the gap analysis use case.

API · 03

DataForSEO SERP API

Live SERP overlap checking.

What it does: Powers the 40 to 60 percent SERP overlap rule at the core of the clustering methodology. For any two keywords, the SERP API pulls the live top 10 ranking URLs and Claude compares them. Four or more shared URLs means the same cluster.

Why this is critical: Without live SERP data, Claude estimates overlap based on semantic similarity. Semantic similarity regularly groups keywords that Google treats as separate topics. The SERP API converts the rule from an estimate into a verified measurement.

Pricing: Pay per use at approximately $0.0006 per SERP result. Processing 1,000 keywords costs roughly $6 to $12 depending on configuration. No monthly commitment during the learning phase.

Add to Cursor:

{
  "mcpServers": {
    "dataforseo": {
      "command": "npx",
      "args": ["-y", "@dataforseo/mcp_server"],
      "env": {
        "DATAFORSEO_LOGIN": "your_email",
        "DATAFORSEO_PASSWORD": "your_api_password"
      }
    }
  }
}

Step 01

Set Up Your Workspace

Create this folder structure on your computer:

seo workspace/
├── CLAUDE.md          ← your SOP, read every session
├── data/              ← keyword data lives here
└── briefs/            ← all outputs saved here automatically

Open Cursor → File → Open Folder → select seo workspace.

Step 02

Create Your CLAUDE.md File

Create a new file called CLAUDE.md directly in seo workspace. This is the file Claude reads at the start of every session. It encodes your identity, your methodology, your Quality Gate rules, and the workflow instructions.

Paste the following and edit the parts in brackets:

# CLAUDE.md, SEO Workspace

## Who I Am
I am an experienced SEO professional, not a developer, 
not a beginner. I understand search strategy, entities, 
intent, and content deeply.
Do NOT explain basic SEO concepts to me.
I am in a learning phase. Show your reasoning at each 
step and flag uncertainty visibly.

## System Mandate
Two jobs on every task simultaneously:
Force Multiplier, eliminate manual repetitive work.
Quality Gate, catch expert mistakes before they ship.
Human in the loop. Always. Nothing is auto published.

## The Honest 70/30 Split
You handle the 70 percent: volume processing, semantic 
grouping, SERP overlap checking, data cross referencing.
I handle the 30 percent: intent judgment, business context 
decisions, publishing decisions, entity relevance review.
Your job is to make my 30 percent faster and more 
structured. Not to pretend it does not exist.

## Co Relevance Supervision Rule
You map entity attributes at scale I cannot match.
But statistical co occurrence is not genuine relevance.
Flag any entity or keyword grouping where correlation 
to the core topic is uncertain. Label: REVIEW NEEDED.

## API Connections Available
GSC API: live ranking data, position, impressions
Ahrefs/Semrush API: volume, competitor keywords, gaps
DataForSEO SERP API: live SERP overlap, SERP features

## Keyword Clustering Methodology

### Core Rule: 40 to 60 percent SERP Overlap
Use DataForSEO SERP API to check live top 10 URLs.
4 to 6 shared URLs = same cluster (one article)
Under 4 shared URLs = separate clusters
Flag unverified overlaps as ⚠️ SERP CHECK NEEDED

### JTBD Lens, Apply Before Every Grouping
Before clustering any keyword, ask:
What functional struggle is the user trying to solve?
Syntax: verb + object + clarifier

### The 8 Judgment Checkpoints
CP1: Mixed intent detected → ⚠️ INTENT REVIEW NEEDED
CP2: Suggest the split, never split automatically
CP3: SERP overlap unconfirmed → ⚠️ SERP CHECK NEEDED  
CP4: Overlapping clusters → ⚠️ POSSIBLE DUPLICATE
CP5: After first output, report if sensitivity needs 
     adjusting and recommend re run parameters
CP6: Before clustering 50+ keyword lists, ask:
     (1) competitor keywords added?
     (2) community research keywords added?
     (3) initial grouping done?
CP7: Recommend Own Page / Merge / Kill with confidence
CP8: Check GSC API data, Path A or Path B decision

### Ranking Decision Tree
PATH A: not ranking → evaluate and recommend new article
PATH B ranking + intent matches → optimise existing page
PATH B ranking + intent mismatches → new article needed
NEVER recommend new page without checking existing 
coverage first. Cannibalisation is the expert mistake.

## Output Rules
Save all outputs to /briefs/
Naming: YYYY MM DD clustering [topic].md
Use mandatory table format on every output
End every output with CONFIDENCE & FLAGS section
Step 03

Run the Workflow. 4 Prompts in Sequence

Open Cursor chat (Ctrl+L Windows / Cmd+L Mac). Confirm Claude is selected, not GPT 4. Send each prompt and wait for the response before sending the next.

Prompt 01Confirm Understanding
Read my CLAUDE.md and confirm you understand:
1. Who I am and how to treat me
2. The Force Multiplier and Quality Gate mandate
3. The 70/30 split and what each side handles
4. The keyword clustering methodology and 8 checkpoints
5. Which APIs are connected and what each one does
6. The JTBD lens and how to apply it before grouping

Tell me what you know before we start.

Claude should describe your SEO experience level, the Force Multiplier and Quality Gate system, the 40 to 60 percent overlap rule, all 8 checkpoints, the three API connections, and the JTBD syntax. If it misses anything, correct it before proceeding.

Prompt 02Context and Pre Clustering
Context for this clustering session:

SITE: [your domain]
NICHE: [your niche]
TOPIC FOCUS: [e.g. "NHS car discount schemes"]
AUDIENCE: [who you are writing for]

BUSINESS CONTEXT (critical, read before grouping):
[List any terms that need special handling:
Brand names that look like generic terms,
Eligibility or informational terms you rank for
but that are upstream of your product,
Existing tool pages or calculator pages,
Terms where audience intent is specific to your 
business model]

DATA SOURCES TO USE:
Pull live ranking data from GSC API for this domain
Pull competitor keyword gaps from Ahrefs/Semrush API
against these competitors: [list 2 to 3 competitors]
Use DataForSEO SERP API for overlap verification

Before clustering, run Checkpoint 6. Ask me the 
three pre clustering input quality questions.

Answer Claude’s three questions honestly. If the input list is incomplete, fix it before running. Weak input into a good methodology still produces weak output.

Prompt 03Execute the Clustering
Now run the full keyword clustering workflow.
Follow the 6 step methodology and all 8 checkpoints 
from CLAUDE.md exactly.

Step 1: Read keyword data and identify topic structure
Step 2: Apply 40 to 60 percent SERP overlap rule via 
        DataForSEO
Step 3: Apply JTBD lens per cluster. What is the 
        functional struggle being solved?
Step 4: Check SERP features via DataForSEO
Step 5: Recommend Own Page / Merge / Kill per cluster
Step 6: Apply Ranking Decision Tree using GSC data

Requirements:
Flag ⚠️ INTENT REVIEW NEEDED on every mixed cluster
Flag ⚠️ SERP CHECK NEEDED on every unconfirmed overlap
Flag ⚠️ POSSIBLE DUPLICATE on overlapping clusters
Apply JTBD syntax to each cluster's intent column
Use the mandatory table format from CLAUDE.md
End with full CONFIDENCE & FLAGS section
Save to: /briefs/2026 clustering [topic].md

Show reasoning on uncertain clusters.
Never present estimated data as confirmed.
Start with Step 1.
Prompt 04Apply Your Review Decisions
Here are my review decisions:

INTENT REVIEWS:
Cluster [name]: CONFIRMED as [intent]
Cluster [name]: SPLIT into:
  Group 1 [intent]: [keywords]
  Group 2 [intent]: [keywords]

SERP CHECKS:
Cluster [name]: CONFIRMED, [X] shared URLs verified
Cluster [name]: SPLIT, under 4 shared URLs

PUBLISHING DECISIONS:
Cluster [name]: OWN PAGE, new article approved
Cluster [name]: PATH B, optimise [existing URL]
Cluster [name]: KILL, not worth targeting
Cluster [name]: MERGE with [other cluster name]

Produce the final approved cluster table with all 
decisions applied.
Save to: /briefs/2026 clustering FINAL [topic].md
Step 04

Your Review. The 30 Percent That Stays Manual

This is where your SEO expertise earns its place in the system. Here is how to work through the flags efficiently.

Reviewing ⚠️ INTENT REVIEW NEEDED

Open Google and search the primary keyword. Look at the top 5 results. Are these informational or transactional pages? Does Claude’s JTBD classification match what Google is actually rewarding?

If the SERP shows mixed signals, some informational, some transactional, the cluster needs splitting. Tell Claude which keywords go where. If the intent is consistent throughout, confirm the cluster.

Reviewing ⚠️ SERP CHECK NEEDED

Even with the DataForSEO API, some overlaps will be flagged as uncertain. Unusual SERPs, very new keywords, personalised results. For these, open Google manually for both keywords. Count shared URLs in the top 10. Four or more means same cluster.

Reviewing JTBD Classifications

This is the most important review step and the one most content on clustering skips entirely. Read each cluster’s JTBD statement. Does it accurately describe what the searcher is trying to accomplish? A wrong JTBD produces a wrong page. Wrong format, wrong angle, wrong CTA.

Making Path A or Path B Decisions

Your GSC API data tells you:

  • No position data: not ranking, new content decision. Is this cluster within your topical authority zone? Is the competition realistic?
  • Position 11 to 50: ranking but underperforming, your highest ROI optimisation list. Does your existing page’s intent match the cluster?
  • Position 1 to 10: already ranking well, low priority unless CTR is poor.

04Honest Limitations

Most AI SEO content skips this section. I think it is the most important one.

It does not understand business context automatically

Every business context insight required for accurate clustering needs human input before the workflow runs. If you do not provide this in Prompt 2, you will get technically correct clusters that are strategically wrong. Things like brand names that look generic, eligibility terms that are upstream of your product, or existing tool pages that should never get a new article competing with them.

SERP features change

The DataForSEO SERP API pulls live data, but what is ranking today may not be ranking in three months. Cluster formats should be re evaluated periodically, not treated as permanent decisions.

Statistical co occurrence is not genuine relevance

Even with the SERP API confirming URL overlap, Claude will occasionally group keywords that share SERPs for reasons unrelated to topic similarity. Seasonal content, news spikes, Google testing. Your intent review catches these. Do not skip it.

The 30 percent is non negotiable

Anyone telling you AI eliminates the judgment layer in keyword clustering is either selling a tool or has not processed a real keyword list at scale. The system makes the 30 percent faster and more structured. It does not make it disappear. Your experience is not optional. It is the mechanism that makes the output worth using.

05Summary. The Complete Stack

APIs

  • Google Search Console API: ranking data, Path A or Path B decisions
  • Ahrefs API or Semrush API: volume, competitor gaps
  • DataForSEO SERP API: overlap verification, SERP features

Workspace

seo workspace/
├── CLAUDE.md
├── data/
└── briefs/

Prompts in sequence

  1. Confirm understanding of CLAUDE.md
  2. Provide context and answer CP6 questions
  3. Execute the six step workflow
  4. Apply your review decisions

Your review covers

  • Intent verification on flagged clusters
  • SERP overlap spot checks on uncertain groupings
  • JTBD classification review
  • Path A or Path B decisions using GSC data
  • Final publishing decisions

Output

A validated cluster map in /briefs/ feeding directly into Content Gap Analysis. Workflow 2 in the system.

06Frequently Asked Questions

Do I need all three APIs to start?
No. Start with GSC API and DataForSEO. The Ahrefs or Semrush API adds competitor gap data which is valuable but not required for a first run. Add it once your basic clustering workflow is running reliably.
Can I use CSV exports instead of APIs?
For learning phase, yes. GSC CSV covers the ranking decision tree. Ahrefs or Semrush CSV covers volume. The limitation: CSV exports are static snapshots. The API connections give Claude queryable live data, which becomes significant when you are processing multiple clients or running weekly clustering sessions.
What if I do not have an Ahrefs or Semrush subscription?
DataForSEO also provides keyword volume data at approximately $0.0005 per keyword. One account covers SERP overlap and volume. You can run the full workflow without Ahrefs or Semrush if cost is a constraint.
How do I handle branded keywords?
Include them in Prompt 2’s business context as branded navigational terms to exclude from clustering. A brand name you retail can look like a generic term to a clustering tool. That distinction needs to come from you, and it changes everything about how those keywords should be handled.
What about keyword lists larger than 500?
Split by topic area and run focused sessions. Processing an entire keyword universe at once produces too many clusters to review properly. The Boring AI Hierarchy applies to session scope as well as workflow sequence.

Leave A Comment