Set Up in 30 Seconds
Copy this prompt into any AI coding tool. It fetches the full spec and builds your entire blog.
Works with
I need you to set up a complete SEO blog on my website to receive articles from RankHub (https://rankhub.ai).
## Step 1: Fetch the Full Blog Specification
...morePlatform Overview
RankHub is an SEO autopilot that researches keywords, generates optimized blog articles, and publishes them to your website automatically. The entire pipeline runs on a monthly cycle — from keyword selection to final delivery via webhook.
End-to-End Pipeline
Each delivery includes the article title, slug, HTML and markdown content, featured image, SEO metadata, and tags. Your endpoint verifies the request using a Bearer token, then creates the blog post in your CMS or database.
You stay in control with headline approval before any content is generated. RankHub handles the research, writing, image generation, and delivery — you approve what gets published.
How Autopilot Works
The autopilot runs on a monthly cycle. Ten days before each month ends, RankHub automatically generates the next month's content calendar, selects keywords from your pool, and creates headlines for approval.
Calendar Generation
RankHub creates a content calendar based on your subscription tier. Posts are spread evenly across the month on your preferred publish day.
Headline Generation
AI generates SEO-optimized headlines for each scheduled post using keywords from your pool. Article types are automatically selected based on search intent.
Your Approval
You receive an email with all headlines for the month. Select which to approve, reject, or skip. You have 5 days to respond.
Draft Generation
Approved posts are queued for generation. RankHub writes the full article, generates a featured image, adds internal links, and formats the HTML.
Publishing & Delivery
On the scheduled date, RankHub runs a semantic similarity check to prevent duplicate content, then delivers the article to your webhook endpoint.
Semantic Safety Check
Before publishing, RankHub compares each article against your existing content using vector embeddings. Articles with >90% similarity to published content are flagged for review instead of auto-publishing.
Content Calendar
Each month, RankHub generates a content calendar that schedules posts evenly across the month. The number of posts depends on your subscription tier.
| Tier | Posts/Month | Frequency |
|---|---|---|
| Starter | 4 | Every 7 days |
| Growth | 15 | Every 2 days |
| Scale | 30 | Daily |
You can configure your preferred publish day (Monday through Sunday) in website settings. Posts are scheduled starting from your preferred day and spread evenly across the month.
Calendars are generated 10 days before each month ends, giving you time to review and approve headlines before the new month begins.
Headline Approval
After headlines are generated, you receive an email with a secure approval link. The approval page shows each headline with its target keyword, search intent, scheduled date, and rationale.
Approval Workflow
- RankHub sends an email with your monthly headlines
- Click the secure approval link (valid for 5 days)
- Review each headline — select or deselect individually
- Submit your selections
- Approved headlines are queued for draft generation
Approved
Queued for draft generation 1 day before the scheduled publish date.
Rejected
Skipped for this month. The keyword returns to the pool.
Expired
No response within 5 days. Headlines are not generated.
Auto-Approval
Enable auto-approval in your content calendar settings to skip the email step. All generated headlines are automatically approved and queued for generation. Best for high-trust editorial workflows.
Article Types
RankHub automatically selects the best article type for each keyword based on search intent. Ten article types cover informational and commercial content.
| Type | Pattern |
|---|---|
HOW_TO Step-by-step tutorials and guides | How to [Goal] with [Method] |
LISTICLE Numbered lists, easy to scan | [N] Ways/Tips to [Goal] |
ULTIMATE_GUIDEPillar Comprehensive pillar content | The Ultimate Guide to [Topic] |
COMPARISON Head-to-head product comparisons | [A] vs [B]: [Key Factor] |
BEST_OF Curated top picks | Best [Solutions] for [Audience] |
PROBLEM_SOLUTION Pain point diagnosis + fix | Why [Problem] and How to Fix It |
CASE_STUDY Real-world success stories | How [Entity] Achieved [Result] |
EXPERT_TIPS Professional advice roundups | [N] Expert Tips for [Goal] |
BEGINNERS_GUIDEPillar Introductory pillar content | [Topic] for Beginners |
ALTERNATIVES Alternative solution roundups | [Competitor] Alternatives |
Pillar Content Strategy
RankHub targets 1–2 pillar posts per month (Ultimate Guide or Beginner's Guide). These comprehensive articles serve as hub pages, with cluster content linking back to them for stronger topic authority.
Content Settings
Configure how RankHub generates content for your website. All settings are available in Settings → Content.
Article Style
Clear, educational tone with balanced detail
Friendly, approachable voice with natural flow
Polished, authoritative tone for B2B audiences
Precise, detailed writing for developer audiences
Featured Image Style
RankHub generates a unique featured image for each article using AI.
Headline with topic illustrations
Hand-drawn with grain textures
Natural, magazine photography
Blog headline as the visual
Content Features
Number of internal links per article (0–10, default: 3)
Include a CTA section in each article
Embed relevant YouTube videos when available
Generate inline infographic-style visuals
Use emojis in headings and content
Your brand color for featured image text overlays
Free-text instructions applied to every article (tone, topics to avoid, etc.)
Webhook Lifecycle
Article Published
Autopilot writes and finalizes your blog post
Webhook Sent
POST request sent to your endpoint
Retry on Failure
5xx/429 retried up to 5 times
Delivered
Your site receives the article
Article Published
Autopilot writes and finalizes your blog post
Webhook Sent
POST request sent to your endpoint
Retry on Failure
5xx/429 retried up to 5 times
Delivered
Your site receives the article
5xx/429: Retried up to 5 times with exponential backoff (1min, 5min, 15min, 30min, 30min with jitter). Total window: ~51 minutes.
4xx (except 429): Not retried. These indicate a configuration error on your endpoint.
Payload Reference
JSON Body Fields
| Field | Type | Description | Example |
|---|---|---|---|
| api_version | integer | API version number. Currently always 1. | 1 |
| id | string | Unique blog post identifier (CUID format). | "clxyz123abc456def" |
| title | string | Full article title. | "10 Best SEO Tools for 2026" |
| slug | string | URL-safe slug generated from the target keyword. | "best-seo-tools-2026" |
| content_html | string | Sanitized HTML article content. Uses semantic tags only (see Allowed HTML Tags section). | "<h2>Introduction</h2><p>...</p>" |
| content_markdown | string | Original markdown source of the article. | "## Introduction\n\n..." |
| schema_json | array | JSON-LD structured data for BlogPosting rich results. Inject as a script tag with type="application/ld+json" in the article page head. | {"@type": "BlogPosting", ...} |
| meta_description | string | SEO meta description for the article. | "Discover the best SEO tools..." |
| image_url | string | URL to the featured image (hosted on Google Cloud Storage). May be empty if image generation failed — handle gracefully. | "https://storage.googleapis.com/..." |
| css_url | string | Full stylesheet with layout + visual design (colors, fonts, backgrounds). Use this for plug-and-play styling. | "https://rankhub.ai/api/blog-spec/styles.css" |
| css_base_url | string | Structural-only stylesheet (layout, grid, flex). Use this if you want to apply your own brand colors and fonts. | "https://rankhub.ai/api/blog-spec/styles-base.css" |
| tags | string[] | Array of topic tags for the article. | ["seo", "tools"] |
| created_at | string | ISO 8601 timestamp of when the article was published. | "2026-02-25T10:30:00Z" |
| target_keyword | string | Primary keyword this article is targeting for SEO. | "best seo tools" |
| word_count | integer | Total word count of the article. | 2450 |
| reading_time | integer | Estimated reading time in minutes (based on 200 wpm). | 13 |
HTTP Headers
| Header | Value | Description |
|---|---|---|
| Content-Type | application/json | Always JSON. Parse the request body as JSON. |
| Authorization | Bearer <your_auth_token> | Bearer token set in your webhook configuration. Compare with your stored token to authenticate. |
| X-RankHub-Delivery-Id | <unique_delivery_id> | Unique identifier for this delivery attempt. Useful for deduplication and debugging. |
Allowed HTML Tags
The content_html field only contains these semantic HTML tags. Any h1 tags are automatically converted to h2.
Rich components use rh-* prefixed CSS classes (e.g., rh-callout, rh-comparison, rh-stat, rh-data-bar).
Styling Rich Components
Choose one of two stylesheets. Both require wrapping your article in class="blog-prose".
Option 1: Full design (plug-and-play)
Includes layout + colors, fonts, and backgrounds. Use the css_url payload field or:
<link rel="stylesheet" href="https://rankhub.ai/api/blog-spec/styles.css" />
Option 2: Structural only (bring your own design)
Layout only (grid, flex, spacing) — no colors or fonts. Apply your own brand styles on top. Use the css_base_url payload field or:
<link rel="stylesheet" href="https://rankhub.ai/api/blog-spec/styles-base.css" />
HTTP Headers
Every webhook delivery includes the following HTTP headers. Use these to authenticate the request.
Content-TypeAlways application/json. Parse the request body as JSON.
AuthorizationBearer token from your webhook settings. Format: Bearer <your_auth_token>. Compare against your stored token to authenticate.
X-RankHub-Delivery-IdUnique identifier for this delivery attempt. Useful for deduplication and debugging. If you receive the same delivery ID twice, it means a retry occurred.
Authentication
RankHub uses Bearer token authentication. When you set up your webhook in the Settings → Connections page, you provide an auth token. RankHub includes this token in the Authorization header of every delivery.
Your endpoint should extract the token from the header, strip the Bearer prefix, and compare it against your stored token. If the tokens don't match, return a 401 Unauthorized response.
Code Examples
Complete webhook handler examples with Bearer token verification. Choose your language below.
const express = require('express')
const app = express()
app.post('/api/webhook/rankhub', express.json(), (req, res) => {
// 1. Verify Bearer token
const token = req.headers.authorization?.replace('Bearer ', '')
if (token !== process.env.RANKHUB_AUTH_TOKEN) {
return res.status(401).json({ error: 'Unauthorized' })
}
// 2. Use the payload
const { title, slug, content_html, content_markdown,
meta_description, image_url, css_url, tags } = req.body
// 3. Render content_html inside <div class="blog-prose">
// and add <link rel="stylesheet" href={css_url} /> to your blog layout
// Create your blog post here...
res.status(200).json({ received: true })
})Note: Adapt the path to your framework. Next.js App Router: app/api/webhook/rankhub/route.js. The path must match the URL configured in your RankHub webhook settings.
Retry Behavior
RankHub automatically retries failed deliveries to ensure your content arrives. The retry policy depends on the HTTP status code your endpoint returns.
| Response | Behavior |
|---|---|
| 200-299 | Delivery successful. No further action. |
| 429 | Rate limited. Retried up to 5 times with exponential backoff. |
| 5xx | Server error. Retried up to 5 times with exponential backoff. |
| 4xx (except 429) | Client error. Not retried. Fix your endpoint configuration. |
Backoff Schedule
Each delay includes +/-10% jitter. Total retry window: approximately 51 minutes. After all retries are exhausted, you receive an in-app notification.
Styling Your Blog
RankHub articles include rich components (callouts, comparison tables, stat highlights, and more) that use rh-* CSS classes. Add one of the stylesheets below and wrap your article in class="blog-prose" to render them correctly.
Option A: Full Design
Layout + colors, fonts, and backgrounds. Works out of the box.
<link rel="stylesheet" href="https://rankhub.ai/api/blog-spec/styles.css" />
Option B: Structural Only
Layout only. Add your own brand colors and fonts on top.
<link rel="stylesheet" href="https://rankhub.ai/api/blog-spec/styles-base.css" />
Webhook Payload Fields
Each delivery includes css_url (full design) and css_base_url (structural only) so you can load the stylesheet dynamically instead of hardcoding the URL.
Subscription Plans
RankHub offers three subscription tiers. Each tier determines how many blog posts are generated and published per month. All tiers include the full autopilot pipeline, headline approval, and webhook delivery.
Starter
$19.99/mo
4 posts/month · Weekly
- ✓4 blog posts/month
- ✓Weekly publishing
- ✓AI headline generation
- ✓Email approval workflow
- ✓Webhook delivery
Best for: Small blogs and personal sites
Growth
Popular$49.99/mo
15 posts/month · Every 2 days
- ✓15 blog posts/month
- ✓Bi-weekly publishing
- ✓AI headline generation
- ✓Email approval workflow
- ✓Webhook delivery
- ✓Priority content queue
Best for: Growing businesses and content marketers
Scale
$99.99/mo
30 posts/month · Daily
- ✓30 blog posts/month
- ✓Daily publishing
- ✓AI headline generation
- ✓Email approval workflow
- ✓Webhook delivery
- ✓Priority content queue
- ✓Dedicated support
Best for: Content-heavy sites and agencies
7-Day Trial
All tiers include a 7-day trial for $1.99. Cancel anytime during the trial to avoid the full monthly charge. Billing is handled securely through Polar.
Google Search Console
Connect your Google Search Console to give RankHub real performance data. This helps optimize keyword selection and track how published articles perform in search results.
How to Connect
- Go to Settings → Connections
- Click Connect Google Search Console
- Authorize read-only access to your GSC property
- Select the property that matches your website URL
What Data is Synced
RankHub syncs your search performance data daily. The following metrics are collected per query and page:
Clicks
Click-through count
Impressions
Search appearance count
CTR
Click-through rate
Position
Average SERP position
Read-Only Access
RankHub requests only webmasters.readonly scope. We never modify your Search Console settings, submit URLs, or access any data beyond search analytics. You can disconnect at any time.
Credits & Usage
RankHub uses a credit system for on-demand features outside the autopilot subscription. Credits are consumed when you run keyword research, generate content on demand, or perform website analysis.
| Action | Description |
|---|---|
| Website Analysis | AI-powered analysis of your website, competitors, and audience during onboarding |
| Keyword Research | Manual or auto keyword research with DataForSEO metrics, SERP analysis, and trends |
| Content Generation | On-demand blog draft generation outside the autopilot schedule |
| Image Generation | Featured image creation via AI (included with autopilot drafts) |
| Competitor Analysis | Deep analysis of competitor keyword rankings and content gaps |
Autopilot content generation (drafts, images, and publishing) is included in your subscription and does not consume credits. Credits are only used for on-demand research and analysis features.
Credit Balance
View your current balance and transaction history at Dashboard → Credits. All credit usage is logged with the action type, cost, and timestamp.