River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Keyword Clustering Template and Page Plan

Clusters sized on real demand rather than the sum of the rows, then turned into a page count, a page type and a build order.

Free download  ·  No account needed

Cluster Rationale  ·  Marrowfield Payroll  ·  cluster 7 of 214

Running payroll for the first time

Keywords in cluster27
Sum of the rows29,400 a month
Close variant groups6
Actual demand5,680 a month

Where the other 23,720 went

GroupKeywordsEach reportsCounts as
VG-01142,4002,400
VG-024880880
VG-0331,0001,000
VG-043720720
VG-052480480
VG-061200200

Why

Google defines average monthly searches as the figure for a keyword and its close variants. Fourteen phrasings of the same question all report 2,400 because they are all reporting the same searches. Adding them gives 33,600 of demand that does not exist.

The tell is on the sheet already: identical figures on rows that read differently are one group, not fourteen data points.

What it changes

Plan sized on the rows1,120,000 a month
Plan sized on the groups386,000 a month

Every keyword plan anyone has been handed before was sized on the first number. It is 2.9 times the second one.

Every keyword clustering template does the same thing: groups an export by string similarity or result overlap, sums the volume in each group, sorts descending, and calls the top fifty a content plan. Two of those four steps produce a number that is wrong, and the plan is a list of clusters rather than a list of pages, which is not the thing anybody asked for. A cluster does not say how many pages it is worth, what type each one has to be, or whether you already rank for it.

Google defines average monthly searches as the figure for a keyword and its close variants, averaged over twelve months. So rows overlap, summing a cluster counts the same searches several times, and a seasonal term is reported as a number it never has. The Competition column in the same export counts advertisers relative to all keywords across Google, which is auction density and not organic difficulty. It never enters this plan. What does is organic impression share, the column that reports whether Google already shows a page of yours.

The worked example cuts 18,400 keyword ideas to 6,120, forms 214 clusters, and finds the real demand is 386,000 a month against the 1,120,000 the export claims. Every cluster gets checked against Google's own concept grouping. Pair it with the full Search Console export past the thousand row cap and the content audit that decides the pages you already have. Once two clusters end up pointing at the same query, the cannibalization review is what picks the survivor and maps the redirect.

Two hundred and fourteen clusters, a hundred and sixty-four pages, and a build order

The Keyword Clusters sheet, the Cluster to Page Map and the Coverage Gap in build order.

Keyword Clusters

Marrowfield Payroll, a fictional payroll product. Export pulled 12 August 2026, 18,400 ideas cut to 6,120, joined to Search Console for 1 August 2025 to 31 July 2026.

KeywordClusterIntentGroupAvgPeakBidImpr. shareGoogle agrees
how to run payrollRunning payroll first timeProceduralVG-012,400steady4.1018%Yes
running payroll step by stepRunning payroll first timeProceduralVG-012,400steady4.1018%No, wording
payroll process stepsRunning payroll first timeProceduralVG-02880steady4.4011%Yes
payroll journal entryPayroll journal entriesDefinitionalVG-081,900steady6.200%Yes
payroll journal entry templateJournal entry templateArtifactVG-091,300steady7.804%No, intent
payroll year end checklistPayroll year endProceduralVG-141,3009,400 Mar5.6022%Yes
what is a p60P60 explainedDefinitionalVG-2114,80031,000 Apr2.109%Yes
payroll softwarePayroll software categoryCommercialVG-3040,500steady24.5031%Yes
best payroll software small businessPayroll software comparisonCommercialVG-318,100steady31.202%Yes
payroll reconciliation templateReconciliation templateArtifactVG-44720steady9.106%Yes
gross to net pay calculatorGross to net calculatorArtifactVG-5112,100steady5.400%Yes
p11d deadlineP11D filingProceduralVG-633,6008,800 Jun2.900%Yes

The four intents, and what each one decides

