Cluster a keyword export into topic groups and map each to one page
Turn a raw keyword export into topic groups, give each group one target page, and flag groups where two of your pages compete.
- Who it suits
- Freelance SEO, small agency owner
- Time saved
- About 2 to 3 hours per 1,000 keyword export (estimate)
- Level
- Medium
- Updated
- Oct 13, 2026
Why this task
Keyword exports arrive as long flat lists, so teams either ignore them or build one page per phrase. That spreads effort thin and sets your own pages against each other. An agent can group the list by topic, tie each group to one page, and show where two pages already share a group. You then spend your time on the judgment calls.
You are helping me organise keyword data for [SITE NAME], a [BUSINESS TYPE] serving [LOCATION OR MARKET]. Below are two inputs. Input 1, keyword rows from [SOURCE: Google Search Console or keyword tool]. Columns: [COLUMN NAMES]. [PASTE KEYWORD ROWS] Input 2, my current pages, one per line as URL | title | purpose. [PASTE PAGE LIST] Do the following. 1. Group the keywords into topic clusters. Put two keywords in the same cluster only if one page could fully answer both searches. Give each cluster a short plain name. 2. For each cluster, list its keywords and the total of [METRIC: impressions or volume] from my data. Do not estimate numbers I did not give you. 3. Map each cluster to exactly one page from Input 2. If no page fits, write NEW PAGE NEEDED and suggest a working title. 4. Flag cannibalization. Flag a cluster when my data shows two or more of my pages getting impressions for its keywords. Also flag it when two pages in Input 2 clearly target it. Name the pages and the evidence. 5. List keywords you could not place, with a one line reason. Rules: - Use only the data above. If a column is missing, say so. - Keep cluster names stable. Earlier batches used these names: [PREVIOUS CLUSTER NAMES OR NONE]. - Mark any guess about searcher meaning as UNSURE. Output a table with columns: cluster, keywords, total [METRIC], target page, cannibalization flag, evidence, notes. Then give the unplaced list.
Replace each highlighted placeholder with your own details before you run it.
Steps
- Export your data. From Google Search Console, export queries with their pages for the last 3 months. From a keyword tool, export any target keywords you want to add.
- Clean the sheet before the agent sees it. Remove branded queries, obvious spam queries and rows with no impressions or volume. Keep one column per field.
- Write a short list of your current pages with their web address (URL), title and main purpose. The agent needs this to map groups to real pages.
- Paste the cleaned rows and the page list into the prompt below. For large files, send them in batches of a few hundred rows and keep the cluster names stable between batches.
- Read the cluster list first. Merge groups that a searcher would treat as the same question, and split groups that mix two different needs.
- Check every cannibalization flag in Google Search Console. Filter by the query and look at which pages earn impressions, and whether the ranking page changes over time.
- Decide one action per flagged group: merge the pages, redirect one, change one page's focus, or leave both if they serve different needs.
- Save the final page map in your spreadsheet with an owner and a review date. Repeat the exercise each quarter with a fresh export.
What you get
A table where every keyword sits in one named cluster and every cluster points to one page or a clear new page suggestion. Cannibalization flags name both pages and the rows that show the overlap. Unplaced keywords are listed with reasons, so nothing vanishes quietly.
What can go wrong, and the check for each
The agent may group by shared words when the searcher needs differ.
CheckReview each cluster and ask whether one page could answer every keyword in it.
Volume numbers can be invented or mixed between sources.
CheckTell the agent to use only your columns, and spot check totals against the spreadsheet.
A cannibalization flag is a signal for review. Two pages can share impressions for good reasons.
CheckConfirm in Google Search Console before merging or redirecting anything.
Creating a new page for every cluster can produce thin pages. Google's spam policies (https://developers.google.com/search/docs/essentials/spam-policies) describe scaled content abuse as many pages made mainly to manipulate rankings.
CheckOnly build pages you can fill with real value.
Exports can include client names or private queries.
CheckRemove sensitive rows before pasting, and check your agreement with the client on using AI tools.
Related playbooks
Rewrite page titles and meta descriptions in bulk from a crawl
Draft new titles and meta descriptions for hundreds of pages from a crawl, with length checks, a keyword rule and a review before upload.
Classify search intent from results page notes and pick a page type
Label the search intent of each keyword from your own notes on the results page, then get a page type recommendation with the reasoning shown.
Build a content brief from top page notes and real customer questions
Combine your notes on top ranking pages with questions from sales calls, reviews and tickets to brief a page that adds something new.