Every piece of SEO strategy starts with understanding what your audience is actually searching for. Target the wrong keywords and even outstanding content will never reach its intended audience. Target the right ones and a well-executed page can drive consistent, compounding organic traffic for years. Keyword research is the work that sets up everything else to succeed or fail.

Quick Answer: Keyword research is the process of discovering what words and phrases people type into search engines when looking for information, products, or services in your niche. The goal is finding keywords that have enough search volume to be worth targeting, realistic competition for your site to rank for, and clear user intent that matches what you offer. Good keyword research shapes your content strategy, site architecture, and every page you publish.

What are the different types of SEO keywords?

Not all keywords are the same type, and treating them as interchangeable is one of the most common keyword strategy mistakes. Understanding the different types helps you build a content plan that serves your audience at every stage of their decision journey.

By length and specificity:

  • Head terms (short-tail) β€” broad, 1–2 word queries like "SEO" or "backlinks". Very high search volume, extremely high competition, vague intent. Rarely worth targeting for new or mid-authority sites.
  • Mid-tail keywords β€” 2–3 word phrases like "free SEO tools" or "how to build backlinks". A good balance of volume, specificity, and achievable competition.
  • Long-tail keywords β€” 3+ word phrases like "how to build backlinks without spending money". Lower individual volume but much higher conversion intent and significantly easier to rank for.

By search intent:

  • Informational β€” "how to", "what is", "why does" β€” the searcher wants to learn something
  • Commercial β€” "best", "review", "vs", "compare" β€” the searcher is evaluating options before a decision
  • Transactional β€” "buy", "price", "sign up", "near me" β€” the searcher is ready to take action
  • Navigational β€” searching for a specific brand or website by name to find it directly

Should you target head terms or long-tail keywords first?

For most sites, long-tail keywords are the right starting point. They have lower competition, clearer intent, and often higher conversion rates because the searcher is more specific about what they want. As your domain authority grows through content and backlinks, you naturally start ranking for broader head terms as a side effect. Trying to rank for head terms before establishing topical authority is almost always a waste of time and effort.

HTML Document AreaOptimal Density & OccurrenceSearch Intent ValueTechnical Rule
<title> Tag1x (Primary keyword near front)Maximum relevance weightingKeep strictly under 60 characters
<h1> Main Header1x per URL (Exact or close variant)High structural signalMust reflect primary user query intent
First 100 Words1x natural placementHigh early-indexing weightDirectly answers extractable user question
Subheadings <h2> / <h3>2–3x semantic synonymsTopical entity expansionAvoid exact duplicate repetitions
Body Text Density1.0% – 2.2% natural distributionTopical coverage signalStop when text sounds forced or unnatural

What keyword metrics should you actually pay attention to?

When evaluating whether a keyword is worth targeting, focus on three metrics above all others:

  1. Search volume β€” how many times per month people search this exact phrase. A keyword with no volume is not worth targeting regardless of how relevant it feels. However, high volume almost always means high competition.
  2. Keyword difficulty (KD) β€” an estimate of how hard it is to rank on page one, based on the backlink profiles of current top-ranking pages. For new sites, target keywords with KD under 25–30. Established sites can compete at 50+.
  3. Search intent alignment β€” does the search intent of this keyword match what your page actually offers? A keyword can look perfect on paper but be completely wrong if the intent mismatches your content type.

What counts as a good search volume to target?

There is no single answer β€” it depends on your niche and the commercial value of the audience. A keyword with 100 monthly searches in high-value professional services can be more valuable than one with 10,000 searches in a low-margin consumer category. Always consider what the traffic is actually worth, not just how much of it there is.

How do you do keyword research step by step using free tools?

Step 1: Generate seed keywords

Write down 5–10 broad terms that describe your business, your services, or the problems you solve. These are your starting points β€” not your final keywords. For an SEO tools site, seeds might be: broken links, site audit, page speed, keyword analysis, backlinks.

Step 2: Expand using Google itself

Type each seed keyword into Google and collect three types of free data:

  • Autocomplete suggestions that appear as you type
  • People Also Ask questions that expand when clicked
  • Related searches listed at the bottom of the results page

Step 3: Validate volume with Google Keyword Planner

