seomachine README

The project's README from github.com/TheCraigHewitt/seomachine. As one markdown file: README.md.

SEO Machine

A specialized Claude Code workspace for creating long-form, SEO-optimized blog content for any business. This system helps you research, write, analyze, and optimize content that ranks well and serves your target audience.

Overview

SEO Machine is built on Claude Code and provides:

Getting Started

Prerequisites

Installation

  1. Clone this repository:
git clone https://github.com/TheCraigHewitt/seomachine.git
cd seomachine

Planning to contribute? Fork this repo first, then clone your fork instead: git clone https://github.com/<your-username>/seomachine.git

  1. Install Python dependencies for analysis modules:
pip install -r data_sources/requirements.txt

This installs:

  1. Open in Claude Code:
claude-code .
  1. Customize Context Files (Important!):

    All context files are provided as templates. Fill them out with your company's information:

    • context/brand-voice.md - Define your brand voice and messaging (see examples/castos/ for reference)
    • context/writing-examples.md - Add 3-5 exemplary blog posts from your site
    • context/features.md - List your product/service features and benefits
    • context/internal-links-map.md - Map your key pages for internal linking
    • context/style-guide.md - Fill in your style preferences
    • context/target-keywords.md - Add your keyword research and topic clusters
    • context/competitor-analysis.md - Add competitor analysis and insights
    • context/seo-guidelines.md - Review and adjust SEO requirements

    Quick Start: Check out examples/castos/ to see a complete real-world example of all context files filled out for a podcast hosting SaaS company.

Docker Setup

Before running Docker, configure data_sources/config/.env with your credentials.

docker-compose build
docker-compose run seomachine bash

Content directories are mounted as volumes, so files in topics/, research/, drafts/, published/, output/, rewrites/, context/, and credentials/ persist on your host.

Workflows

Creating New Content

1. Start with Research

/research [topic]

What it does:

Example:

/research content marketing strategies for B2B SaaS

2. Write the Article

/write [topic or research brief]

What it does:

Example:

/write content marketing strategies for B2B SaaS

Agent Auto-Execution: After writing, these agents automatically analyze the content:

3. Final Optimization

/optimize [article file]

What it does:

Example:

/optimize drafts/content-marketing-strategies-2025-10-29.md

Updating Existing Content

1. Analyze Existing Post

/analyze-existing [URL or file path]

What it does:

Examples:

/analyze-existing https://yoursite.com/blog/marketing-guide
/analyze-existing published/marketing-guide-2024-01-15.md

2. Rewrite/Update Content

/rewrite [topic or analysis file]

What it does:

Example:

/rewrite marketing guide

Commands Reference

/research [topic]

Comprehensive keyword and competitive research for new content.

Output: Research brief in /research/brief-[topic]-[date].md

Includes:


/write [topic]

Create long-form SEO-optimized article (2000-3000+ words).

Output: Article in /drafts/[topic]-[date].md

Includes:

Auto-Triggers:


/rewrite [topic]

Update and improve existing content.

Output: Updated article in /rewrites/[topic]-rewrite-[date].md

Includes:


/analyze-existing [URL or file]

Analyze existing blog posts for improvement opportunities.

Output: Analysis report in /research/analysis-[topic]-[date].md

Includes:


/optimize [file]

Final SEO optimization pass before publishing.

Output: Optimization report in /drafts/optimization-report-[topic]-[date].md

Includes:


/publish-draft [file]

Publish article to WordPress via REST API with Yoast SEO metadata.


/article [topic]

Simplified article creation workflow.


/priorities

Content prioritization matrix using analytics data to identify highest-impact content tasks.


/scrub [file]

Remove AI watermarks and patterns from content (em-dashes, filler phrases, robotic patterns).


Research Commands

Command Description
/research-serp [keyword] SERP analysis for a target keyword
/research-gaps Competitor content gap analysis
/research-trending Trending topic opportunities
/research-performance Performance-based content priorities
/research-topics Topic cluster research

Landing Page Commands

