The Challenge
Oruplace SEO Automation V2 is a multi-brand AI-powered blog generation and publishing platform. It automates the full content lifecycle - from scraping a client's existing website, classifying pages, discovering keyword-backed topics, generating research + drafts + rewrites through AI, creating images, and pushing finished posts to WordPress - all from a single dashboard per brand.
Built as an internal tool for Wonkrew to scale SEO blog production across multiple client websites. The system uses a 9-step pipeline with BullMQ job queues, Google Ads API for keyword volume validation, OpenRouter for multi-model AI content generation, and direct WordPress REST API publishing with RankMath SEO field support.
What We Did
Each brand follows a sequential workflow managed from the BrandDashboard UI:
Step 1 - Website Scraping Cheerio-based crawler starting from the brand's WordPress base URL. Follows internal links, respects configurable max pages (up to 500). Extracts title, full HTML, plain text, headings, meta description, categories, tags, published date, and keywords. Each page saved with upsert logic (by URL). Creates CrawlSnapshot per page with stats.
Step 2 - Page Classification Hybrid classifier using pure heuristics (no AI, no API calls). URL analysis with path patterns for home, blog, service, category, pagination, static, and author archives. Content feature extraction covering navigation, footer, contact forms, blog elements, service keywords, product keywords, date, author, schema.org type, and WordPress body classes.
11 page types: home, service, blog, blog_category, pagination, about, contact, product, landing, static, other, ignore. Confidence scores (0.0-1.0) based on indicator counts. Blog post detection requires 3+ positive indicators. Admin can override any classification via manual_page_type field.
Step 3 - Topic Discovery AI generates 30-50 keyword + title suggestions per batch using brand context (all scraped service pages and blog posts as input). Configurable topic focus. Sophisticated prompt template covering funnel stages (awareness/consideration/decision), search intent, content gaps, and priority levels.
Google Ads API integration fetches historical keyword metrics for all suggested keywords, per brand's target countries (supports 30+ country codes). Returns monthly search volume, competition level, and CPC. Zero-volume keywords filtered out automatically. Topics preserved in original AI suggestion ordering.
The Results
1. Multi-step content pipeline engineering - A 9-step pipeline from website scraping to WordPress publishing, with BullMQ job queues, retries, concurrency controls, and status tracking at every stage. This is production content automation infrastructure.
2. Google Ads API integration - Direct integration with Google Ads REST API for keyword historical metrics across 30+ countries. Topic suggestions validated against real search demand before content generation begins.
3. Multi-brand SaaS architecture - Each brand has isolated configuration (voice, prompts, models, target countries, WordPress credentials), all managed from a single platform. Designed for agency-scale operations across many client websites.
Key Takeaway
1. Multi-step content pipeline engineering - A 9-step pipeline from website scraping to WordPress publishing, with BullMQ job queues, retries, concurrency controls, and status tracking at every stage. This is production content automation infrastructure.
2. Google Ads API integration - Direct integration with Google Ads REST API for keyword historical metrics across 30+ countries. Topic suggestions validated against real search demand before content generation begins.
3. Multi-brand SaaS architecture - Each brand has isolated configuration (voice, prompts, models, target countries, WordPress credentials), all managed from a single platform. Designed for agency-scale operations across many client websites.