IntentSearcher wantsPage type it forces
DefinitionalTo know what a thing isExplainer, or a reference table at scale
ProceduralTo know how to do itOrdered procedure. Completeness beats depth
ArtifactAn object: template, checklist, calculatorThe object above the fold, prose after
CommercialTo evaluate or buyUsually not a content page at all

Google's own concept grouping disagreed with these clusters 31 times out of 214. The pattern: when the disagreement is about intent it was right, 19 times. When it was about wording, we were.

Cluster to Page Map

Every cluster gets a page count, a page type and one of five verdicts. 214 clusters resolve to 88 existing pages and 76 new ones.

ClusterSum of rowsRealOwnerOwner rateTypePagesVerdictBand
Reconciliation template4,1801,360/blog/payroll-reconciliation-guide0.4%Artifact1Expand1
Journal entry template3,1001,300/blog/payroll-journal-entries0.6%Artifact1Expand1
Payroll year end18,7004,100/blog/payroll-year-end1.9%Dated1Expand2
Statutory sick pay14,2007,900nonen/aProcedure1New page2
P60 explained42,80019,600/glossary/p601.1%Explainer1Expand3
Running payroll first time29,4005,680/guides/how-to-run-payroll3.1%Procedure1Expand3
Gross to net calculator21,60012,100nonen/aArtifact1New page4
Payroll journal entries4,9001,900nonen/aExplainer1New page4
Payroll software comparison14,8008,690nonen/aComparison1New page4
Payroll tax rates7,2004,400/resources/payroll-tax-rates6.7%Reference1Keepn/a
Payroll for contractors2,100880nonen/asection0Fold5
Payroll software category58,90040,500/product2.4%Category0Dropn/a

Where the 214 clusters went

VerdictClustersPagesWhy
Keep3434 existingOwner is adequate against the real demand
Expand5454 existingOwner is thin or is the wrong type. Inherits what the page already earns
New page6776 newNo owner. Nine split because the cluster carries two intents
Fold470Same intent at a different depth. Ships as a section
Drop120Off-product, off-geography, or a query a product page should own

The 40,500 row is the largest in the export and it is a Drop. A content page targeting a category term competes with the page that converts, and if it wins, the company has replaced a page that sells with one that does not.

Coverage Gap

The 67 clusters with no owner, in build order. Sequenced on real demand and commercial evidence together, with seasonal clusters pulled to their ship-by date.

#ClusterReal demandPeakBidWhat page one servesOwnerShip by
1Statutory sick pay7,90011,200 Jan3.30Two government pages, three long proceduresContent2026-11-10
2Gross to net calculator12,100steady5.40Five interactive calculators, no articlesProduct2026-11-24
3Payroll journal entries1,900steady6.20Three explainers, one textbook extractContent2026-12-01
4Payroll software comparison8,690steady31.20Four vendor comparisons, two aggregatorsSales2026-12-08
5Auto enrolment duties5,400steady4.70Two regulator pages, four long guidesContent2027-01-19
6Payslip requirements3,200steady2.80A table on one competitor, prose elsewhereContent2027-02-02
7Holiday pay calculation4,100steady3.60Three calculators, two proceduresContent2027-02-16
8Payroll for directors1,400steady8.90One accountancy firm, four forum threadsContent2027-03-02

Eight clusters came off this sheet before it was published

Where the coverage turned out to beClusters
A paginated archive nobody associated with the topic3
A glossary page built in 20212
A support article outside the marketing site entirely3

Search Console named an owner for 88 clusters. Organic impression share showed a listing from the site appearing for 96. All eight of the difference were about to be commissioned as new pages, and that column takes a minute to read.

What you get

01

Keyword Clusters

One row per kept keyword with its cluster, its intent, its close variant group, the peak month if it has one, and whether Google's grouping agreed. The variant group column is what makes the sizing checkable rather than asserted, because anybody can see which rows collapsed into one another and why.

02

Cluster to Page Map

The output, and the reason this is a plan rather than a cluster map. Every cluster carries a page count, a page type, the URL of any page already earning impressions for it, and one of five verdicts. Both directions are normal: forty-seven clusters fold into other pages and nine split into two.

