Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/TheCraigHewitt/seomachine
/ functions
Functions
317 in github.com/TheCraigHewitt/seomachine
⨍
Functions
317
◇
Types & classes
51
↓ 8 callers
Method
get_keyword_positions
Get keyword rankings and performance Args: days: Number of days to analyze limit: Max number of keywords to
data_sources/modules/google_search_console.py:41
↓ 8 callers
Method
get_serp_data
Get complete SERP data for a keyword Args: keyword: Search keyword location_code: DataForSEO location code
data_sources/modules/dataforseo.py:136
↓ 7 callers
Method
_first_result
(self, task: Dict[str, Any])
data_sources/modules/dataforseo.py:58
↓ 7 callers
Method
_post
Make POST request to DataForSEO API
data_sources/modules/dataforseo.py:43
↓ 6 callers
Method
get_rankings
Get ranking positions for specific keywords Args: domain: Your domain (e.g., "castos.com") keywords: List of
data_sources/modules/dataforseo.py:66
↓ 6 callers
Method
get_top_pages
Get top performing pages by pageviews Args: days: Number of days to look back limit: Number of results to re
data_sources/modules/google_analytics.py:52
↓ 5 callers
Method
_first_task
(self, response: Dict[str, Any])
data_sources/modules/dataforseo.py:50
↓ 5 callers
Method
analyze
Analyze search intent of a keyword Args: keyword: The search query to analyze serp_features: List of SERP fe
data_sources/modules/search_intent_analyzer.py:61
↓ 4 callers
Method
get_keyword_ideas
Get related keyword ideas Args: seed_keyword: Starting keyword location_code: Location code limi
data_sources/modules/dataforseo.py:282
↓ 4 callers
Method
get_page_performance
Get performance metrics for a single page path. Returns the exact path match when available, falling back to the first filtered resul
data_sources/modules/google_analytics.py:115
↓ 4 callers
Method
get_quick_wins
Find "quick win" opportunities - keywords ranking 11-20 These are closest to page 1 and easiest to improve. Args:
data_sources/modules/google_search_console.py:88
↓ 3 callers
Function
analyze_intent
Analyze search intent for a keyword Args: keyword: Search query serp_features: SERP features from DataForSEO top_res
data_sources/modules/search_intent_analyzer.py:323
↓ 3 callers
Method
calculate_score
Calculate comprehensive opportunity score. Args: keyword_data: GSC data with position, impressions, clicks, ctr
data_sources/modules/opportunity_scorer.py:61
↓ 3 callers
Function
estimate_expected_traffic
Estimate expected monthly traffic based on position and impressions
research_performance_matrix.py:290
↓ 3 callers
Method
get_trending_queries
Find queries gaining traction (rising impressions) Args: days_recent: Recent period to analyze days_comparis
data_sources/modules/google_search_console.py:376
↓ 3 callers
Function
load_research_quick_wins_module
()
tests/test_research_quick_wins_helpers.py:11
↓ 3 callers
Function
sanitize_filename
Convert keyword to safe filename
research_serp_analysis.py:422
↓ 3 callers
Method
to_dict
(self)
data_sources/modules/article_planner.py:51
↓ 2 callers
Method
_analyze_keyword
Analyze a single keyword
data_sources/modules/keyword_analyzer.py:112
↓ 2 callers
Method
_clean_for_analysis
Remove markdown formatting for text analysis
data_sources/modules/content_scorer.py:248
↓ 2 callers
Method
_explanation_guidelines
Guidelines for explanation/educational sections.
data_sources/modules/section_writer.py:251
↓ 2 callers
Method
_generate_recommendations
Generate actionable recommendations from opportunities Args: opportunities: Opportunities dict from identify_content_opp
data_sources/modules/data_aggregator.py:217
↓ 2 callers
Method
analyze
Analyze CTAs in landing page content Args: content: Landing page content (markdown) Returns: Dict w
data_sources/modules/cta_analyzer.py:112
↓ 2 callers
Method
calculate_potential_traffic
Calculate potential traffic increase from ranking improvement. Args: current_position: Current average position
data_sources/modules/opportunity_scorer.py:425
↓ 2 callers
Function
cluster_keywords_simple
Simple keyword clustering based on common terms
research_topic_clusters.py:237
↓ 2 callers
Function
extract_domain
Extract domain from URL
research_serp_analysis.py:215
↓ 2 callers
Method
get_declining_pages
Identify pages with declining traffic Args: comparison_days: Compare this many recent days vs previous period
data_sources/modules/google_analytics.py:328
↓ 2 callers
Method
get_landing_page_performance
Get comprehensive performance data for a landing page Args: url: Landing page URL (full URL or path) days: L
data_sources/modules/landing_performance.py:68
↓ 2 callers
Method
get_low_ctr_pages
Find pages with high impressions but low CTR These need better titles/descriptions. Args: days: Number of days
data_sources/modules/google_search_console.py:304
↓ 2 callers
Method
get_page_trends
Get traffic trends for a specific page Args: url: Page path (e.g., "/blog/podcast-monetization") days: Numbe
data_sources/modules/google_analytics.py:135
↓ 2 callers
Method
get_questions
Get question-based queries related to keyword Args: keyword: Seed keyword location_code: Location code
data_sources/modules/dataforseo.py:342
↓ 2 callers
Method
identify_content_opportunities
Identify content opportunities across all data sources Returns: Dict with categorized opportunities
data_sources/modules/data_aggregator.py:110
↓ 2 callers
Function
load_google_analytics_module
()
tests/test_google_analytics_compat.py:16
↓ 2 callers
Function
scrub_content
Convenience function to scrub content. Args: content: The text to scrub verbose: If True, print statistics Returns:
data_sources/modules/content_scrubber.py:260
↓ 2 callers
Method
to_dict
(self)
data_sources/modules/social_research_aggregator.py:47
↓ 2 callers
Method
to_dict
(self)
data_sources/modules/competitor_gap_analyzer.py:44
↓ 1 callers
Method
_analyze_authority
Analyze authority signals
data_sources/modules/trust_signal_analyzer.py:291
↓ 1 callers
Method
_analyze_competition
Provide competitive analysis
data_sources/modules/content_length_comparator.py:221
↓ 1 callers
Method
_analyze_complexity
Analyze text complexity indicators
data_sources/modules/readability_scorer.py:161
↓ 1 callers
Method
_analyze_content_patterns
Score based on top ranking content patterns
data_sources/modules/search_intent_analyzer.py:200
↓ 1 callers
Method
_analyze_cta
Analyze CTA presence above the fold
data_sources/modules/above_fold_analyzer.py:251
↓ 1 callers
Method
_analyze_ctas
Analyze CTA distribution
data_sources/modules/engagement_analyzer.py:246
↓ 1 callers
Method
_analyze_distribution
Analyze CTA distribution throughout the page
data_sources/modules/cta_analyzer.py:267
↓ 1 callers
Method
_analyze_headline
Analyze the headline (H1)
data_sources/modules/above_fold_analyzer.py:137
↓ 1 callers
Method
_analyze_hook
Analyze opening hook quality
data_sources/modules/engagement_analyzer.py:85
↓ 1 callers
Method
_analyze_keyword_patterns
Score keyword based on pattern matching
data_sources/modules/search_intent_analyzer.py:133
↓ 1 callers
Method
_analyze_paragraphs
Analyze paragraph lengths
data_sources/modules/engagement_analyzer.py:284
↓ 1 callers
Method
_analyze_rhythm
Analyze sentence rhythm variety in prose sections only
data_sources/modules/engagement_analyzer.py:157
↓ 1 callers
Method
_analyze_risk_reversals
Analyze risk reversal signals
data_sources/modules/trust_signal_analyzer.py:259
↓ 1 callers
Method
_analyze_section_distribution
Analyze how keyword is distributed across sections
data_sources/modules/keyword_analyzer.py:274
↓ 1 callers
Method
_analyze_security
Analyze security signals
data_sources/modules/trust_signal_analyzer.py:318
↓ 1 callers
Method
_analyze_serp_features
Score based on SERP features present
data_sources/modules/search_intent_analyzer.py:169
↓ 1 callers
Method
_analyze_social_proof
Analyze social proof signals
data_sources/modules/trust_signal_analyzer.py:211
↓ 1 callers
Method
_analyze_structure
Analyze content structure
data_sources/modules/seo_quality_rater.py:156
↓ 1 callers
Method
_analyze_structure
Analyze landing page structure
data_sources/modules/landing_page_scorer.py:248
↓ 1 callers
Method
_analyze_structure
Analyze content structure
data_sources/modules/readability_scorer.py:118
↓ 1 callers
Method
_analyze_testimonials
Analyze testimonials
data_sources/modules/trust_signal_analyzer.py:172
↓ 1 callers
Method
_analyze_trust_signal
Analyze trust signal presence above the fold
data_sources/modules/above_fold_analyzer.py:299
↓ 1 callers
Method
_analyze_value_proposition
Analyze value proposition presence and clarity
data_sources/modules/above_fold_analyzer.py:210
↓ 1 callers
Method
_calculate_commercial_intent
Calculate commercial intent score for a keyword Returns: Float between 0.1 (informational) and 3.0 (transactional)
data_sources/modules/google_search_console.py:146
↓ 1 callers
Method
_calculate_competition_score
Score based on ranking difficulty (0-100)
data_sources/modules/opportunity_scorer.py:252
↓ 1 callers
Method
_calculate_ctr_score
Score based on CTR improvement potential (0-100)
data_sources/modules/opportunity_scorer.py:274
↓ 1 callers
Method
_calculate_freshness_score
Score based on SERP freshness requirements (0-100)
data_sources/modules/opportunity_scorer.py:305
↓ 1 callers
Method
_calculate_grades
Calculate letter grades for each metric category
data_sources/modules/landing_performance.py:285
↓ 1 callers
Method
_calculate_intent_score
Score based on commercial value (0-100)
data_sources/modules/opportunity_scorer.py:247
↓ 1 callers
Method
_calculate_metrics
Calculate readability metrics using textstat library
data_sources/modules/readability_scorer.py:86
↓ 1 callers
Method
_calculate_overall_score
Calculate overall readability score (0-100)
data_sources/modules/readability_scorer.py:211
↓ 1 callers
Method
_calculate_position_score
Score based on proximity to target position (0-100)
data_sources/modules/opportunity_scorer.py:199
↓ 1 callers
Method
_calculate_score
Calculate overall trust signal score
data_sources/modules/trust_signal_analyzer.py:343
↓ 1 callers
Method
_calculate_statistics
Calculate statistical measures
data_sources/modules/content_length_comparator.py:137
↓ 1 callers
Method
_calculate_trend_score
Score based on search trend (0-100)
data_sources/modules/opportunity_scorer.py:331
↓ 1 callers
Method
_calculate_volume_score
Score based on search demand (0-100)
data_sources/modules/opportunity_scorer.py:173
↓ 1 callers
Method
_categorize_lengths
Categorize competitor content by length ranges
data_sources/modules/content_length_comparator.py:261
↓ 1 callers
Method
_check_critical_placements
Check if keyword appears in critical locations
data_sources/modules/keyword_analyzer.py:234
↓ 1 callers
Method
_check_ctas
Check CTA effectiveness
data_sources/modules/cro_checker.py:249
↓ 1 callers
Method
_check_goal_alignment
Check if CTAs align with conversion goal
data_sources/modules/cta_analyzer.py:340
↓ 1 callers
Method
_check_headline
Check headline best practices
data_sources/modules/cro_checker.py:98
↓ 1 callers
Method
_check_objection_handling
Check objection handling
data_sources/modules/cro_checker.py:328
↓ 1 callers
Method
_check_paragraph_length
Check for paragraphs that exceed 4 sentences
data_sources/modules/content_scorer.py:701
↓ 1 callers
Method
_check_risk_reversal
Check risk reversal elements
data_sources/modules/cro_checker.py:369
↓ 1 callers
Method
_check_sentence_rhythm
Check for sentence length variety (rhythm)
data_sources/modules/content_scorer.py:729
↓ 1 callers
Method
_check_social_proof
Check social proof elements
data_sources/modules/cro_checker.py:196
↓ 1 callers
Method
_check_structure
Check page structure
data_sources/modules/cro_checker.py:465
↓ 1 callers
Method
_check_urgency
Check urgency/scarcity elements (use sparingly)
data_sources/modules/cro_checker.py:428
↓ 1 callers
Method
_check_value_proposition
Check value proposition clarity
data_sources/modules/cro_checker.py:150
↓ 1 callers
Method
_clean_content
Clean content for readability analysis
data_sources/modules/readability_scorer.py:69
↓ 1 callers
Method
_clean_whitespace
Clean up multiple spaces and normalize whitespace.
data_sources/modules/content_scrubber.py:238
↓ 1 callers
Method
_comparison_guidelines
Guidelines for comparison sections.
data_sources/modules/section_writer.py:217
↓ 1 callers
Method
_conclusion_guidelines
Guidelines for conclusion sections.
data_sources/modules/section_writer.py:344
↓ 1 callers
Method
_create_distribution_heatmap
Create a visual representation of keyword distribution
data_sources/modules/keyword_analyzer.py:426
↓ 1 callers
Method
_default_guidelines
Default SEO guidelines based on industry standards
data_sources/modules/seo_quality_rater.py:24
↓ 1 callers
Method
_detect_keyword_stuffing
Detect potential keyword stuffing
data_sources/modules/keyword_analyzer.py:312
↓ 1 callers
Method
_determine_emdash_replacement
Determine the best punctuation to replace an em-dash. Args: before: Text before the em-dash after: Text afte
data_sources/modules/content_scrubber.py:166
↓ 1 callers
Method
_determine_priority
Determine priority level based on score and type
data_sources/modules/opportunity_scorer.py:365
↓ 1 callers
Method
_explain_score
Generate human-readable explanation of the score
data_sources/modules/opportunity_scorer.py:396
↓ 1 callers
Method
_extract_sections
Extract sections with headers from content
data_sources/modules/keyword_analyzer.py:168
↓ 1 callers
Method
_extract_sections
Extract H2/H3 sections with their content.
data_sources/modules/competitor_gap_analyzer.py:243
↓ 1 callers
Method
_faq_guidelines
Guidelines for FAQ sections.
data_sources/modules/section_writer.py:313
↓ 1 callers
Method
_fetch_word_count
Fetch and count words from a URL
data_sources/modules/content_length_comparator.py:102
↓ 1 callers
Method
_find_ctas
Find all CTAs in content
data_sources/modules/cta_analyzer.py:154
next →
1–100 of 317, ranked by callers