Take your expanded keyword list to Google Keyword Planner (free with any Google Ads account β€” no spend required) and check search volumes. This gives you authentic Google data to prioritise your list by actual demand rather than guesswork.

Step 4: Evaluate competition by examining the actual results

Search each candidate keyword in Google. Look at the top 10 results. Are they major national brands, news sites, and Wikipedia? Or are smaller specialist sites similar to yours ranking there? The quality of current competition is more useful than any keyword difficulty score.

Step 5: Mine your existing Search Console data

In Google Search Console β†’ Performance β†’ Queries, filter for queries where you currently rank between positions 8–20. These are your best quick-win opportunities β€” pages already close to page one that targeted improvements can push over the line.

How do you group keywords into content topics?

Rather than creating a separate page for every keyword variation, group closely related keywords by shared intent and create one comprehensive page for each group. Keywords like "how to find broken links", "free broken link checker", and "check website for broken links" all have the same intent β€” they belong on the same page targeting all variations simultaneously.

Once you have written your content, use our keyword density checker to verify your primary keyword and its natural variations appear throughout the page without over-stuffing.

What is keyword cannibalisation and why is it a problem?

Keyword cannibalisation happens when two or more pages on your site target the same keyword and compete against each other in Google's results. Instead of one strong page ranking confidently, you have two weaker pages splitting the potential ranking signal and confusing Google about which page should be the authoritative result.

To identify cannibalisation: in Search Console, filter the Queries report by a target keyword and look at which pages Google is showing impressions for that query. If multiple pages appear, you have cannibalisation to resolve. The fix is either consolidating the competing pages into one stronger page, or differentiating each page's focus so they clearly target distinct but related queries.

How do you optimise keywords for voice search and AI-powered answers?

Voice searches and AI assistants use natural, conversational language rather than the terse typed queries of traditional search. Instead of "best SEO tool", someone might ask "what is the best free SEO tool for a small website?"

To capture this conversational search traffic:

  • Use question-format phrases naturally in your headings β€” "How do you...?", "What is the best...?", "Why does...?"
  • Answer those questions directly and concisely in the first sentence after the heading
  • Target People Also Ask questions specifically β€” these represent confirmed conversational queries
  • Aim for featured snippets by structuring your answers in clear, concise formats that Google can extract and display
