You have published dozens of blog posts or product pages, yet almost none of your traffic comes from Google. Usually the writing is not the problem. The topics are: either too broad to compete for, or things nobody actually searches for.
Keyword research lets you write about what people really look for, in the words they really use. This guide is for small business owners and developers running their own sites, using free tools and a process you can finish in an afternoon.
Start With Search Intent, Not Volume
The classic beginner mistake is chasing the biggest search volume. What decides whether a page can rank is how well it matches search intent: what the searcher is actually trying to get done.
| Intent | Example query | Page type that fits |
|---|---|---|
| Informational | how to track inventory in google sheets | Tutorial, step-by-step guide |
| Commercial investigation | best pos system for small cafe | Comparison, review, curated list |
| Transactional | buy laravel pos source code | Product page, pricing page |
| Navigational | stripe dashboard login | Usually not worth targeting; the brand wins |
The fastest way to read intent: search the query and look at the top ten results. If every one is a tutorial, your product page will not break in no matter how well you optimize it. Google has already told you which format searchers want.
Step 1: Gather Ideas With Free Tools
- Google Autocomplete: type a seed term like "pos system" and note the suggestions. Add letters after it to surface more variations.
- "People also ask" and "Related searches": real questions you can use as subheadings or FAQs.
- Google Search Console: if your site is live, the Queries tab shows what you already appear for. This is the most valuable source because the data is yours.
- Google Keyword Planner: free with a Google Ads account. Without active spend you get broad ranges, which are still useful for comparison.
- Google Trends: compare two terms and spot seasonality, such as school software searches climbing before a new academic year.
- Communities: Reddit, Stack Overflow, Laracasts forums, and niche Facebook groups use the same language people type into search.
Free tiers of tools like Ubersuggest, AnswerThePublic, or Ahrefs' free keyword generator can add ideas, but treat their volume numbers as rough estimates.
Step 2: Prioritize Long-Tail Keywords
Long-tail keywords are longer, more specific phrases, such as "laravel pos system with multi-warehouse stock" versus "pos system". Volume is lower, but:
- Competition is usually lighter, giving newer sites a real chance.
- Intent is clearer, so you know exactly what to write.
- Visitors are closer to acting because their need is specific.
One page that thoroughly answers a specific query can also pick up traffic from many similar variations, since Google understands synonyms and different word orders.
Watch for local and long-tail modifiers
If you serve customers in a specific area, add location modifiers such as "pos system for restaurants in Toronto". Competition is usually far lower and visitors are more relevant. Check each variation separately, because small wording changes can produce very different results pages.
Step 3: Judge Competition by Hand
"Keyword difficulty" scores are estimates and vary between tools. A manual look at the results page is often more honest:
- Who is in the top ten? All major brands and marketplaces means low odds. Small blogs, forum threads, or obviously thin pages signal an opening.
- How deep is the content? If top results are 300 words with no examples, you can do better.
- How current is it? Technical results covering old versions leave room for an up-to-date guide.
- What SERP features appear? Ads, map packs, and videos can push organic results down the page.
Step 4: Map One Primary Keyword to One Page
Turn your list into a keyword map: one main intent per page. When two pages target the same intent they can compete with each other and both stall, a problem known as keyword cannibalization. A spreadsheet template you can copy:
primary_keyword,intent,supporting_variations,target_url,status,notes
laravel pos system,commercial,"laravel pos source code; pos in laravel",/apps/pos,live,strengthen features section
how to run a laravel project,informational,"run downloaded laravel app",/blog/run-laravel-project,live,
inventory spreadsheet template,informational,"stock tracking google sheets",(none),planned,write next month
free employee attendance app,commercial,"free time clock app",(none),research,check top 10 first
The status column shows which pages exist, which need work, and which are still ideas. The map doubles as your content calendar.
For developers: store Search Console queries in your database
Schema::create('search_queries', function (Blueprint $table) {
$table->id();
$table->date('date');
$table->string('page', 500);
$table->string('query', 255);
$table->unsignedInteger('clicks');
$table->unsignedInteger('impressions');
$table->decimal('position', 5, 2);
$table->unique(['date', 'page', 'query']);
$table->index('query');
});
With this table you can find queries that surface two different URLs (a cannibalization signal) or high-impression queries with no dedicated page. Pull the data as a scheduled queued job, as described in Laravel Queues and Jobs for Heavy Tasks, and add the table carefully following Safe Database Migrations in Laravel.
Step 5: Write Content That Answers Better
A keyword only gets you in the door. Build a page that is more useful than what currently ranks: clearer steps, real examples from your own experience, code or templates readers can use, and answers to the follow-up questions people usually have. Use the main keyword naturally in the title, first subheading, and opening paragraph without forcing repetitions.
Common Beginner Mistakes
- Targeting only one- or two-word terms. "Software" or "online store" are out of reach for new sites.
- Ignoring "zero volume" keywords. Tools often miss specific queries that real people still search and that are easy to win.
- Writing a separate post for every variation. "Install laravel" and "laravel installation steps" belong on one page.
- Stuffing keywords. Unnatural writing hurts readers and does nothing for rankings.
- Never reviewing. Check Search Console monthly for new queries and slipping pages.
One-Afternoon Keyword Research Checklist
- List 5 to 10 core topics for your business.
- Collect variations from Autocomplete, "People also ask", and Search Console.
- Decide the intent of each query by checking the top ten results.
- Pick long-tail terms with realistic competition.
- Add them to a keyword map with one target URL per intent.
- Schedule writing dates and a review date.
For sites that sell software or digital products, commercial keywords usually point to product pages while informational keywords become supporting articles that link to them. If you are still defining what your business site should cover, How to Digitize a Small Business with an Information System can help you settle on core topics worth writing about.