Start from the output, or you'll never reach it
Most keyword research fails at the handover. Somebody spends a fortnight building an impressive sheet, presents it, everyone agrees it's thorough, and nine months later three of the pages exist. The research wasn't wrong. It just wasn't a plan.
So define the artefact before you start. A finished keyword plan is a table where every row is a URL somebody has agreed to ship on a date. Say you run a twelve-person accounting firm in Bengaluru selling to startup founders. Five rows of that plan look like this.
| URL | Primary keyword | Intent → format | Owner / ship date |
|---|---|---|---|
| /services/gst-return-filing | gst return filing for startups | Commercial → service page with a pricing table | Founder / 8 Aug |
| /pricing | accounting firm fees bangalore | Commercial → published fee ranges | Founder / 15 Aug |
| /blog/gst-late-fee-calculation | gst late fee calculation | Informational → calculator plus a worked example | Writer + dev / 29 Aug |
| /blog/private-limited-vs-llp | private limited vs llp for startups | Commercial investigation → comparison table and a verdict | Writer / 12 Sep |
| /blog/what-is-form-16 | what is form 16 | Informational → short explainer, one annotated screenshot | Junior / 26 Sep |
Step 1 — Seed from customers, not from a tool
Open the tool second. First, spend an afternoon collecting the words people already use about your business, because those words convert and no keyword database will ever surface them with the right emphasis.
Aim for thirty seed phrases. Not variants — distinct problems and product categories. The variants come free in step two.
Where they come from: the last twenty sales calls, your support inbox, live chat and WhatsApp threads, your site's internal search log, the objections in your sales deck, and the way your best customer described you in an email. Then your Search Console queries, which show what Google already associates you with. We've ranked nine free places to find keywords if you want the full list.
The classic failure here is seeding from your own product vocabulary. If your homepage says 'compliance automation' and every customer says 'GST filing', a tool fed the first phrase returns a tidy list of terms nobody searches.
Step 2 — Expand, then cluster by intent
Expansion is mechanical and fast. Take each seed and run it through the modifier passes below. Thirty seeds becomes a few hundred queries in an hour.
- Autocomplete and alphabet soup — type the seed, then the seed plus each letter, and record the suggestions.
- People Also Ask — open the boxes and watch them multiply. Stop when the questions stop being about your topic.
- Modifiers — price, cost, near me, best, vs, alternative, for startups, in India, online, free, template. Each one signals a different buyer stage.
- Search Console — every query with impressions, especially those sitting between positions 8 and 20.
- Competitor titles and sitemaps — public, free, and a readable list of what somebody already decided was worth paying for.
Cluster by SERP overlap, not by wording
Now group them. The naive method sorts by shared words, which produces neat clusters and wrong pages. The method that works: if the same URLs rank for two queries, Google has decided they're the same question, and one page should serve both. If the ranking pages are completely different, they're separate pages no matter how similar the wording looks.
'seo agency cost' and 'seo agency pricing' almost always share ranking pages — one page. 'seo cost' and 'seo course cost' look related and share nothing — two pages, two audiences, and merging them wastes both.
You can do this by hand for a hundred queries: open the top five results for each, note the URLs, group the overlaps. It's tedious for an afternoon and it prevents a quarter of misdirected writing.
Step 3 — Validate each cluster against the live SERP
Before a cluster becomes a row in your plan, search it and read what's actually there. Google has already decided what a good answer looks like for that query, and arguing with that decision is the most common way a well-researched page fails.
You're checking three things.
- Format. Are the top results comparison tables, calculators, videos, product pages, or long guides? Publish the format that's winning. A 2,000-word essay ranked against five calculators loses to all five.
- Who owns it. If the first page is Amazon, Reddit, Quora and three national publications, you're not winning that query this year with a new site. Note it, park it, pick the specific version of the query instead.
- Intent. Search intent is decided by the results, not by the words. 'seo agency' returns directories and agency homepages, so it's a commercial query, however informational it sounds.
Step 4 — One primary keyword per URL
This is the rule that keeps a plan honest, and it's where most spreadsheets quietly fall apart.
Each URL gets exactly one primary keyword: the query the page exists to answer, the one you'd write the title around. Everything else in the cluster is a secondary — worth covering in the body, worth an H2, not worth its own page.
The discipline this enforces is subtraction. When two rows want the same primary keyword, one of them isn't a page. Either merge them or find the genuinely different question the second one answers. Publish both and you've built a cannibalisation problem where your own pages compete, split their links, and swap positions unpredictably while you wonder why neither ranks.
It also fixes the reporting problem before it starts. One keyword per URL means you can say, per page, whether it worked — which is the only way anyone can be held to a number later.
Step 5 — Add owners and dates, then stop researching
The last step takes twenty minutes and is the one that gets skipped.
Sort your clusters by a simple ranking: commercial intent first, then queries where Search Console already shows impressions, then everything else. Take the top fifteen. Assign each an owner and a ship date. Put the rest in a second tab labelled 'not this quarter' and close it.
Fifteen pages at one a week is a quarter of work for a small team, and it will out-earn the version where forty pages were planned and eleven appeared. Cadence beats volume in SEO the way it beats it everywhere else.
Then stop. Research again when you've published the list, when the SERPs shift after a core update, or when the business starts selling something new. Re-researching before you've shipped is procrastination with a spreadsheet.
How many keywords a small site actually needs
Far fewer than the industry implies, because the constraint has never been ideas. It's pages that are genuinely worth reading.
Rough guides, based on how these sites are usually structured rather than on any survey.
If you'd rather not run this yourself, it's what our keyword research work delivers — and we hand over the plan with dates, not the export. Whether we're doing it or you are, the measure stays the same: qualified leads from organic against your own trailing-90-day baseline, frozen before anything ships.
- Local service business — 15–25 primary keywords. Service pages, a location page or two, and the handful of questions customers ask before booking. Most of the work is the Google Business Profile, not the content volume.
- B2B or SaaS — 60–120 across two or three clusters, built over a year. Deep beats broad here; owning one topic completely is worth more than touching six.
- Ecommerce — one primary keyword per category and per genuinely distinct product type, not per SKU. Thousands of near-identical product pages is a template problem, not a research problem.
- A brand-new site — start with 10. Publish them properly, watch what Search Console reports back after eight weeks, and let real impression data shape the next twenty. That feedback beats any amount of upfront research.