Command Description
/landing-write [topic] Create conversion-optimized landing page
/landing-audit [file] Audit landing page for CRO issues
/landing-research [topic] Research competitors and positioning
/landing-competitor [URL] Deep competitor landing page analysis
/landing-publish [file] Publish landing page to WordPress

Agents

Specialized agents that automatically analyze content and provide expert recommendations.

Content Analyzer (NEW!)

Purpose: Comprehensive, data-driven content analysis using 5 specialized modules

Analyzes:

Output:

Powered by:


SEO Optimizer

Purpose: On-page SEO analysis and optimization recommendations

Analyzes:

Output: SEO score (0-100) with specific improvement recommendations


Meta Creator

Purpose: Generate high-converting meta titles and descriptions

Creates:

Output: Multiple options with recommendation and reasoning


Internal Linker

Purpose: Strategic internal linking recommendations

Provides:

References: context/internal-links-map.md


Keyword Mapper

Purpose: Keyword placement and integration analysis

Analyzes:

Output: Distribution map, gap analysis, specific revision suggestions


Editor

Purpose: Transform technically accurate content into human-sounding, engaging articles

Analyzes:

Provides:

Output: Editorial report with specific improvements to make content sound human


Performance

Purpose: Data-driven content prioritization using real analytics

Analyzes:

Provides:

Output: Comprehensive performance report with actionable priorities


Headline Generator

Purpose: Generate high-converting headline variations and A/B testing recommendations

Provides:


CRO Analyst

Purpose: Conversion rate optimization analysis for landing pages

Analyzes:


Landing Page Optimizer

Purpose: Comprehensive landing page optimization recommendations

Provides:

Marketing Skills

SEO Machine includes 26 marketing skills accessible as slash commands:

Category Skills
Copywriting /copywriting, /copy-editing
CRO /page-cro, /form-cro, /signup-flow-cro, /onboarding-cro, /popup-cro, /paywall-upgrade-cro
Strategy /content-strategy, /pricing-strategy, /launch-strategy, /marketing-ideas
Channels /email-sequence, /social-content, /paid-ads
SEO /seo-audit, /schema-markup, /programmatic-seo, /competitor-alternatives
Analytics /analytics-tracking, /ab-test-setup
Other /referral-program, /free-tool-strategy, /marketing-psychology

Data Sources

Integration with Analytics

SEO Machine integrates with real-time data sources to inform content strategy:

Google Analytics 4:

Google Search Console:

DataForSEO:

Advanced SEO Analysis Modules (NEW!)

SEO Machine includes 5 specialized Python modules for comprehensive content analysis:

Search Intent Analyzer (search_intent_analyzer.py):

Keyword Analyzer (keyword_analyzer.py):

SEO Quality Rater (seo_quality_rater.py):

Content Length Comparator (content_length_comparator.py):

Readability Scorer (readability_scorer.py):

All modules can be used directly in Python or through the Content Analyzer agent.

CRO Analysis Modules

Six Python modules for landing page conversion optimization:

Additional Analysis Modules

Python Research Scripts

Run from repo root:

# Content research
python3 research_quick_wins.py
python3 research_competitor_gaps.py
python3 research_performance_matrix.py
python3 research_priorities_comprehensive.py
python3 research_serp_analysis.py
python3 research_topic_clusters.py
python3 research_trending.py

# SEO analysis (config-driven - set up config/competitors.json first)
python3 seo_baseline_analysis.py
python3 seo_bofu_rankings.py
python3 seo_competitor_analysis.py

# Test API connectivity
python3 test_dataforseo.py

Note: SEO analysis scripts load competitor lists and keywords from config/competitors.json. Copy config/competitors.example.json and customize for your business.

WordPress Integration

Publishing uses the WordPress REST API with a custom MU-plugin that exposes Yoast SEO fields.

Setup:

  1. Install wordpress/seo-machine-yoast-rest.php as an MU-plugin on your WordPress site
  2. Add wordpress/functions-snippet.php to your theme's functions.php
  3. Configure WordPress credentials in .env:
    WP_URL=https://yoursite.com
    WP_USERNAME=your_username
    WP_APP_PASSWORD=your_application_password
    

See wordpress/README.md for detailed setup instructions.

