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
↓ 1 callers
Method
generate_performance_report
Generate comprehensive performance report Args: days: Days to analyze Returns: Complete performance
data_sources/modules/data_aggregator.py:166
↓ 1 callers
Function
generate_recommendation
Generate action recommendation based on keyword data
research_quick_wins.py:307
↓ 1 callers
Function
generate_unified_roadmap
Generate unified roadmap from all research results
research_priorities_comprehensive.py:157
↓ 1 callers
Function
get_authority_level
Convert authority score to level
research_topic_clusters.py:371
↓ 1 callers
Method
get_categories
Get all categories as name->ID mapping
data_sources/modules/wordpress_publisher.py:183
↓ 1 callers
Method
get_editing_checklist
Get editing checklist for a section type. Args: section_type: The type of section being edited Returns:
data_sources/modules/section_writer.py:117
↓ 1 callers
Function
get_first_ranking
(rankings)
research_quick_wins.py:27
↓ 1 callers
Function
get_landing_page_performance
Get landing page performance data Args: url: Landing page URL days: Lookback period conversion_goal: 'trial', 'demo'
data_sources/modules/landing_performance.py:416
↓ 1 callers
Method
get_or_create_category
Get category ID, creating if it doesn't exist
data_sources/modules/wordpress_publisher.py:229
↓ 1 callers
Method
get_or_create_tag
Get tag ID, creating if it doesn't exist
data_sources/modules/wordpress_publisher.py:247
↓ 1 callers
Method
get_page_performance
Get search performance for a specific page Args: url: Page URL or path days: Number of days to analyze
data_sources/modules/google_search_console.py:220
↓ 1 callers
Method
get_serp_data
(self, keyword, limit=10)
tests/test_research_quick_wins_helpers.py:69
↓ 1 callers
Function
get_serp_features
(dfs, keyword)
research_quick_wins.py:35
↓ 1 callers
Method
get_tags
Get all tags as name->ID mapping
data_sources/modules/wordpress_publisher.py:206
↓ 1 callers
Method
get_writing_guidelines
Get writing guidelines for a specific section type. Args: section_type: The type of section being written Retur
data_sources/modules/section_writer.py:92
↓ 1 callers
Function
has_freshness_signal
Check if title contains year or freshness signals
research_serp_analysis.py:243
↓ 1 callers
Function
is_branded_keyword
Check if keyword is branded/specific to the competitor
research_competitor_gaps.py:255
↓ 1 callers
Function
is_content_page
Determine if path is a content page (blog post/article)
research_performance_matrix.py:220
↓ 1 callers
Function
is_relevant_keyword
Filter for relevant industry keywords. Override relevant_terms for your niche.
research_competitor_gaps.py:279
↓ 1 callers
Function
load_competitors
Load competitor lists from config file.
research_competitor_gaps.py:28
↓ 1 callers
Function
load_config
Load configuration from config file.
seo_competitor_analysis.py:23
↓ 1 callers
Function
load_config
Load keyword configuration from config file.
seo_bofu_rankings.py:23
↓ 1 callers
Function
load_config
Load keyword configuration from config file.
seo_baseline_analysis.py:27
↓ 1 callers
Function
load_dataforseo_module
()
tests/test_dataforseo_resilience.py:11
↓ 1 callers
Function
main
()
research_topic_clusters.py:36
↓ 1 callers
Function
main
()
seo_competitor_analysis.py:33
↓ 1 callers
Function
main
()
research_performance_matrix.py:33
↓ 1 callers
Function
main
()
seo_bofu_rankings.py:33
↓ 1 callers
Function
main
()
research_quick_wins.py:45
↓ 1 callers
Function
main
Main entry point for SERP analysis
research_serp_analysis.py:30
↓ 1 callers
Function
main
()
research_competitor_gaps.py:42
↓ 1 callers
Function
main
()
research_trending.py:26
↓ 1 callers
Function
main
()
seo_baseline_analysis.py:37
↓ 1 callers
Function
main
()
research_priorities_comprehensive.py:26
↓ 1 callers
Function
main
Analyze all articles from today
data_sources/modules/engagement_analyzer.py:399
↓ 1 callers
Function
main
CLI entry point for testing
data_sources/modules/content_scorer.py:826
↓ 1 callers
Function
main
CLI entry point for testing
data_sources/modules/wordpress_publisher.py:440
↓ 1 callers
Method
markdown_to_html
Convert markdown to HTML for WordPress Args: markdown_content: Markdown formatted content Returns:
data_sources/modules/wordpress_publisher.py:137
↓ 1 callers
Method
parse_draft_file
Parse a markdown draft file and extract metadata and content Args: file_path: Path to the markdown file Returns
data_sources/modules/wordpress_publisher.py:53
↓ 1 callers
Method
publish_draft
Publish a draft file to WordPress as a post, page, or custom post type Args: file_path: Path to the markdown draft file
data_sources/modules/wordpress_publisher.py:352
↓ 1 callers
Method
rate
Rate content against SEO best practices Args: content: Article content meta_title: Meta title tag
data_sources/modules/seo_quality_rater.py:51
↓ 1 callers
Function
rate_seo_quality
Rate SEO quality of content Args: content: Article content meta_title: Meta title meta_description: Meta description
data_sources/modules/seo_quality_rater.py:552
↓ 1 callers
Method
score
Score landing page against CRO best practices Args: content: Landing page content (markdown) meta_title: Met
data_sources/modules/landing_page_scorer.py:149
↓ 1 callers
Method
score
Score content across all dimensions Args: content: Full article content (markdown) metadata: Optional dict w
data_sources/modules/content_scorer.py:144
↓ 1 callers
Function
score_landing_page
Score a landing page against CRO best practices Args: content: Landing page content (markdown) page_type: 'seo' or 'ppc'
data_sources/modules/landing_page_scorer.py:673
↓ 1 callers
Function
score_readability
Score content readability Args: content: Article text to analyze Returns: Comprehensive readability analysis
data_sources/modules/readability_scorer.py:450
↓ 1 callers
Method
scrub
Scrub content of all AI watermarks and telltale signs. Args: content: The text content to scrub Returns:
data_sources/modules/content_scrubber.py:80
↓ 1 callers
Method
set_yoast_meta
Set Yoast SEO meta fields on a post, page, or custom post type Requires the SEO Machine Yoast REST plugin to be installed: w
data_sources/modules/wordpress_publisher.py:312
↓ 1 callers
Function
test_connection
Test basic connection to DataForSEO API
test_dataforseo.py:18
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_topic_clusters.py:422
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_performance_matrix.py:317
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_quick_wins.py:345
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_serp_analysis.py:431
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_competitor_gaps.py:366
↓ 1 callers
Function
write_markdown_report
Write detailed markdown report
research_trending.py:245
↓ 1 callers
Function
write_roadmap_report
Write unified roadmap report
research_priorities_comprehensive.py:278
Method
__init__
(self)
data_sources/modules/keyword_analyzer.py:19
Method
__init__
Initialize GA4 client Args: property_id: GA4 property ID (defaults to env var GA4_PROPERTY_ID) credentials_p
data_sources/modules/google_analytics.py:25
Method
__init__
Initialize GSC client Args: site_url: Site URL (e.g., "https://castos.com") credentials_path: Path to creden
data_sources/modules/google_search_console.py:16
Method
__init__
Initialize SEO Quality Rater Args: guidelines: Custom SEO guidelines (defaults to standard best practices)
data_sources/modules/seo_quality_rater.py:15
Method
__init__
Initialize Landing Page Scorer Args: page_type: 'seo' or 'ppc' conversion_goal: 'trial', 'demo', or 'lead'
data_sources/modules/landing_page_scorer.py:133
Method
__init__
(self)
data_sources/modules/content_length_comparator.py:18
Method
__init__
(self)
data_sources/modules/readability_scorer.py:16
Method
__init__
(self)
data_sources/modules/content_scrubber.py:72
Method
__init__
Initialize CRO Checker Args: page_type: 'seo' or 'ppc' conversion_goal: 'trial', 'demo', or 'lead'
data_sources/modules/cro_checker.py:25
Method
__init__
Initialize CTA Analyzer Args: conversion_goal: 'trial', 'demo', or 'lead'
data_sources/modules/cta_analyzer.py:103
Method
__init__
(self)
data_sources/modules/content_scorer.py:140
Method
__init__
Initialize performance tracker
data_sources/modules/landing_performance.py:63
Method
__init__
Initialize DataForSEO client Args: login: API login (defaults to env var) password: API password (defaults t
data_sources/modules/dataforseo.py:17
Method
__init__
Initialize WordPress publisher Args: url: WordPress site URL (defaults to env var WORDPRESS_URL) username: W
data_sources/modules/wordpress_publisher.py:18
Method
__init__
Initialize all data source clients
data_sources/modules/data_aggregator.py:28
Method
_analyze_mini_stories
Analyze presence of mini-stories with specific names
data_sources/modules/engagement_analyzer.py:212
Method
analyze_content
Analyze a single competitor's content for gaps. Args: content: The full text content of the competitor article
data_sources/modules/competitor_gap_analyzer.py:134
Method
categorize_insight
Categorize text into an insight type based on content. Args: text: The insight text to categorize Returns:
data_sources/modules/social_research_aggregator.py:210
Method
check_ranking_history
Get ranking history for a keyword (requires historical data) Args: domain: Your domain keyword: Keyword to t
data_sources/modules/dataforseo.py:453
Function
compare_content_length
Compare content length against SERP competitors Args: keyword: Target keyword your_word_count: Your content's word count
data_sources/modules/content_length_comparator.py:291
Function
compare_landing_pages
Compare multiple landing pages Args: urls: List of landing page URLs days: Lookback period conversion_goal: Conversi
data_sources/modules/landing_performance.py:436
Method
create_blueprint
Create a 'beat them' blueprint from multiple competitor analyses. Args: analyses: List of CompetitorAnalysis from analyz
data_sources/modules/competitor_gap_analyzer.py:183
Function
create_default_structure
Create a default article structure for common topics. This provides a starting point that should be modified based on competitor researc
data_sources/modules/article_planner.py:438
Function
create_empty_reddit_research
Create an empty RedditResearch structure for initialization.
data_sources/modules/social_research_aggregator.py:394
Function
create_empty_youtube_research
Create an empty YouTubeResearch structure for initialization.
data_sources/modules/social_research_aggregator.py:407
Method
create_section_plan
Create a detailed plan for a single section. Args: section_number: Position in article (1-indexed) heading:
data_sources/modules/article_planner.py:241
Method
extract_field
(field_name: str)
data_sources/modules/wordpress_publisher.py:76
Function
format_article_plan
Format article plan as markdown. This generates the article-plan-[topic]-[date].md file.
data_sources/modules/article_planner.py:333
Function
format_editing_prompt
Format an editing prompt for a section draft. This generates the prompt for the editing pass.
data_sources/modules/section_writer.py:498
Function
format_gap_report
Format the analysis results as a markdown report. This is used to generate the serp-analysis-[topic]-[date].md file.
data_sources/modules/competitor_gap_analyzer.py:397
Function
format_social_research_report
Format social research as a markdown report. This generates the social-research-[topic]-[date].md file.
data_sources/modules/social_research_aggregator.py:282
Function
format_writing_prompt
Format a complete writing prompt for a section. This generates the prompt that guides section writing.
data_sources/modules/section_writer.py:427
Method
get_comprehensive_page_performance
Get all available data for a specific page Args: url: Page path or full URL days: Days to analyze R
data_sources/modules/data_aggregator.py:50
Method
get_conversions
Get conversion data by page Args: days: Number of days to look back path_filter: Filter pages by path
data_sources/modules/google_analytics.py:215
Method
get_domain_metrics
Get domain overview metrics Args: domain: Domain to analyze Returns: Dict with domain metrics
data_sources/modules/dataforseo.py:416
Method
get_position_changes
Track keyword position changes Args: days_recent: Recent period days_comparison: Previous period to compare
data_sources/modules/google_search_console.py:462
Method
get_ppc_performance
Get PPC-specific landing page performance Args: url: Landing page URL days: Lookback period camp
data_sources/modules/landing_performance.py:370
Method
get_priority_queue
Get prioritized list of content tasks Args: limit: Number of tasks to return Returns: Prioritized t
data_sources/modules/data_aggregator.py:282
Method
get_traffic_sources
Get traffic source breakdown for a page or entire site Args: url: Specific page path (optional, None = all pages)
data_sources/modules/google_analytics.py:276
Method
plan_engagement_distribution
Plan where engagement elements should go. Args: num_sections: Total number of sections Returns: Eng
data_sources/modules/article_planner.py:205
Method
replace_emdash
(match)
data_sources/modules/content_scrubber.py:153
Function
scrub_file
Scrub a file and optionally save to a new location. Args: file_path: Path to file to scrub output_path: Path to save cleaned
data_sources/modules/content_scrubber.py:284
Method
setUp
(self)
tests/test_dataforseo_resilience.py:21
Method
synthesize_research
Combine Reddit and YouTube research into actionable synthesis. Args: reddit_research: Aggregated Reddit findings
data_sources/modules/social_research_aggregator.py:244
← previous
next →
201–300 of 317, ranked by callers