Stop paying $99/year for Yoast Premium. CloudScale SEO AI Optimizer replaces Yoast Premium and RankMath Pro, in two plans:
Bring Your Own API Key – free, forever. Paste your own Anthropic Claude or Google Gemini key (2 minutes at console.anthropic.com or aistudio.google.com) and pay the provider directly: about $0.50-$1.50 per 200 posts, under $0.10 per 100 on Claude Haiku, or nothing on Gemini’s free tier. The plugin itself charges nothing. Setup is install, paste key, click Generate Missing.
Managed Subscription – $10 per month. No API key required, AI usage included, cancel anytime.
It covers the technical SEO WordPress leaves out – sitemaps, robots.txt, structured data, OpenGraph, canonical URLs – and adds an AI toolkit that bulk-generates meta descriptions, ALT text, summaries, FAQ schema and related article links. A built-in Site Audit scores your setup across 20+ checks with one-click quick fixes.
Core SEO Features
- Custom meta title and description per post and page; canonical URL on every page
- OpenGraph (title, description, image, type, locale) and Twitter/X Card tags
- JSON-LD: Person (author pages), Article/BlogPosting (posts), WebSite (homepage), Breadcrumb
- Configurable site name, locale, Twitter handle, default OG image
- XML sitemap (index + child sitemaps) with configurable post types and taxonomies, plus a plain-text /sitemap.txt for AI crawlers
- robots.txt editor with AI bot blocking (GPTBot, CCBot, Claude-Web, anthropic-ai and others), plus llms.txt support
- noindex controls for search results, 404s, attachments, author archives, tag archives and RSS feeds
- UTM stripping in canonical URLs; widget-pagination and comment-moderation parameters always stripped
AI Auto Pipeline
- Runs every AI operation in a background process the moment a post is published – no WP-Cron dependency, and optionally again whenever a published post is saved
- Per publish: meta description, SEO score, focus keyword, ALT text for all images, AI-suggested internal links, AI summary box and Related Articles
- Gutenberg-safe block-level link injection; classic editor falls back to str_replace
- 50-word minimum content guard; HMAC-authenticated async request with a 120-second TTL
- “Re-run AI Automation” button in the metabox with live log output
AI Meta Writer
- Claude or Gemini, with a model selector: Automatic (always the current recommended model), Claude 3.5/3.7 Sonnet, Claude Haiku, Gemini 2.0 Flash, Gemini 1.5 Pro, or a custom model string
- Generate meta descriptions per post or in bulk; fix descriptions that are too short or long, and titles outside the optimal 50-60 characters
- Inline edit button on each row for manual corrections
- Configurable character range injected into the prompt, auto-retry when the AI overshoots, backoff on HTTP 429
- Fully editable system prompt with reset to default; Test Key verifies your key
- Sortable post table (title, date, SEO score, description length, title length, ALT status), timestamped progress log, Stop button
- Scheduled batch generation via WP Cron
AI SEO Scoring
- AI rates each post 0-100 with a one-sentence strengths or weaknesses note
- Calculate SEO Scores runs a bulk pass; Generate Missing scores any post still lacking one
- Stored in post meta (_cs_seo_score, _cs_seo_notes) and survive deactivation
Title Optimiser
- AI suggests SEO-optimised replacement titles for every published post, with a before/after score (0-100)
- Identifies the primary and secondary keywords the article is about
- One-click Apply updates title and slug and 301-redirects the old URL; “Apply All Suggested” does the lot with confirmation
- Sort by date or most-commented; suggestions stored in post meta so you can apply selectively
AI Summary Box
- AI summary box prepended to post content: What it is, Why it matters, Key takeaway
- Written SEO-first – primary keyword front-loaded, secondary keywords woven in, optimised for search intent
- Also written into Article JSON-LD as description, abstract and disambiguatingDescription
- Bulk generation with progress tracking, stop button and paginated list; force regenerate overwrites existing summaries
- Collapsible card; a global show/hide toggle keeps generated content
ALT Text Generator
- Audits all post images for missing ALT text and generates it with article context for relevance
- Configurable article excerpt length sent to the AI (100-2000 characters)
- Bulk generation with progress tracking; Show All reveals images that already have ALT text
Related Articles
- Injects related post links at the top and bottom of every post, block-safe in Gutenberg and classic posts
- AI-scored candidate pool across the full library; configurable counts (2-5 top, 3-10 bottom) with independent toggles
- Generate Missing processes new posts; Refresh Stale re-runs changed content; Sync Counts trims or fills to new count settings
- Post Status table shows per-post state (pending, complete, failed) with filter tabs
Audio Narration (Managed Subscription)
- Turns any post into a spoken MP3 with one click (Generate Audio, for logged-in editors only); a “Listen to this article” player appears under Related Articles
- Eleven narrator voices, from Cedar (calm, authoritative) to Marin (conversational) to Onyx (deep broadcast)
- Free voice previews, which never draw on your narration allowance
- Editable narration prompt controls tone and pacing; defaults to a calm tech-essay read
- Code blocks are never read aloud; each becomes a short spoken note instead
- MP3s land in your media library; regenerating replaces the previous narration
- Includes 400,000 narration characters per month, roughly 7 hours of audio, billed by the actual characters read aloud so there is no per-post limit; a $5 Narration Boost adds a further 400,000 characters that roll over until used
Performance Features
- font-display: swap to kill Flash of Invisible Text, plus font metric overrides (size-adjust, ascent-override, descent-override) to reduce Cumulative Layout Shift
- Defer font CSS via the media=”print” swap technique; auto-download CDN (Google) fonts locally for speed and GDPR compliance
- Font CSS scanner with Auto-Fix All, backup and undo
- Defer render-blocking JavaScript with configurable exclusions
- HTML, CSS and JS minification (5-15 percent smaller pages)
- HTTPS mixed content scanner and one-click fixer across posts, pages, metadata, options and comments
SEO Health Dashboard
- Dashboard widget with five coverage pillars – Posts (meta), SEO (score), Images (ALT), Links (related articles), Summaries – as colour-coded pills: green >= 90%, amber >= 60%, red < 60%
- Refresh rebuilds the health cache; it also auto-rebuilds after any bulk AI run, and counters show posts needing an AI run and queued pipeline jobs
Dashboard Integration
- Post editor metabox and Gutenberg sidebar panel (CloudScale Meta Boxes): custom title, description, OG image, AI summary fields and one-click generation
- Tab state persists across reloads
Category Fixer
- Suggests better category assignments using Claude on each post’s title, slug, tags and AI summary against your category list
- Up to four categories per post, only ones that already exist, never Uncategorized
- Colour-coded review table (green additions, red removals, grey kept) with a confidence badge
- Per-post Apply and Skip, bulk Apply All Changed, filters: All, Changed, Unchanged, Low Confidence, Missing
- Reload re-analyses everything; a per-row button redoes one post. Nothing changes until you click Apply
Category Health and Drift Detection
- Post counts per category with a pass/fail coverage indicator
- Drift Detection flags categories that have drifted from their original focus or become catch-all buckets, each with a verdict (drifting or catch-all), confidence score and AI reasoning
- Sorted by verdict then confidence; elapsed-time counter and Stop button
Readability Analyser
- Pure-PHP scoring, no AI call required: 0-100 with an Easy / Moderate / Hard label from sentence length, heading density and passive-voice rate
- Colour-coded metabox badge with sub-metrics (words per sentence, words per heading, passive voice percentage)
- Sortable Readability column; recalculated on save and after each Auto Pipeline run
Broken Link Checker
- Finds outbound links in posts and pages that return HTTP 4xx/5xx or fail to connect
- Server-side HEAD request per URL, deduplicated so each external URL is checked once
- Results table with post title, anchor text, URL and status. SSRF-safe: link-local, loopback and private IP ranges are blocked server-side
Image SEO Audit
- Flags Media Library SEO issues: missing ALT text, camera-default filenames (IMG_001, DSC_0045, screenshot2) and oversized files over 500 KB, sorted by issue count with thumbnails and direct edit links
What This Plugin Does Not Do
- No third-party SEO data, keyword research databases or rank tracking
- No hidden upsells, no tracking, no lock-in – BYOK is free forever and the subscription cancels anytime with no data loss
External Services
The plugin contacts the services below, only when you enable and use the relevant feature.
Notes that apply to every service listed here:
- Key handling: any API key, bot token or licence key you enter is stored only in your own WordPress database (wp_options) and is never transmitted anywhere except directly to that service’s own host.
- “Post content” means: the post title, up to 6,000 characters of the post body, and the system prompt you configured.
- No visitor data, personal data, analytics or tracking data is ever transmitted.
- Nothing is sent from your front end. Calls come from a WP Admin action, a WP Cron batch you scheduled, or the Auto Pipeline on publish/update if enabled.
Anthropic Claude API
Service: Anthropic PBC – https://anthropic.com
Endpoint: https://api.anthropic.com/v1/messages
Data sent: Post content (see note above).
When data is sent: On Generate, Fix or Generate with Claude; on a scheduled batch for posts without a meta description; or on publish/update via Auto Pipeline.
API key: Your own Anthropic key (see key-handling note above).
Privacy Policy: https://www.anthropic.com/privacy
Terms of Service: https://www.anthropic.com/terms
API documentation: https://docs.anthropic.com
Google Gemini API
Service: Google LLC – https://ai.google.dev
Endpoint: https://generativelanguage.googleapis.com/v1beta/models/
Data sent: Post content (see note above).
When data is sent: Same triggers as Anthropic above, when Gemini is your selected provider.
API key: Your own Google AI key (see key-handling note above).
Privacy Policy: https://policies.google.com/privacy
Terms of Service: https://policies.google.com/terms
API documentation: https://ai.google.dev/docs
Google Fonts CDN
Service: Google LLC – https://fonts.googleapis.com, https://fonts.gstatic.com
Data sent: Only the URL of a Google Font stylesheet already registered on your site.
When data is sent: Only on “Download Fonts” (Performance tab), which copies those font files to your server so they are served locally instead of from Google’s CDN – better GDPR compliance and Core Web Vitals.
API key: None required.
Privacy Policy: https://policies.google.com/privacy
Terms of Service: https://policies.google.com/terms
CloudScale Managed API
Service: CloudScale Consulting (Pty) Ltd – https://cloudscale.consulting
Endpoints: https://api.cloudscale.consulting/v1/messages, https://api.cloudscale.consulting/v1/tts
What it is: Optional paid alternative to your own key; provides Claude (text) and OpenAI text-to-speech (Audio Narration) on our account. Billed via Paystack, below.
Data sent: Post content (see note above) for text features; for Audio Narration, the full cleaned article text with code blocks removed, plus your narration prompt. Your managed licence key accompanies every call.
When data is sent: On any AI feature or Generate Audio with the Managed API enabled; on subscribe, status check or cancel; and once, non-blocking, if you delete the plugin while a subscription is active, so it is cancelled for you.
API key: Your managed licence key (see key-handling note above).
Privacy Policy: https://cloudscale.consulting/privacy
Terms of Service: https://cloudscale.consulting/terms
Paystack
Service: Paystack Payments Africa (Pty) Ltd, a Stripe company – https://paystack.com
What it is: Payment processor for the Managed Subscription.
Data sent: Your email address and payment details, entered by you directly on Paystack’s own hosted checkout page. The plugin never transmits or stores card data.
When data is sent: On Subscribe, when you are redirected to Paystack’s checkout. Cancellations and refunds are handled there too.
Privacy Policy: https://paystack.com/privacy
Terms of Service: https://paystack.com/terms
Telegram Bot API
Service: Telegram Messenger Inc. – https://telegram.org
Endpoint: https://api.telegram.org/bot{token}/sendMessage
What it is: Optional real-time error alerts to a Telegram chat you own.
Data sent: An error summary only – the PHP error message, file name and line number, and the related WordPress post ID or URL.
When data is sent: Only when a plugin error is caught and you have set a bot token and chat ID in Notifications settings. Nothing is sent if it is unconfigured.
API key: Your own bot token (see key-handling note above).
Privacy Policy: https://telegram.org/privacy
Terms of Service: https://telegram.org/tos
API documentation: https://core.telegram.org/bots/api
Broken Link Checker (server-side URL probing)
What it is: Your server sends an HTTP HEAD request to each unique outbound URL in your own published posts and pages, to check its status.
Data sent: The URL only, with standard HTTP headers (a User-Agent identifying your site). No post content, no user data.
When data is sent: Only while you run a scan from the Broken Link Checker tab. No automatic or scheduled scanning.
Note: sslverify is disabled so sites with expired or self-signed certificates can still be checked; loopback, link-local and private IP ranges are blocked. These are third-party sites you linked to yourself, so no single terms of service applies.