See data_sources/README.md for analytics setup instructions.

Directory Structure

seomachine/
├── .claude/
│   ├── commands/          # Custom workflow commands
│   │   ├── analyze-existing.md
│   │   ├── research.md
│   │   ├── write.md
│   │   ├── rewrite.md
│   │   ├── optimize.md
│   │   ├── scrub.md
│   │   ├── performance-review.md
│   │   ├── publish-draft.md
│   │   ├── article.md
│   │   ├── priorities.md
│   │   ├── research-serp.md
│   │   ├── research-gaps.md
│   │   ├── research-trending.md
│   │   ├── research-performance.md
│   │   ├── research-topics.md
│   │   ├── landing-write.md
│   │   ├── landing-audit.md
│   │   ├── landing-research.md
│   │   ├── landing-competitor.md
│   │   └── landing-publish.md
│   ├── agents/            # Specialized analysis agents
│   │   ├── content-analyzer.md
│   │   ├── seo-optimizer.md
│   │   ├── meta-creator.md
│   │   ├── internal-linker.md
│   │   ├── keyword-mapper.md
│   │   ├── editor.md
│   │   ├── performance.md
│   │   ├── headline-generator.md
│   │   ├── cro-analyst.md
│   │   └── landing-page-optimizer.md
│   └── skills/            # 26 marketing skills
├── data_sources/          # Analytics integrations
│   ├── modules/          # Python analysis modules
│   │   ├── google_analytics.py
│   │   ├── google_search_console.py
│   │   ├── dataforseo.py
│   │   ├── data_aggregator.py
│   │   ├── search_intent_analyzer.py
│  

seomachine (TheCraigHewitt/seomachine)

google-analytics
Searching Database…

What is this?SEO Machine is a specialized Claude Code workspace for creating long-form, SEO-optimized blog content for any business. It helps you research, write, analyze, and optimize content that ranks well and serves your target audience.
Is this a standalone app or does it run inside Claude Code?It's not a standalone app - it's a folder of custom slash commands, specialized agents, and marketing skills that you open as a workspace inside Claude Code itself.
How do I get it running?Clone the repository, install the Python dependencies for the analysis modules, open the folder in Claude Code, and then fill out the template files in context/ with your brand's information.
Do I need Claude Code and an Anthropic API account before I start?Yes, you need Claude Code installed and an Anthropic API account. Python is also required for the analysis modules, which pull in NLTK, textstat, scikit-learn, and BeautifulSoup4.
Will it produce good content right out of the box?No - all context files ship as empty templates, so output quality depends on you filling in your brand voice, writing examples, features, and keyword research first. There is a filled-out example in examples/castos/ you can study.
Who is this built for?It's aimed at businesses, marketers, and SEO teams who need to produce and maintain long-form blog and landing page content at scale, rather than individual casual bloggers.
Does it run on any OS, or is there a Docker option too?Being a Python-based Claude Code workspace, it runs on macOS, Windows, and Linux wherever Claude Code runs, and it also ships a Docker setup for containerized use.
Where do my analytics and API credentials end up?API keys for Google Analytics, Search Console, and DataForSEO are configured locally in datasources/config/.env, and content folders are mounted as Docker volumes so everything persists on your own machine rather than a remote server.
What are the Marketing Skills?SEO Machine includes 26 marketing skills exposed as slash commands, covering copywriting, CRO (page, form, signup-flow, onboarding, popup, paywall), content strategy, pricing strategy, and more.
Can it publish finished articles for me?Yes - /publish-draft sends an article straight to WordPress via the REST API with Yoast SEO metadata, and /landing-publish does the same for landing pages.
What happens automatically after I write an article?The /write command auto-triggers the SEO Optimizer, Meta Creator, Internal Linker, and Keyword Mapper agents, which immediately analyze and suggest improvements to the new draft.
How does it score existing content before a rewrite?The /analyze-existing command evaluates an existing post's SEO performance and competitive positioning, giving it a 0-100 content health score and a recommended update priority before you run /rewrite.
Size
0.4 MB
Stars
7.5K
Updated
CommitOct 15
Age
11mo
Commits · 90 Days