Free tool

Content Gap Finder

Find the queries Google already shows your site for — but you have no content for. Drop your Search Console export and get ready-to-write article suggestions, scored by click potential.

Your export is analyzed locally in your browser.

  1. 1. Open Search Console → Performance
  2. 2. Set the date range to “Last 3 months” (12 months for low-traffic sites)
  3. 3. Export (top right) and download the zip

How it works

From Search Console export to a verified writing list

Drop your export

Drag in the Search Console zip (or Queries.csv and Pages.csv). Everything is parsed locally in your browser; the free preview never uploads your data.

Score and group

Brand queries are filtered out, each remaining query is scored by estimated click potential, and AI groups the opportunities into ready-to-write article suggestions.

Verify against Google

A live Google check finds which of your pages actually ranks for each suggested topic, so every “true content gap” label is verified, not guessed.

The easiest rankings are the ones Google is already offering you

Every impression in your Search Console report is Google saying “we considered showing your site for this search.” When a query racks up impressions but sits at position 12 with a near-zero click-through rate, the usual reason is simple: no page on your site is actually about that query. Some article mentions the topic in one paragraph, Google surfaces it for lack of anything better from you, and the ranking stalls where partial answers stall.

That is the opposite of a lost cause. Ranking a brand-new site for a competitive query means building topical trust from zero. Ranking for a query Google already shows you for skips that entire fight: the trust exists, the demand is measured in your own data, and the only missing piece is a dedicated page. This is why the “mine your GSC export for striking-distance queries” tactic keeps working year after year: dedicated content for an un-targeted query is the highest-probability move in SEO. The Content Gap Finder automates the mining, the scoring, and, crucially, the verification.

Getting the export from Search Console

The tool reads the standard Search Console UI export, no API setup required. In Search Console, open Performance, set the date range to Last 3 months, and click Export in the top right, choosing the zip download. Three months is the default recommendation because Search Console positions are averages over the export window: a 12-month export mixes in rankings you may have lost months ago, which inflates the list with stale opportunities. The exception is a low-traffic site — if a 3-month window leaves most queries with only a handful of impressions, switch to Last 12 months and trade some freshness for enough data. The zip contains several CSVs; the two that matter are Queries.csv and Pages.csv. Drop the whole zip onto the tool, or the two CSVs individually, and the preview appears in seconds.

The UI export caps each file at 1,000 rows. For this analysis that is plenty: the cap keeps your 1,000 highest-impression queries, and content gaps worth writing for are by definition queries with real impressions. You are looking for the best twenty opportunities, not a complete inventory of the long tail.

How the analysis works