03

The volume correction

Cluster volume computed as the sum of the maxima of its close variant groups, not the sum of its rows, with both figures kept side by side. On the worked example that is 386,000 a month against 1,120,000. The gap is the first thing to show anybody who has been handed a keyword plan before.

04

Google's own concept grouping as a second opinion

Google's keyword ideas service can return a concept group and concept name for every idea. Run against your clusters it disagreed 31 times out of 214, and the rule that fell out is durable: on intent disagreements Google was right, on wording disagreements it was not.

05

Coverage Gap

The clusters nobody owns, already in build order, each with what page one currently serves and who has to build it. Eight rows came off this sheet before publication because organic impression share found a listing from the site on a URL nobody connected to the topic.

06

Page Type Guidance and Plan Sequencing

Seven page types, the evidence each call rests on, and the two type errors that cost the most. Then the build order, which puts type corrections on pages that already rank above every new page, because distribution that has already been paid for is the cheapest thing in a content plan.

07

Discarded Keywords

Two thirds of a large export with the rule that cut each part and the reason. Longer than the plan, which is the normal outcome. It also records what is explicitly not a discard rule: high competition and a big incumbent on page one are sequencing inputs, not cuts.

How it works

  1. 1

    Send the export

    A keyword export from any tool, Search Console performance by query and by page, and the pages that already exist. An export somebody else pulled is the normal case.

  2. 2

    River sizes it first

    Close variant groups collapse, seasonal terms get their peak month, and the Competition column is set aside. You see the real demand figure before any clustering happens.

  3. 3

    Clusters get a page count

    Intent decides the type, Google's concept grouping checks the cluster, and existing coverage is measured rather than guessed. Then every cluster gets a page count and one of five verdicts.

  4. 4

    The plan comes out ordered

    Five bands, ship-by dates on anything seasonal, owners and reviewers on every row, and named dependencies where one page has to exist before another can link to it.

Frequently asked questions

Why is your volume figure lower than my export's?

Because your export counts some searches more than once. Google reports each keyword's average alongside its close variants, so a plural, a reordering and a synonymous phrasing all carry the same number. Collapsing those groups to their maximum cut the worked example from 1,120,000 a month to 386,000.

What does Edit with AI do that the download does not?

It installs this pack as a private Space and River works your own export instead of the example. It applies the discard rules, groups the variants, clusters by intent, measures your coverage against Search Console, then fills the page map and sequences it. You keep the reasoning on every row.

Should I not just target the highest volume keywords?

The highest volume rows in an export are usually category terms your product page should own. On the worked example that is a 40,500 a month query, recorded as a Drop with a note to whoever owns the product page. A content page winning it would replace a page that sells with one that does not.

How do you know whether a page already covers a cluster?

It gets measured, not string-matched against a sitemap. Search Console performance by query names the page and what it earns, and Keyword Planner's organic impression share column reports whether a listing from your site shows at all. Those two disagreed on eight clusters here.

Does it work with a Semrush or Ahrefs export instead of Keyword Planner?

Yes. All of them produce the same three things: a keyword list, a volume estimate and a difficulty or competition score. The method reads the list and treats the score as an estimate from a named tool. Where a column is missing, the sheet says which decision is running without it.

How many pages should a 20,000 keyword export produce?

Far fewer than the cluster count, and that is the point. The worked example ran 18,400 ideas down to 214 clusters and then to 164 pages, of which 88 already existed. Forty-seven clusters became sections rather than pages, which is what stops a plan being two hundred thin articles.

What happens to seasonal keywords?

They get a ship-by date instead of a priority. A twelve month average is the one figure a seasonal term never has: one cluster here averages 1,300 and does 9,400 in March. It ships in January, because a page published during its own peak has not been crawled or linked yet.

Find out how much of your keyword volume is counted twice

Send the export. River sizes it properly, clusters by intent, measures what you already cover, and hands back the pages in the order to build them.

Edit with AI