SuperAPI AI Directory

seo-keyword-research

Writing & research

View repository

Updated 10-16 02:32

About this skill

SEO Keyword Research Skill

Find trending, high-opportunity keywords BEFORE writing blog content. This skill turns generic blog topics into SEO-optimized content that ranks.

When to Use

  • User asks to write a blog post or article
  • User wants keyword research for a topic
  • User needs a content calendar or content plan
  • User wants to optimize existing content for SEO
  • Any blog generation task for a tech/developer-focused audience

Core Principle

Always research keywords BEFORE generating blog content.

BAD:  Write blog -> Hope it ranks -> Usually doesn't
GOOD: Research keywords -> Find breakout opportunity -> Write optimized blog -> Ranks well

Keyword Priority System

When analyzing Google Trends RELATED_QUERIES results, prioritize keywords in this order:

1. Breakout Keywords — HIGHEST priority

  • formatted_value: "Breakout" = 5000%+ growth
  • Very low competition (trend is new)
  • Use as PRIMARY blog keyword
  • Create content IMMEDIATELY (first-mover advantage)

2. High-Growth Keywords — VERY HIGH priority

  • formatted_value: "+100%" or higher
  • Low to moderate competition
  • Use as primary or strong secondary keyword
  • Create content within 2-4 weeks

3. Moderate-Growth Keywords — HIGH priority

  • formatted_value: "+50%" to "+99%"
  • Moderate competition
  • Use as secondary keywords in body content

4. Long-Tail Keywords — STRATEGIC priority

  • Question-based queries (how, what, why, when, where)
  • Low competition, high conversion
  • Use as H3 headings — target featured snippets and voice search

5. Established Keywords — MODERATE priority

  • Top queries with stable interest, high competition
  • Use in body content, not as primary target

SEO Research Workflow

Step 1: Keyword Discovery (1 API call — REQUIRED)

Query RELATED_QUERIES with the user's blog topic:

curl -s "https://serpapi.com/search?engine=google_trends&q=USER_TOPIC&data_type=RELATED_QUERIES&date=today+3-m&api_key=$SERPAPI_KEY"

From the response, extract:

  • Breakout keywords → candidate primary keywords
  • High-growth keywords (+100%) → secondary candidates
  • Question-based queries → H3 headings and featured snippet targets

Select the primary keyword:

  1. First breakout keyword (if any)
  2. Else first high-growth keyword
  3. Else top query by score

Step 2: Content Structure (1 API call — REQUIRED)

Query RELATED_TOPICS with the same topic:

curl -s "https://serpapi.com/search?engine=google_trends&q=USER_TOPIC&data_type=RELATED_TOPICS&date=today+3-m&api_key=$SERPAPI_KEY"

Extract topic titles from rising + top results. These become your H2 section headings (pick 3-5).

Step 3: Trend Validation (1 API call — OPTIONAL)

Only if choosing between multiple candidate keywords or validating viability:

curl -s "https://serpapi.com/search?engine=google_trends&q=KEYWORD&data_type=TIMESERIES&date=today+12-m&api_key=$SERPAPI_KEY"

Compare recent 2-month average vs. earlier 2-month average. If recent > earlier, trend is rising — proceed. If declining, consider a different keyword.

Step 4: Generate Blog Outline

Build the outline using this structure:

Title: [Primary Keyword] — [Benefit/Number] [Year]
  (max 60 characters, must include primary keyword)

Meta Description: (150-160 chars, primary + 1-2 secondary keywords)

# [H1 — same as or variation of title]

## Introduction (150 words)
  - Primary keyword in first 100 words
  - Hook with a problem or question
  - Preview what they'll learn

## [H2: Related Topic 1 from Step 2]
### [H3: Long-tail question from Step 1]
  Content answering the question (150-200 words)
### [H3: Another long-tail question]
  Content (150-200 words)

## [H2: Related Topic 2]
### [H3: Long-tail question]
### [H3: Long-tail question]

## [H2: Related Topic 3]
### [H3: Long-tail question]
### [H3: Long-tail question]

## Conclusion (100 words)
  - Summarize key points
  - Primary keyword mentioned once
  - Call-to-action

Target: 1500-2500 words total

Keyword Placement Rules

Location Rule
Title Include primary keyword, max 60 chars
H1 Same as title or slight variation
H2 headings (3-5) Use related topics, natural language
H3 headings (8-12) Use long-tail keywords, question format
First paragraph Primary keyword in first 100 words
Body content Primary keyword 1-2% density, secondary 0.5-1%
Conclusion Primary keyword once
Meta description Primary + 1-2 secondary, 150-160 chars

Never keyword-stuff. Content must read naturally. Google penalizes unnatural repetition.

Quality Checklist

Before generating the blog, verify:

  • Found at least 1 breakout or +100% keyword (or justified using established keyword)
  • Have 3-5 H2 topics from RELATED_TOPICS
  • Have long-tail keywords for H3 headings
  • Primary keyword is specific enough to rank for
  • Blog structure follows the outline template above
  • Meta description is written (150-160 chars)
  • Target length is 1500-2500 words

If no breakout or high-growth keywords exist for the topic, inform the user that SEO opportunity is limited and suggest alternative angles or related topics that do have growth.

Budget Awareness

Free tier: 250 searches/month

Strategy Calls/Blog Monthly Capacity
Minimal (recommended) 2 125 blogs
Standard 3 83 blogs
Complete 4 62 blogs

Default to 2 calls (RELATED_QUERIES + RELATED_TOPICS). Only add TIMESERIES or GEO_MAP when specifically needed.

Common Mistakes to Avoid

  1. Skipping research — writing without checking trends misses breakout opportunities
  2. Ignoring breakout keywords — using a generic term when a breakout variant exists
  3. Keyword stuffing — repeating keywords unnaturally; keep density at 1-2%
  4. No long-tail keywords — missing featured snippet and voice search opportunities
  5. Generic H2 headings — always use RELATED_TOPICS data for section structure

Example Script

For a complete working example, run:

python scripts/blog_seo_research.py "your blog topic"

See scripts/blog_seo_research.py for the implementation.

References