The first pass is deterministic and runs entirely in your browser. Brand queries (searches that contain your site's name) are excluded automatically, since they need no new content. Every remaining query is scored by estimated click potential: its impressions multiplied by the click-through-rate uplift from its current average position to a top-3 position, using a conservative industry-average CTR curve. High impressions plus poor position plus weak CTR floats to the top; queries you already win stay out of the way.

Unlocking the full report adds the two steps a spreadsheet cannot do. AI groups the opportunity queries into article suggestions, each with a proposed title, a primary keyword, and the supporting queries the same article should capture, so one piece of content targets a cluster rather than a single string. Then a live Google check scans the top 100 results for each suggested topic and reports which page of your site, if any, actually ranks for it. Suggestions come back labeled either as a true content gap or as a topic an existing page already covers.

Acting on the results

Each true content gap deserves its own dedicated article: a page whose title, heading, and body are about that query cluster, not a section bolted onto an existing post. Because Google already shows your site for these searches, dedicated pages here tend to reach striking distance far faster than content on topics you have no history with. Work down the list by click potential, and treat “existing page already covers it” results as improvement briefs for those pages instead of new-article assignments.

Writing the articles is the part the tool hands off. Every suggestion carries a Write it with ProofWrite button that turns the title, primary keyword, and supporting queries into a researched, fact-checked article draft, so the distance from “gap found” to “page published” is a single afternoon rather than a content calendar entry.

What the numbers do and do not claim

The click-potential figures are estimates, and honest ones. They use an industry-average CTR curve on the conservative side, and they cover the same period as your export: a score of 500 means roughly 500 extra clicks over the exported period if a dedicated page reached the top 3. Your niche's real CTR curve will differ, so read the scores as a priority order, not a forecast.

The positions deserve the same honesty. Search Console's Position column is an average across your entire export window and every country, device, and search appearance where your site showed up — not where you rank in a browser today. A query can show “average position 12” from a ranking you held last autumn and have since lost, which is why checking a result by hand sometimes finds nothing on the first pages. The tool flags the clearest cases — queries whose clicks fall far below what their reported position would produce — as possibly lost rankings, and the full report's live Google check settles the question against today's results.

One structural limitation drives the tool's design: the Search Console UI export does not join queries to pages. Queries.csv and Pages.csv are separate lists, so no tool can tell from the export alone which page earned which impression. That is exactly why the live Google check exists. Instead of guessing the mapping, the full report verifies it against the current results, which is the difference between a list of hunches and a list you can hand to a writer.

Pair it with the other free tools

The same Search Console zip works in the core update impact checker, which tells you whether a recent core update helped or hurt the site you are about to expand. Before writing a suggested article, run its primary keyword through the information gain analyzer to see what the current top 10 already says and where you can add something new, and once the page is live, use the free SEO checker to confirm the on-page basics are in place.

Content gap finder questions

What counts as a content gap here?

A query your site already gets impressions for in Google Search Console, but has no dedicated page targeting it. Google is showing your site for the search, usually via a page that only mentions the topic in passing, so you sit in position 8, 15, or 40 and collect almost no clicks. Those queries are the cheapest rankings you will ever win: a dedicated article typically moves fast because Google already associates your site with the topic.

How do I export the right files from Search Console?

In Google Search Console, open Performance, set the date range to "Last 3 months" (or 12 months for a low-traffic site), and click Export in the top right. Choose the zip download: it contains Queries.csv and Pages.csv, which are the two files the tool reads. You can drop the whole zip onto the tool, or extract it and drop the two CSVs directly.

Should I export 3 months or 12 months of data?

It is a freshness-versus-volume trade-off, because Search Console positions are averages over the export window. A 12-month export mixes in rankings you may have lost months ago, so queries can show a flattering average position your site no longer holds, and stale topics inflate the opportunity list. Three months reflects roughly where you rank today, which is why it is the default recommendation. The exception is low-traffic sites: with few impressions per month, a 3-month export may leave most queries under the tool's impression threshold, so 12 months is the better choice there — you trade some freshness for enough data to find real patterns. Either way, the full report's live Google check verifies the top gaps against today's results, and queries whose clicks fall far below their reported average position are flagged as possibly lost rankings.

Does my Search Console data leave the browser?

The free preview is computed entirely in your browser: the zip is unpacked, parsed, and scored locally, and nothing is uploaded. If you unlock the full report with your email, only the shortlisted opportunity queries and your page paths are sent to the server for AI grouping and the live Google check. The full export, your click counts, and everything that did not make the shortlist stay on your machine.

How is the click-potential estimate calculated?

Each opportunity query is scored as its impressions multiplied by the CTR uplift from your average position in the export to a top-3 position, using an industry-average CTR curve. The curve is deliberately conservative, and the estimate covers the same period as your export, so a number like "320 clicks" means roughly that many extra clicks over the exported period if a dedicated page reached the top 3. Because positions are period averages that can include rankings you have since lost, treat the scores as a priority order, not a traffic guarantee.

What does the live Google check actually verify?

For each suggested article topic, the tool runs a live Google search and scans the top 100 results for pages from your site. That shows which of your pages, if any, actually ranks for the topic right now. A suggestion is only marked a true content gap when no page of yours ranks meaningfully for it; otherwise the tool tells you which existing page is carrying the query, so you can improve that page instead of cannibalizing it.

Why do some suggestions say an existing page already covers the topic?

Because the Search Console UI export does not join queries to pages: Queries.csv and Pages.csv are separate lists, so from the export alone it is impossible to know which page earned which impression. The live Google check closes that gap. When it finds one of your pages ranking for a suggested topic, the honest call is "existing page already covers it": strengthening that page usually beats publishing a competing article on the same site.

Search Console only exports 1,000 rows. Is that a problem?

No. The UI export caps each CSV at your top 1,000 rows by the current sort, which for queries means your 1,000 highest-impression searches. Content gaps are by definition queries with meaningful impressions, so the opportunities worth writing for are almost always inside that top 1,000. Sites large enough for the cap to hide real gaps are typically already pulling full data via the Search Console API.

Is the Content Gap Finder really free?

Yes. The local preview with scored opportunity queries costs nothing and needs no signup. Entering your email unlocks the full report: AI-grouped article suggestions with titles, primary keywords, and supporting queries, plus the live Google verification for each one. To keep the live checks affordable, full reports are limited to a few runs per day per IP.

Free Content Gap Finder for Search Console | ProofWrite | ProofWrite