Technical Diagnostic Checklist: On-Page Keyword Strategy
  • ✓
    Target Exact Intent in Titles: Align your `` tag and primary `<h1>` with the explicit problem the searcher is attempting to solve.</div></li><li><span class="checklist-icon">✓</span><div><strong>Check Natural Keyword Density:</strong> Run <a href="/keyword-density">Keyword Density Checker</a> to confirm keyword density remains under 2.5% without keyword stuffing.</div></li><li><span class="checklist-icon">✓</span><div><strong>Answer the Query in the First 100 Words:</strong> Provide an authoritative, direct 40-word extractable answer right below the introductory heading.</div></li><li><span class="checklist-icon">✓</span><div><strong>Incorporate Semantic LSI Entities:</strong> Expand subheadings to cover closely related topical entities, questions, and technical comparisons.</div></li></ul></div> <h2>Strategic Action Plan: Mastering On-Page Keyword Strategy</h2> <ul> <li>Keyword research identifies what your audience actually searches for β€” it is the strategic foundation of all SEO</li> <li>Focus on long-tail keywords with clear intent rather than high-competition head terms when building authority</li> <li>Evaluate every keyword on volume, difficulty, and intent alignment β€” all three matter equally</li> <li>Use free tools: Google Keyword Planner, Search Console, PAA boxes, and autocomplete suggestions</li> <li>Group keywords by shared intent, avoid cannibalisation, and verify natural keyword use with our <a href="/keyword-density">keyword checker</a></li> <li>Question-format keywords serve both traditional typed search and voice/AI search simultaneously β€” use them throughout your content</li> </ul> <p><em>Continue reading: <a href="/blog/how-long-does-seo-take-results-expectations">How long does SEO take to work and what results can you realistically expect?</a></em></p> <div class="related-guides"><h3 class="related-guides-title"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19.5A2.5 2.5 0 0 1 6.5 17H20"></path><path d="M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"></path></svg>Related Technical SEO Guides</h3><ul class="related-guides-list"><li><a href="/blog/keyword-density-how-much-is-too-much">Keyword Density β€” How Much Is Too Much?</a><span class="related-guides-desc">Keyword density is widely misunderstood. Learn what it actually means for SEO in 2025, what the right balance looks like, and how to check your own content.</span></li><li><a href="/blog/how-to-optimise-your-title-tags-for-seo">How to Optimise Your Title Tags for SEO</a><span class="related-guides-desc">Learn how to optimise your title tags for SEO with best practices to improve rankings and user engagement.</span></li><li><a href="/blog/meta-descriptions-seo">Meta Descriptions: Do They Still Matter for SEO?</a><span class="related-guides-desc">Meta descriptions do not directly affect rankings but they dramatically impact click-through rates. Learn how to write them effectively for maximum SEO benefit.</span></li></ul></div> </div> <!-- In-Article SEO Audit Callout --> <div class="article-audit-card"> <div class="article-audit-badge">πŸ’Ό Agency SEO Solution</div> <h3 class="article-audit-title">Need a Comprehensive Technical SEO Audit for Your Domain?</h3> <p class="article-audit-desc">Our team analyzes crawl depth, link equity leaks, Core Web Vitals bottlenecks, and manual indexation blockers to help you scale organic revenue.</p> <a href="/contact?service=audit" class="article-audit-btn"> <span>Request Technical Audit</span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </a> </div> <!-- Prev / Next --> <div class="article-nav"> <a href="/blog/how-does-local-seo-work-rank-google-maps" class="nav-card prev"> <div class="nav-label">← Previous</div> <div class="nav-title">How Does Local SEO Work and How Do You Rank in Google Maps?</div> </a> <a href="/blog/how-long-does-seo-take-results-expectations" class="nav-card next"> <div class="nav-label">Next β†’</div> <div class="nav-title">How Long Does SEO Take to Work and What Results Should You Realistically Expect?</div> </a> </div> </article> <!-- SIDEBAR --> <aside> <div class="sidebar-card"> <div class="sidebar-title">πŸ› οΈ Free SEO Tools</div> <a href="/scan" class="sidebar-tool">πŸ”— Broken Link Checker</a> <a href="/internal-links" class="sidebar-tool">πŸ•ΈοΈ Internal Links</a> <a href="/page-speed" class="sidebar-tool">⚑ Page Speed</a> <a href="/ssl-checker" class="sidebar-tool">πŸ”’ SSL Checker</a> <a href="/keyword-density" class="sidebar-tool">🎯 KW Density</a> <a href="/anchor-analyser" class="sidebar-tool">πŸ“Š Anchor Analyser</a> <a href="/wayback" class="sidebar-tool">πŸ•°οΈ Wayback Extractor</a> </div> <div class="sidebar-card"> <div class="sidebar-title">πŸ“° Recent Articles</div> <a href="/blog/answer-the-public-seo-content-ideas" class="recent-item"> <div class="recent-title">How to Use Answer the Public for SEO Content Ideas</div> </a> <a href="/blog/seo-for-electricians-local-guide" class="recent-item"> <div class="recent-title">SEO for Electricians β€” Get More Local Jobs from Google</div> </a> <a href="/blog/google-my-business-local-search-guide" class="recent-item"> <div class="recent-title">How to Use Google My Business to Dominate Local Search</div> </a> <a href="/blog/future-of-seo-2026-beyond" class="recent-item"> <div class="recent-title">The Future of SEO in 2026 and Beyond β€” What to Prepare For</div> </a> <a href="/blog/seo-for-online-courses" class="recent-item"> <div class="recent-title">SEO for Online Courses β€” Rank Your Course and Get Students</div> </a> </div> </aside> </div> <footer class="site-footer"> <div class="site-footer-inner"> <div class="footer-grid"> <!-- Col 1: Brand --> <div class="footer-brand"> <a href="/" class="f-logo"> <span class="nav-brand-dot"></span>SEOLinkScan </a> <p>Enterprise-grade, 100% free webmaster & SEO diagnostics. Scan for broken links, analyze anchors, audit site speed, inspect SSL certificates, and extract archived web snapshots.</p> <div style="margin-top: 14px; display: flex; gap: 8px; flex-wrap: wrap;"> <span class="badge-pill badge-brand">⚑ 100% Free</span> <span class="badge-pill badge-success">βœ“ No Signup Required</span> </div> </div> <!-- Col 2: Audit Tools --> <div class="footer-col"> <h4>Audit & Speed</h4> <ul> <li><a href="/scan">Broken Link Checker</a></li> <li><a href="/internal-links">Internal Links Audit</a></li> <li><a href="/page-speed">Page Speed & Vitals</a></li> <li><a href="/ssl-checker">SSL Certificate Test</a></li> <li><a href="/theme-detector">Theme & CMS Detector</a></li> </ul> </div> <!-- Col 3: SEO Analysis & Archive --> <div class="footer-col"> <h4>SEO & Utilities</h4> <ul> <li><a href="/anchor-analyser">Anchor Text Analyser</a></li> <li><a href="/keyword-density">Keyword Density Tool</a></li> <li><a href="/wayback">Wayback URL Extractor</a></li> <li><a href="/wayback-screenshots">Wayback Screenshots</a></li> <li><a href="/password-generator">Password Generator</a></li> </ul> </div> <!-- Col 4: Resources & Legal --> <div class="footer-col"> <h4>Company & Legal</h4> <ul> <li><a href="/blog/">SEO Blog & Guides</a></li> <li><a href="/about">About Us</a></li> <li><a href="/contact">Contact Support</a></li> <li><a href="/privacy-policy">Privacy Policy</a></li> <li><a href="/terms">Terms of Service</a></li> <li><a href="/cookie-policy">Cookie Policy</a></li> </ul> </div> </div> <!-- Bottom copyright --> <div class="footer-bottom"> <div> © 2026 <strong>SEOLinkScan</strong>. All rights reserved. </div> <div> Designed for Webmasters, Marketers & SEO Agencies. </div> </div> </div> </footer> // right before </body> on scan.php, index.php, blog-home.php, article.php, etc.) ?> <div id="cookie-consent-banner" style=" position:fixed;left:0;right:0;bottom:0;z-index:9999; background:#0f0e0b;color:#fff;padding:18px 24px; display:none;align-items:center;justify-content:space-between;gap:20px; font-family:'DM Sans',sans-serif;font-size:14px;box-shadow:0 -4px 20px rgba(0,0,0,.15); flex-wrap:wrap;"> <div style="flex:1;min-width:240px;color:#d8d6cf;line-height:1.6;"> We use cookies to run this site (essential), remember your scan preferences, and understand site usage. See our <a href="/cookie-policy" style="color:#f0a500;text-decoration:underline;">Cookie Policy</a>. </div> <div style="display:flex;gap:10px;flex-shrink:0;"> <button id="cc-reject" style="background:transparent;border:1px solid #4a473f;color:#d8d6cf;border-radius:8px;padding:9px 16px;font-size:13px;cursor:pointer;"> Essential only </button> <button id="cc-accept" style="background:#e8642c;border:none;color:#fff;border-radius:8px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer;"> Accept all </button> </div> </div> <script> (function () { var COOKIE_NAME = 'slc_consent'; var banner = document.getElementById('cookie-consent-banner'); if (!banner) return; function getCookie(name) { var match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); return match ? match[2] : null; } function setCookie(name, value, days) { var d = new Date(); d.setTime(d.getTime() + days * 24 * 60 * 60 * 1000); document.cookie = name + '=' + value + ';expires=' + d.toUTCString() + ';path=/;SameSite=Lax'; } function applyConsent(level) { // level: 'all' or 'essential' if (level === 'all') { // Enable analytics/AdSense personalization here if you gate those, e.g.: // loadGoogleAnalytics(); } // Essential cookies (PHPSESSID, CSRF) always load regardless β€” don't gate those. } var existing = getCookie(COOKIE_NAME); if (!existing) { banner.style.display = 'flex'; } else { applyConsent(existing); } document.getElementById('cc-accept').addEventListener('click', function () { setCookie(COOKIE_NAME, 'all', 180); applyConsent('all'); banner.style.display = 'none'; }); document.getElementById('cc-reject').addEventListener('click', function () { setCookie(COOKIE_NAME, 'essential', 180); applyConsent('essential'); banner.style.display = 'none'; }); // Lets the "Manage Cookie Preferences" button on cookie-policy.php reopen this banner window.reopenCookieBanner = function () { banner.style.display = 'flex'; }; })(); </script> </body> </html>