Understanding Search Intent
Learn the four types of search intent and why matching them is essential.
Search intent (or user intent) is the goal behind a query. Ranking well means giving searchers exactly the kind of page they expect.
The four intent types
- Informational - the user wants to learn ("how does SEO work").
- Navigational - the user wants a specific site ("gmail login").
- Commercial - the user is researching before buying ("best crm 2026").
- Transactional - the user is ready to act ("buy running shoes").
Matching intent
Search the keyword yourself and study what already ranks. If the top results are guides, write a guide - not a product page. Intent mismatch is one of the most common reasons pages fail to rank.
Example
# A quick way to read intent: look at the words in the query
"how to ..." -> informational
"best ... for" -> commercial
"buy ... online" -> transactional
"<brand> login" -> navigationalWhen to use it
- A blog targeting 'how to lose weight' creates an informational guide instead of a product page because the intent is clearly navigational/informational.
- An e-commerce site serving 'buy wireless earbuds' lands users directly on a category page rather than a blog post to match transactional intent.
- A SaaS company writes comparison content for 'Salesforce vs HubSpot' to capture commercial-investigation intent from buyers evaluating options.
More examples
Intent classification by URL pattern
URL path naming conventions signal to both users and search engines what type of intent the page satisfies.
# Informational intent: how-to, guides, definitions
https://example.com/blog/how-to-lose-weight-safely/
# Commercial investigation: comparisons, reviews, best-of
https://example.com/reviews/salesforce-vs-hubspot/
# Transactional intent: category and product pages
https://example.com/shop/wireless-earbuds/
# Navigational intent: brand or login pages
https://example.com/login/Content type matched to intent
Matching the content format and page type to the dominant search intent is a primary on-page relevance signal.
<!-- Informational intent: long-form article with how-to headings -->
<article>
<h1>How to Lose Weight Safely: A Science-Backed Guide</h1>
<h2>Step 1: Set a Realistic Calorie Deficit</h2>
<h2>Step 2: Prioritise Protein and Fibre</h2>
</article>
<!-- Transactional intent: product grid with filters and Buy CTA -->
<section class="product-grid">
<h1>Wireless Earbuds</h1>
<button class="btn-buy">Add to Cart</button>
</section>SERP scrape to identify intent
Tallying content types in the top-10 results confirms whether a keyword has transactional, informational, or mixed intent.
# Count how many top-10 results are articles vs product pages
# (Requires a SERP API such as SerpApi)
curl -s "https://serpapi.com/search?q=buy+wireless+earbuds&num=10&api_key=YOUR_KEY" \
| python3 -c "
import sys, json, re
r = json.load(sys.stdin)
urls = [x.get('link','') for x in r.get('organic_results',[])]
shop = sum(1 for u in urls if re.search(r'/shop|/buy|/product|/category', u))
print(f'Transactional pages in top 10: {shop}/10')
"
Discussion