Overview
Research scripts provide data-driven insights for content strategy:- Quick Wins: Keywords ranking positions 11-20 (page 2)
- Competitor Gaps: Keywords competitors rank for that you don’t
- Performance Matrix: Categorize all content by traffic and rankings
- Priorities: Unified roadmap combining all research modules
- SERP Analysis: Deep analysis of what Google wants for a keyword
- Topic Clusters: Identify topical authority gaps
- Trending: Rising search trends for time-sensitive content
Installation
Install dependencies:data_sources/config/.env (GA4, GSC, DataForSEO).
Quick Wins
Script:research_quick_wins.py
Identifies keywords ranking positions 11-20 (page 2) that can be pushed to page 1.
Usage
What It Does
- Fetches keywords from GSC ranking positions 11-20 (last 30 days)
- Enriches with DataForSEO data (search volume, difficulty)
- Calculates enhanced opportunity scores (0-100)
- Analyzes search intent and traffic potential
- Generates prioritized report
Output
- File:
research/quick-wins-YYYY-MM-DD.md - Contains:
- Top 10 opportunities with detailed metrics
- Enhanced opportunity scoring breakdown
- Traffic potential estimates
- Action recommendations for each keyword
Key Metrics
- Current Position: Where you rank now
- Impressions: Monthly search visibility
- Opportunity Score: 0-100 score based on volume, position, intent, competition
- Traffic Potential: Estimated click increase if moved to position 5-7
Example Output
Competitor Gaps
Script:research_competitor_gaps.py
Identifies keywords where competitors rank in top 20 but you don’t rank at all.
Usage
Configuration
Requiresconfig/competitors.json with competitor domains:
What It Does
- Fetches your current ranking keywords from GSC
- Analyzes competitors’ top 20 rankings via DataForSEO
- Identifies keywords where competitors rank but you don’t
- Filters out branded/irrelevant keywords
- Scores and prioritizes opportunities
Output
- File:
research/competitor-gaps-YYYY-MM-DD.md - Groups by priority: CRITICAL, HIGH, MEDIUM
- Includes content type recommendations
- Shows competitor intel and keyword metrics
Example Output
Performance Matrix
Script:research_performance_matrix.py
Categorizes all content into performance quadrants based on traffic and rankings.
Usage
Quadrants
- Stars: High traffic + High rankings → Maintain and expand
- Overperformers: High traffic + Low rankings → Understand why (likely social/referral)
- Underperformers: Low traffic + High rankings → CTR problem
- Declining: Low traffic + Low rankings → Refresh or redirect
What It Does
- Fetches page traffic from GA4 (last 90 days)
- Enriches with GSC ranking data
- Calculates traffic trends
- Categorizes into performance quadrants
- Generates actionable priorities
Output
- File:
research/performance-matrix-YYYY-MM-DD.md - Separate sections for each quadrant
- Top priorities by category
- Recommended workflow by week
Thresholds
Example Output
Priorities Comprehensive
Script:research_priorities_comprehensive.py
Orchestrates all research modules to provide a unified, actionable content roadmap.
Usage
What It Does
- Runs all 5 research modules (or uses cached results)
- Synthesizes insights across modules
- Generates unified roadmap by week
- Prioritizes actions by urgency and impact
Output
- File:
research/ROADMAP-YYYY-MM-DD.md - Week 1: Immediate priorities
- Weeks 2-3: High-value opportunities
- Weeks 4+: Strategic initiatives
- Ongoing maintenance schedule
Roadmap Structure
SERP Analysis
Script:research_serp_analysis.py
Deep analysis of what Google wants for a specific keyword.
Usage
What It Does
- Fetches top 10-20 SERP results for keyword
- Analyzes content patterns and types
- Calculates recommended word count
- Detects freshness signals
- Identifies SERP features
- Generates comprehensive content brief
Output
- File:
research/serp-analysis-keyword-name.md - Content requirements (word count, type)
- SERP features present
- Top 10 ranking analysis
- Complete content brief with structure
- Action plan with timeline
Content Brief Includes
- Target specifications (word count, tone, intent)
- Must-have elements
- SERP features to target
- Recommended structure
- Competitive insights
- Step-by-step action plan
Example Output
Topic Clusters
Script:research_topic_clusters.py
Analyzes topical authority by clustering keywords into related topics.
Usage
What It Does
- Fetches all ranking keywords from GSC (90 days)
- Clusters keywords into topics using ML (if sklearn available) or pattern matching
- Calculates authority score (0-100) for each cluster
- Identifies coverage gaps using DataForSEO
- Prioritizes weak clusters with high demand
Output
- File:
research/topic-clusters-YYYY-MM-DD.md - Authority distribution summary
- Weak clusters (build these!)
- Strong clusters (maintain these!)
- Strategy recommendations by phase
Authority Scoring
Example Output
Trending
Script:research_trending.py
Identifies topics gaining search interest NOW using GSC trend data.
Usage
What It Does
- Compares last 7 days vs previous 30 days in GSC
- Identifies queries with significant growth
- Enriches with DataForSEO metrics
- Calculates urgency level
- Generates time-sensitive action plan
Output
- File:
research/trending-YYYY-MM-DD.md - Groups by urgency: CRITICAL, HIGH, MODERATE
- Time-sensitive recommendations
- Implementation strategy by week
Urgency Levels
- CRITICAL: +150% growth → Act within 1 week
- HIGH: +75% growth → Act within 2 weeks
- MODERATE: +30% growth → Act within 1 month
- LOW: less than 30% growth → Monitor trend
Example Output
Best Practices
Running Research Scripts
- Weekly: Run
research_trending.pyto catch new trends early - Bi-weekly: Run
research_quick_wins.pyfor quick wins - Monthly: Run full comprehensive analysis
- As needed: Run
research_serp_analysis.pybefore creating content
API Cost Management
- Quick Wins: ~100-200 API calls (0.20)
- Competitor Gaps: ~500-1000 API calls (1.00)
- SERP Analysis: ~20-30 API calls per keyword (0.03)
- Trending: ~50-100 API calls (0.10)
Interpreting Results
Priority levels across all scripts:- CRITICAL: Act immediately (within 1 week)
- HIGH: Act soon (within 2-3 weeks)
- MEDIUM: Include in monthly plan
- LOW: Monitor or skip