This is a content gap analysis I ran on a real site from start to finish: trackbarn.com, a US track and field retailer, from one keyword export to 455 published question pages, 1,939 ranking queries of which 922 were new, 10 to 145 keywords in AI Overviews, and the third of the pages I would not build again. The step where I made that mistake is shown, not hidden, because Rank Dough gets hired for the method and the method includes the fixes.
TL;DR
In February 2026 I took over a track and field store that had just lost most of its clicks to a redesign, restored the product pages that used to rank, then turned one keyword export into 12 silos and 455 question pages between March and June. By September the site ranked for 1,939 queries, 922 of them new, with 145 of 363 keywords in AI Overviews, while the homepage lost clicks over the same period. Scored after the fact, a third of the pages were written for people who will never buy a pole, so the buyer-distance score now runs before the brief and everything else stayed.
How this was researched
The work behind the numbers, so you can judge them for yourself.
EFFORT
Six months on a live site
February to September 2026 on one client store: one keyword export, 12 silos, 455 pages, monthly Search Console and Ahrefs checks and a recorded update every month.
ORIGINALITY
The full project, mistakes included
A real client project end to end, including the step we got wrong. Not a template.
SKILL
Run by an SEO, not a tool
Run by Roman Sadowski on the client’s live site, from the site review to the monthly pruning.
ACCURACY
What it doesn’t prove
One site. The homepage losing clicks isn’t proven to be caused by the new pages, and buyer distance was scored after the fact.
The information gap series
- Content gap analysis that finds buyer questions, not keywords
- Information gain: one page wins when ten say the same thing
- Proprietary data: the facts an AI cannot write without you
- A content gap analysis on a real site, start to finish (this page)
What did the site look like at the start?
February 2026. A Shopify store for track and field equipment, three brands under one owner, just redesigned.
Search Console showed clicks down from around 150 a day to single figures after the redesign, with product pages that used to rank removed in the process. Ahrefs had the site at 161 ranking keywords in January.
The first decision, which is on my February update to the owner, was to restore the removed product pages before building anything new. A page that ranked once gets its traffic back faster than a new page earns it.
That is step zero of every gap analysis we run. Read the site, list what it sells, find what it used to rank for. The export comes after.
Source: Rank Dough monthly client update recording, TrackBarn, February 2026; Google Search Console, trackbarn.com
Step one: how was the keyword universe built and split?
Inputs: a client questionnaire, the site itself, an Ahrefs organic keywords export for the category, and Search Console queries. The system expanded seed terms with modifiers (event, age group, level) into a keyword universe, then applied the one rule that does most of the work: questions become articles, generic terms become collection pages, never the other way round.

“Vaulting poles” went to the collection list. “What is a good 5k time for cross country” went to the article list.
The generic terms were the pages that sell. The questions were the pages that could rank fast.
Keeping them apart stopped the system writing a 2,000-word guide to vaulting poles that would have competed with the collection and answered nothing. The keyword method in full is in from 6,000 keywords to 12 silos.
Source: Rank Dough content system build record, questions-versus-generic rule, 6 March 2026
Step two: how were the questions clustered and deduplicated?
Questions were clustered into silos capped at 12, grouped the way a reader groups them: cross country, pole vault, throwing, sprints, uniforms, and so on. I checked the silos by hand, because at scale the clustering had thrown baseball in with dental implants on another project and had dropped terms that were in the source file.
Dedupe ran twice before publishing: on the keyword list, and against the site’s existing titles and headings so nothing got briefed that already existed. The third pass, on search-result overlap, cannot run until pages have ranked, and it is the one that catches “can I” versus “when can I” pairs. Why we keep that order is in dedupe three times.
Source: Rank Dough content system build record, clustering cap and batching, May 2026
Step three: what did each idea carry before writing?
| Attached to every idea | What it is | Why |
|---|---|---|
| Silo and tag | One of 12 groups | Internal links form an entity map, not a scatter |
| Search volume total | Sum across the keywords the idea covers | Orders the queue; never decides entry |
| Research prompt | Written for that question | Produces the brief that is the only fact source |
| Target keywords | Drawn from the silo | The page is briefed against what people search |
| Value promise | What the reader can judge after reading | Verified point by point after generation |
| Buyer distance | 0 to 3 | Should have been here from the start; see below |
Table 1. What each candidate page carried into the queue. The last row was added after the results came in.
Source: Rank Dough content system build record, value promise (7 April 2026), information-gain gaps per angle (15 April 2026)
Step four: what did generation and publishing look like?
Pages were written in volume order in programmatic mode: 100 to 500 words, direct answer with figures first, one table, five FAQs, a source line per section, a CTA block pointing at the matching collection, CSV out to Shopify. Every page passed an independent check that read the finished HTML for the figure count, the sources and the links before it went live.
The writer never signed off its own work. That check is written up in the writer never grades itself.
455 pages went live between March and June 2026, alongside the restored product pages and rewrites of existing content that already performed. On the June update I said improving Karl’s existing content would get to results quicker than writing new. It did.
Source: Rank Dough monthly client update recordings, TrackBarn, April and June 2026
What did the data show after six months?

