How I Find Keywords My Tool Sites Don't Cover: A Keyword Matrix Run, With Real Numbers
I run a small family of free, no-login tool sites — eight of them are listed on my /tools page — and each site lives or dies on search traffic. This morning I ran two keyword-matrix batches to find ranking gaps: clusters of keywords nobody in my family covers yet. One cluster, printable habit and savings trackers, died on the numbers. One came back from the dead: 79 legal-document keywords under KD 20, roughly 12,000 monthly searches combined, with cost-per-click figures up to $3.42. This post is the full run — the workflow, the real figures, and two decisions I would not have made by guessing.
SEO tooling and search behavior change fast. Every number in this post is a snapshot from early October 2026 — treat it as a workflow demo, not a forever-true dataset.
Guessing keywords failed me, so I stopped guessing
Last week’s case study about my PageSpeed scores started with ten keyword phrases I invented by intuition — phrases like “defer third party scripts”. All ten returned zero search volume. Not low volume. Zero. A keyword tool can only report how people actually search, and people do not search like me.
So the workflow changed. Instead of inventing phrases, I now mine three sources: keywords that competitor sites already rank for, questions people ask in communities around my topics, and word pools my own sites have not touched. Earlier this week I tore down timecalculator.net, the strongest competitor of my time card calculator site TallyPunch, layer by layer — page types, headings, FAQ schema. That teardown alone turned into 36 matrix pages. A competitor’s keyword list is a map of proven demand: every word on it is a group of people already looking for something.
The matrix: topic rows, word-form columns, two probes per cell
The matrix is a grid. Rows are topics or audiences — printable trackers, legal documents, paycheck calculators. Columns are word forms — generator, template, printable, calculator, maker. A cell is one seed phrase, like “will template” or “habit tracker printable”.
Each cell gets two probes through the Semrush keyword API, declared in a small seed file before every run:
{ "phrase": "will template", "filters": { "volumeMin": 100, "kdMax": 20 } }
Probe A keeps every phrase-matched keyword with at least 100 monthly searches and keyword difficulty (KD) at or under 20 — the range a small new site can realistically rank for. Probe B is the watchlist: volume at least 500, KD up to 40 — too hard today, worth re-checking as domain authority grows. Both probes run on the US database, phrase match, in USD. Every batch ends with a six-dimension verdict: demand size, competitor presence, monetization, two standing rules of my own, and page format.
Decision one: printable trackers died on the money dimension
I wanted a new printable tracker site. Habit trackers, savings trackers, mood trackers — people search for these and print them, so the gap looked real. The run returned 13 keywords with a combined ~8,700 monthly searches, and the difficulties were gentle: savings tracker printable sits at 590 searches a month with KD 12; mood tracker printable is 110 with KD 18. The head word, habit tracker printable, carries 2,400 searches a month.
The monetization dimension killed the idea. All 13 keywords are informational intent — people want a free PDF, not software. The CPC range, $0.42 to $1.20, is what advertisers pay for that traffic, and it means ad revenue alone cannot carry a standalone site. I almost built a whole site because I liked the words. The fix: the cluster moves into the word pool of WordRoost, my word-lists site, which already serves the same printable-and-list audience with the same ad infrastructure. No new site. Same keywords, different home.
Decision two: one word form returned zero rows, the other returned 79
I wanted legal document keywords — wills, leases, eviction notices. The first run used the “generator” word form: “will generator”, “lease agreement generator”, and so on. The result was six empty CSV files. Zero rows across the board. My first thought was that the collection script was broken. It was not. My word was.
So I moved one column sideways in the matrix — generator to template — and ran the cell again. “Will template” and its sibling seeds returned 79 keywords under KD 20 with a combined ~12,000 monthly searches, and this cluster is commercial: people want a document, and legal template services pay real money for that click.
| Document row | Keywords under KD 20 | Strongest example | CPC signal |
|---|---|---|---|
| Will template | 38 | Oregon and Pennsylvania at KD 7 | — |
| Lease agreement template | 26 | Maryland: $3.42, KD 13 | $2.80–3.42, the best in my whole project |
| Power of attorney | 9 | New Jersey: 480/mo, KD 16, $1.63 | |
| Eviction notice | 3 | Texas: 480/mo, KD 17, $1.55 |
The big head words stay on the watchlist for now: lease agreement template alone carries 14,800 monthly searches, but KD 40 is out of reach for a new domain. The realistic ceiling is a state matrix — 50 states times five document types, roughly 250 pages — each page a real template download for one state.
The lesson is now written in my playbook in bold: a falsified word form is not a falsified demand. Before killing a topic, move one column sideways.
A rescued cluster still has to pass the competitor gate
Numbers alone do not launch a site. The next steps for the legal cluster are manual: check the actual search results for ten state-level words to confirm small sites can rank, and verify that competitors in this niche make money. My standing rule is no competitor revenue, no build. The rule has saved me before. In a four-direction verification round last week — timers, word-game helpers, recipe calculators, education worksheets — every direction turned out to have competitors with real revenue, from a $19.95-a-year ad-free membership at math-aids.com (taken from the site’s own subscription code on 2026-09-26) to a stage timer SaaS reporting €20K MRR. Micro-clusters look small in a spreadsheet and still carry real businesses; a cluster with no revenue anywhere is usually a trap.
What I’d tell a past me
Keep the probes cheap, keep the verdict boring, and write down why a cluster died — printable trackers died on money, not demand, and that difference decides whether a cluster gets merged, parked, or built. Third-party volumes and KD scores are estimates with snapshot dates; the workflow is the asset, the numbers are weather. The follow-up to this post will be the legal cluster’s SERP check — ten state words, opened one by one, with what actually ranks.
This article was created with the help of AI. AI was not used to write the content; it assisted only with translation and grammar checks.
This article was created with the help of AI