Triage the keywords you already rank for, before researching a single new one
A prompt that reads a Search Console query export and sorts every query you already rank for into six action buckets, naming no cause the data cannot show.
- Works in
- ChatGPT, Claude, Gemini
- You need
- A Search Console query export with clicks, impressions, CTR, position and page · Your brand and product names
- Written for
- chatgpt seo keyword analysis
Scored by our own engine
This page, run through the audit we sell. Measured 4 August 2026.

Every other keyword prompt on this site starts from nothing and looks for terms you do not have. This one starts from the terms you already rank for and decides what to do about each of them. The input is a Search Console export, so every query in it is evidence rather than a candidate: somebody typed it, your site appeared, and the only open question is whether that position is worth anything and what would change it.
Triage is cheaper than discovery
Ranking a new page is the most expensive thing in SEO and moving a page you already have is the cheapest. An export of queries you already appear for is a list of positions already paid for, and most sites have work sitting in it that nobody has looked at because the export is long and boring.
The buckets exist to make it short. Winning and noise are the two largest and both mean stop reading. What is left after those is usually a couple of dozen queries where a title rewrite, a retarget or a merge changes something this month. That is the entire value of the pass.
The bucket that gets worse if you ignore it
Competing is the one to read first. Two of your URLs appearing for one query is the failure the keyword clustering prompt is written to prevent before pages exist, and this is what it looks like afterwards. It does not resolve itself. Both pages sit below where one would, and every new page you publish on the topic makes the split worse.
The rest of the output is optional and this part is not.
What the model is doing and what it is not
Reading numbers you gave it and sorting them. It cannot see the search results, your page content or the competitors above you, so rule 3 makes it mark every conclusion as read or inferred, and the inferred ones are hypotheses with a confident tone.
That division is the same one running through the whole library. If you need candidates rather than triage, expand a seed keyword instead. If you have never done any of this, start at how to do keyword research and come back once you have three months of Search Console data worth exporting.
You are a technical SEO analyst. I am going to paste a Search Console query
export. Every query in it is a query my site already appears for. Your job is
triage of positions I already hold, not keyword discovery.
Rules you must follow:
1. Sort every query into exactly one of these six buckets, and put every
query somewhere. Do not leave rows out and do not summarise the export.
- WINNING: ranks and earns clicks. Leave alone, name it and move on.
- STRIKING DISTANCE: real impressions, position close to but not on the
first page, few clicks. The page exists and is nearly there.
- SNIPPET PROBLEM: strong position, plenty of impressions, click through
rate well below the others at the same position in this export.
- WRONG PAGE: the URL appearing for this query is not the page I would
have chosen to answer it.
- COMPETING: two or more of my URLs appear for the same query across the
export. Name every URL involved.
- NOISE: brand queries, job seekers, my own name, and anything a buyer
would never type. Say which of the four it is.
2. Compare click through rate only against other rows in this export at a
similar position. Do not use an industry benchmark, a curve, or any
figure you were not given. You have no benchmark.
3. Never state a cause you cannot see in the data. You cannot see the SERP,
the competitors, the page content or the intent behind a query. Where you
are inferring, write "inferred" and name the one thing I would have to
check to confirm it.
4. Do not add any query that is not in the export, and do not suggest new
keywords. That is a different job and I did not ask for it.
5. If the export is missing a position column or an impressions column, stop
and tell me which one is missing. Do not estimate it from clicks.
Output in this shape, and not as a table:
First, the six buckets as plain headed lists. Under each heading, one line
per query in the form: query, the URL, and the single number that put it in
this bucket.
Second, a numbered list titled FIRST TEN ACTIONS. Rank the ten queries where
one piece of work would change the most, hardest first only if it is also
the most valuable. Each entry: the query, the action type (rewrite the
snippet, retarget an existing page, merge two pages, build nothing), the one
sentence of reasoning, and whether that reasoning is read or inferred.
Third, one short paragraph titled WHAT THIS EXPORT DOES NOT TELL ME, listing
the questions the data cannot answer.
What I sell and to whom: [ONE SENTENCE ON WHAT YOU SELL AND TO WHOM]
My brand and product names: [EVERY NAME ONLY MY COMPANY WOULD BE SEARCHED BY]
Pages that matter commercially: [PASTE THE URLS THAT MAKE MONEY, OR WRITE "all"]
My export: [PASTE THE QUERY EXPORT WITH CLICKS, IMPRESSIONS, CTR, POSITION AND PAGE]What to change
Everything in square brackets is yours to replace. Nothing else needs editing.
[ONE SENTENCE ON WHAT YOU SELL AND TO WHOM]- This is what lets the model tell a buyer query from noise. "We sell scheduling software to construction subcontractors" makes "site foreman rota template" a real query and "construction jobs near me" noise. Without it, everything containing your industry words looks relevant.
[EVERY NAME ONLY MY COMPANY WOULD BE SEARCHED BY]- Your company name, product names, founder name and common misspellings. Brand queries sit at position one with a high click through rate and will otherwise fill the winning bucket with traffic you were always going to get, hiding the twenty queries where work would change something.
[PASTE THE URLS THAT MAKE MONEY, OR WRITE "all"]- The pages you would defend in a meeting. A striking distance query pointing at a blog post you wrote in passing is worth less than one pointing at a pricing page, and the model has no way to know which is which unless you say so.
[PASTE THE QUERY EXPORT WITH CLICKS, IMPRESSIONS, CTR, POSITION AND PAGE]- Export from Search Console with the Pages dimension included, so each query arrives attached to the URL that ranked for it. Without the page column the competing bucket cannot be filled at all, which is the bucket most worth having. Around 200 to 300 rows reads reliably.
How to run it
- 01Export queries with the page attached
In Search Console open Performance, set the date range to the last three months, then export the queries with the Pages dimension included so every query carries the URL that ranked for it. A query list without URLs is half an export and the competing bucket will come back empty.
- 02Cut the rows with almost no impressions
Delete rows in the long tail where impressions are in single figures. They are real but there is nothing to decide about them, and they crowd out the rows worth reading. What remains is the set where your position is established enough that changing something has a measurable effect.
- 03List your brand names before you run it
Write down every string only your company would be searched by, including misspellings and your founder name. This is the input that keeps the winning bucket honest, because brand traffic ranks first with a high click through rate and tells you nothing about whether your SEO works.
- 04Run it and read the competing bucket first
Paste the prompt with all four inputs filled. Then skip to the competing bucket, because two of your URLs appearing for one query is the only finding here that gets worse on its own. Everything else in the output is an opportunity you can take later.
- 05Check every line marked inferred
The prompt makes the model label what it read against what it guessed. Open the actual search for two or three inferred lines and see whether the reasoning survives contact with the live result. A model cannot see a SERP, so an inferred cause is a hypothesis with a good vocabulary.
- 06Fix the snippet problems first, then check what you shipped
Queries with a strong position and a weak click through rate are the cheapest wins on the page, because the ranking is already yours. Rewrite those titles, then run the URL through the title tag checker to confirm the live page serves what you wrote rather than what a plugin generated.
Questions people ask
What is SEO keyword analysis, as opposed to keyword research?
Analysis starts from queries you already appear for and decides what to do about each one. Research starts from nothing and looks for queries you do not have yet. Analysis is the cheaper of the two because every position in the export is already earned, so the work is editing rather than building.
Can ChatGPT read a Search Console export directly?
It can read the numbers you paste and it cannot connect to your account. Paste the export as text rather than uploading a file, because several assistants summarise an uploaded spreadsheet before reasoning about it, and a summarised export quietly loses the rows in the middle where the striking distance queries live.
What counts as a striking distance keyword?
A query where you already collect impressions from a position just below the first page, with few clicks to show for it. The page exists and ranks, so the work is improving one page rather than creating one. Position alone does not qualify a query: without impressions there is nothing to gain by moving up.
Why does the prompt forbid click through rate benchmarks?
Because a language model has no benchmark data and will produce a plausible curve if asked. Expected click through rate by position varies by query type, device and how many features sit above the results, so a generic curve applied to your export produces confident conclusions from an invented baseline. Comparing rows against each other uses only what you supplied.
How often is this worth rerunning?
Once a quarter, or after any change large enough to move positions. Search Console data has a lag of a few days and click through rate needs enough impressions to mean anything, so rerunning weekly produces movement you will read as signal when it is noise.
Unsubscribe in one click. We never pass your address on.