Query-mine the Search Console you already own

Your own Search Console is the only keyword database built from people who actually reached you. The strategy for mining it: striking-distance keywords, zero-click pages, and the queries Google won't name.

What's programmatic keyword discovery?

Programmatic keyword discovery is treating your own Search Console as the keyword database, then working it in bulk instead of one query at a time. Every other source estimates demand from the outside. Search Console reports demand that already found you, on the pages that already exist, at the positions you already hold. It's the only first-party keyword data you own, and most sites read maybe two screens of it a month.

The catch is that Google hands it over in a shape built for spot checks, not strategy. Working it programmatically means pulling the whole surface through an API, joining it to your rankings, and asking questions the interface won't answer.

Why your query report is missing most of your clicks

Open a page report and note the click total. Then add up the clicks in the query table underneath. The second number is smaller. Often dramatically so. Google anonymises queries below a privacy threshold, so the searches that drove most of your traffic never appear by name.

The gap is worse than most people assume. On one of my own pages earning around a hundred clicks a month, the interface named five queries. Going through the API pushed that to twelve. Out of a hundred clicks, I could name twelve of them, on a page I wrote and understood.

That's the invisible-query problem in a nutshell. This page is the repeatable strategy that works around it.

Grant Simmons, who's built SEO tooling for years, tags a confidence score onto his estimates:

Most of my tools, I add in a confidence score, because the math is just math and reasoning is just reasoning.

He's also sceptical the gap can be fully closed, on the grounds that you're still dealing with garbage in and garbage out. Both are true. You can't recover the exact hidden queries, and you can still put together a defensible picture of them from data you already hold.

Finding striking-distance keywords in Search Console

Striking-distance keywords are the terms where you rank roughly between position 11 and 30. They pick up few clicks, and they prove Google already considers your page a credible answer. Nudging one onto page one is cheaper than earning a new ranking from scratch, which makes this the highest-return query mine on most sites.

The workflow's four steps:

  1. Pull every query for the property over the longest window available, not the default three months.
  2. Filter to positions 11 to 30 with impressions above your own noise floor.
  3. Group those queries by the page currently ranking, which turns a keyword list into a page-by-page work queue.
  4. Sort each page's group by impressions, because impressions are demand that Google is already showing you losing.

A ranked-keyword list filtered to positions 10 through 13, showing the keyword, its position, and monthly search volume for each row

The list above is one site's striking-distance band, filtered to positions 10 through 13. Nothing here is a head term, and that's the point. These are queries the site already half-ranks for. Several of them worth a few hundred searches a month. All of them one page away from traffic.

Step three matters more than it looks. Sort by query and you treat every row as its own project. Group by page and you know which single URL to improve to capture a dozen of them at once, which is the same logic behind clustering keywords into topical hubs.

The 16-month window most people skip

Search Console's default view is short, and the export most people take is shorter still. Grant's practical steer is to stop working from the recent slice:

Generally you get a lot more information when you look at the 16 months of Google Search Console data, to have an understanding of, if the article has been around for that long, all the queries that have mapped, not just the most recent queries. I think that's often forgotten.

Sixteen months is the full retention window Google gives you. Pulling all of it changes what you can see. Seasonal queries that vanish from a 90-day view. Terms a page ranked for before a redesign. The slow drift of a page away from the topic it was written for. A query that showed up for six months and stopped is a signal. A 90-day export shows you an absence instead.

Zero-click pages and the queries worth rewriting for

The other half of the mine runs the other way. Look for pages with heavy impressions and almost no clicks. High impressions tell you Google is showing the page for real demand. Near-zero clicks means the title and description are losing the auction, or the page is answering an intent the searcher never had.

Sort those by impressions and read the queries attached. When the queries don't match what the page is about, you've found a page drifting off its topic, and the fix is usually a split rather than a rewrite. When the queries match and the clicks still don't come, the fix is the title. Both are cheaper than new content, and both come out of data you already own.

Run it with Role SEO

Because the Search Console connection runs through Role SEO, your agent can query it alongside your ranking data without a second integration. Connect the Role SEO MCP once, or read how the Search Console MCP fits together, then run the workflow with this prompt.

Using the Role SEO MCP, pull Search Console query data for
[mydomain.com] over the longest window available.

1. Striking distance
Filter to queries in positions 11-30 with more than [50] impressions.
Group them by the page that ranks, then sort each group by total
impressions. Give me the top 10 pages by recoverable impressions.

2. Zero-click pages
List pages with high impressions and a click-through rate under 1%.
For each, show the queries driving the impressions and tell me
whether they match the page's actual topic.

3. The gap
For my top 10 pages by clicks, compare total clicks against the sum
of clicks in the named-query table. Report the difference as a
percentage. Those are the pages where I am planning blind.

Output as a document I can review.

The output is a work queue ordered by what it'd cost to fix, not a keyword list ordered by a volume number that was never about your site.

Where to start

Run step one against your single most important page. If the striking-distance group has more than five queries in it, that page is the next thing you should edit, and you now know which ten words to edit it around. Then widen the window to sixteen months and see what used to work.

From here, the queries you surface feed the rest of the library. Unnamed question queries belong in long-tail question mining. Grouped page queries belong in topical hubs. Anything with buying language belongs in intent mapping before you write a word.

Search Console keyword research FAQ

Can you use Google Search Console for keyword research?

Yes, and it's the most reliable source you've got, because it reports queries that actually reached your site rather than estimating a market. Its limits are that it only shows terms you already rank for, and it hides queries below a privacy threshold. Use it for expansion and validation, and use a keyword tool for the demand you haven't captured yet.

What are striking-distance keywords?

Queries where you rank roughly between positions 11 and 30. They sit on page two, earn few clicks, and prove Google already treats your page as a plausible answer. They're the cheapest rankings to improve on most sites.

How far back does Google Search Console data go?

Sixteen months. Most exports default to a much shorter window, so pulling the full range surfaces seasonal queries and historical rankings that a 90-day view hides.

Why don't the clicks in the query table add up to the total?

Google anonymises queries that too few people searched, so they never appear by name, but their clicks still count in the total. The shortfall runs from a small fraction to most of the total, depending on the size of the site. Reading the same pages at page level rather than query level recovers a lot of the count.

Run this strategy in Role SEO

Run the MCP prompt in this guide with Role SEO. Role SEO is open source, free to try, and does not require a credit card.