- Ranking queries in Search Console, 28 days to 22 September: 1,939. 922 of them had zero impressions in the same window a year earlier.
- Page-one keywords in Ahrefs: 103 in September 2025, 1,667 in September 2026. Top 3: 22 to 643.
- Keywords with an AI Overview: 10 in February, 83 in April, 145 in June. 40 percent of everything the site ranked for.
- Impressions: 113,040 to 1,581,842. Clicks: 1,121 to 6,095.
- Homepage clicks: 546 to 310. Pole collections: 31 to 2 and 23 to 0.
That last line is the one that matters if you are deciding whether to run this on your own site. Traffic rose five times.
The pages that sell lost clicks. Whether the question pages caused that is not proven; the homepage improved in position while losing clicks, which points at the results page rather than cannibalisation. But it showed me the step that was missing.
Source: Google Search Console, trackbarn.com, 28 days to 22 Sep 2026 vs 2025; Ahrefs keywords history, trackbarn.com; monthly client update recordings, TrackBarn, Feb to Jun 2026
What went wrong, and where in the process?
I scored buyer distance after the pages ranked, not before they were briefed. Applied in hindsight, roughly a third of the 455 pages sit at distance 3: the searcher is a parent or a school runner, and the client sells $800 poles.
“What is the javelin world record” is the clean example. 58,339 impressions, 67 clicks, no customers. The pages did exactly what they were built to do. I built them for the wrong readers.
The fix is a position in the pipeline, not a new rule. The score now sits between the silo review and the research brief, because once a brief exists the page gets written. The rest of the method is unchanged, and the version with the score in the right place is in content gap analysis that finds buyer questions.
Two other things the data forced. 98 of the 455 pages have zero clicks and are being pruned. And 61,996 impressions came from India for a store that ships in the US, so the country mix is now a monthly check.
Source: Google Search Console, trackbarn.com, Pages and Countries reports, 28 days to 22 Sep 2026
What does the monthly routine look like now?
Four checks, same order every month, and they take about an hour with the exports open.
- Position and click rate per page, side by side. Rising position with falling clicks means the results page is answering above the result.
- Clicks on the money pages year over year, before I look at anything else.
- Duplicate pairs: any page that lost position while a sibling with overlapping queries exists. Merge, 301, move on.
- Pages that held a top-3 position last month and return no URL this month. Restore before building.
What would I do differently on the next site?
- Score buyer distance before the brief. Cut the 3s before research starts.
- Restore and improve what already ranks before writing new, as I did here, but budget it from day one.
- Give every distance-1 page its conversion element at brief stage: the collection link, the sizing block, the price table.
- Run the third dedupe pass and the zero-click prune monthly from month three.
- Report clicks on money pages beside the content numbers from the first report, so the gap shows in month two, not month six.
What makes each page worth ranking once the gap is chosen is in information gain. How the client’s own facts get quoted by AI answers is in proprietary data and AI citations. See what you think.
FAQ
How long did the TrackBarn gap analysis take from export to first pages?
About six weeks from the February 2026 site review to the first batch going live in March, with 455 pages published by June.
How many of the 455 pages were worth building?
By clicks, 357 earn at least one a month and 121 earn ten or more. By buyer distance, roughly a third would not be written today because the searcher is not a customer.
Why restore old product pages before writing new content?
A page that ranked once gets its traffic back faster than a new page earns it. The February review found removed product pages that had held traffic; restoring them was the first task.
What should have happened differently?
Buyer distance scored before the research brief, not after the rankings came in. That one change removes the distance-3 pages before any time is spent on them.
Can this be run on a non-Shopify site?
Yes. The export, split, cluster, score and brief steps do not depend on the platform. Only the publishing step changes: CSV import on Shopify, REST or bulk import elsewhere.
Sources
- Google Search Console, trackbarn.com, Queries, Pages and Countries reports, 28 days to 22 September 2026 versus same period 2025
- Google Search Console Help, Performance report
- Ahrefs, keyword cannibalisation
