Title: Codesala SEO Content Engine
Author: Bikas Kumar
Published: <strong>May 7, 2026</strong>
Last modified: May 8, 2026

---

Search plugins

![](https://ps.w.org/codesala-seo-content-engine/assets/banner-772x250.png?rev=3525890)

![](https://ps.w.org/codesala-seo-content-engine/assets/icon-256x256.png?rev=3525890)

# Codesala SEO Content Engine

 By [Bikas Kumar](https://profiles.wordpress.org/bikaskumar2000/)

[Download](https://downloads.wordpress.org/plugin/codesala-seo-content-engine.1.1.1.zip)

 * [Details](https://test.wordpress.org/plugins/codesala-seo-content-engine/#description)
 * [Reviews](https://test.wordpress.org/plugins/codesala-seo-content-engine/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/codesala-seo-content-engine/#installation)
 * [Development](https://test.wordpress.org/plugins/codesala-seo-content-engine/#developers)

 [Support](https://wordpress.org/support/plugin/codesala-seo-content-engine/)

## Description

**Codesala SEO Content Engine** is a free AI SEO plugin and AI content generator
for WordPress. It combines keyword research, AI article writing, on-page SEO optimisation,
schema markup and an auto-blog scheduler in one lightweight plugin — and it works
on activation without any API key thanks to a built-in zero-config engine that composes
articles from real Wikipedia summaries and Google News headlines, with linked citations.

Use it as your **AI writer**, **auto blog plugin**, **keyword research tool**, **
JSON-LD schema generator**, and **automated content scheduler** — all from one admin
screen. Compatible with Yoast SEO, Rank Math and All in One SEO.

#### Why use this AI SEO plugin?

 * **Free forever, no API key required.** The built-in engine uses only public data
   sources — no signup, no credit card.
 * **Real source-backed content, not template fluff.** Every generated article is
   built from real Wikipedia and Google News data with citation links — useful out
   of the box.
 * **Optional best-in-class AI providers.** Plug in your own free or paid key from
   OpenRouter, Groq, Cloudflare Workers AI, Google Gemini, Mistral, OpenAI, or Anthropic
   Claude — auto-fallback handles rate-limits.
 * **6 keyword research sources.** Google Trends, Google Suggest, YouTube Suggest,
   Bing Suggest, Reddit and Wikipedia — all free.
 * **Schema markup that ranks.** JSON-LD Article + FAQPage with safe `<script>`-
   context escaping.
 * **Auto blog scheduler with safety brakes.** Daily budget, per-hour throttle, 
   default draft status — protects you from spammy bursts.
 * **Compatible with leading SEO plugins.** Auto-detects Yoast, Rank Math and All
   in One SEO. Native fallback if none is installed.

#### Full feature list

 * **AI content generator** with multi-provider fallback chain.
 * **Keyword research** from 6 free sources (Google Trends, Google Suggest, YouTube
   Suggest, Bing Suggest, Reddit, Wikipedia Pageviews).
 * **Smart keyword scoring** — long-tail boost, source-weighted, used-keyword tracking.
 * **Source-backed article composer** — pulls real Wikipedia summaries + Google 
   News headlines with citation links, even when no LLM is configured.
 * **Optional AI providers** — OpenRouter, Groq, Cloudflare Workers AI, Google Gemini,
   Mistral, OpenAI, Anthropic Claude. All keys user-supplied.
 * **Royalty-free images** — optional Pexels / Unsplash with SEO-optimised ALT text.
 * **JSON-LD schema** — Article + FAQPage, escaped safely with `JSON_HEX_TAG`.
 * **Yoast / Rank Math / AIOSEO compatibility** — focus keyword, meta title and 
   description auto-filled.
 * **Auto blog scheduler** — WP-Cron driven, daily budget, per-hour throttle, default
   draft status.
 * **Internal linking** — picks 3 related posts from your archive on every generation.
 * **Sitemap pings** — Google + Bing notification on publish (optional).
 * **Google Indexing API** support (optional, requires service-account JSON).
 * **Built-in analytics** — views, top posts, top keywords. Cached, no GA needed.

#### AI providers supported

 Provider
 Tier Why use it

 Codesala built-in engine
 Free, no key Always-on Wikipedia + News engine

 OpenRouter
 Free tier DeepSeek-V3, Llama 3.3 free models

 Groq
 Free tier Fastest Llama 3.3 70B inference

 Cloudflare Workers AI
 Free, 10k/day Llama, Mistral, Gemma

 Google Gemini
 Free tier Gemini 1.5 Flash

 Mistral AI
 Free tier Mistral Small / Medium

 OpenAI
 Paid GPT-4o-mini, top-quality long form

 Anthropic
 Paid Claude 3.5 Haiku / Sonnet

#### Realistic strategy

AI content is risky if you over-do it. Recommended:

 * 5–10 high-quality posts/day, not 100.
 * Long-tail, low-competition keywords.
 * Default status is **draft** so you review before publishing.

### External services

This plugin connects to the third-party services listed below. Connections to optional
services (LLM providers, image providers, indexing) only happen when the site administrator
explicitly configures their own API keys for those services.

#### Wikipedia & MediaWiki APIs (always-on, used by the built-in engine)

This plugin sends the focus keyword to Wikipedia’s REST and MediaWiki APIs to fetch
the article summary and full plain-text extract used as factual source material 
in generated articles.

 * What is sent: the focus keyword string and the resolved article title.
 * When: each time a post is generated using the built-in engine.
 * Service: Wikipedia / MediaWiki, operated by the Wikimedia Foundation.
 * Terms of use: https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use
 * Privacy policy: https://foundation.wikimedia.org/wiki/Policy:Privacy_policy

#### Wikimedia Pageviews API (when “Wikipedia Top” keyword source is enabled)

Used to fetch the previous day’s most-viewed Wikipedia articles as a keyword source.

 * What is sent: language code and the previous day’s date.
 * When: when the keyword pool is refreshed.
 * Service: Wikimedia Pageviews REST API.
 * Terms of use: https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use
 * Privacy policy: https://foundation.wikimedia.org/wiki/Policy:Privacy_policy

#### Google Trends RSS (when “Google Trends” keyword source is enabled)

Used to fetch daily trending searches.

 * What is sent: country code.
 * When: when the keyword pool is refreshed.
 * Service: Google Trends.
 * Terms of use: https://policies.google.com/terms
 * Privacy policy: https://policies.google.com/privacy

#### Google Search Suggest, YouTube Suggest, Google News RSS

Used to fetch keyword autocomplete suggestions, related questions for FAQs, and 
news article links used as factual source material.

 * What is sent: keyword strings, language and country codes.
 * When: when the keyword pool is refreshed and each time a post is generated.
 * Service: Google.
 * Terms of use: https://policies.google.com/terms
 * Privacy policy: https://policies.google.com/privacy

#### Bing Suggest (when “Bing Suggest” keyword source is enabled)

Used to fetch keyword autocomplete suggestions.

 * What is sent: keyword strings.
 * When: when the keyword pool is refreshed.
 * Service: Microsoft Bing.
 * Terms of use: https://www.microsoft.com/en-us/servicesagreement
 * Privacy policy: https://privacy.microsoft.com/privacystatement

#### Reddit Public Listings (when “Reddit Trending” keyword source is enabled)

Used to fetch top posts from r/popular as a keyword source.

 * What is sent: nothing (public listing endpoint).
 * When: when the keyword pool is refreshed.
 * Service: Reddit.
 * Terms of use: https://www.redditinc.com/policies/user-agreement
 * Privacy policy: https://www.reddit.com/policies/privacy-policy

#### Pexels API (only when the user has entered a Pexels API key)

Used to fetch royalty-free images for generated posts.

 * What is sent: the focus keyword and the user’s Pexels API key.
 * When: each time a post is generated and image fetching is enabled with Pexels
   selected.
 * Service: Pexels.
 * Terms of use: https://www.pexels.com/terms-of-service/
 * Privacy policy: https://www.pexels.com/privacy-policy/

#### Unsplash API (only when the user has entered an Unsplash access key)

Used to fetch royalty-free images for generated posts.

 * What is sent: the focus keyword and the user’s Unsplash access key.
 * When: each time a post is generated and image fetching is enabled with Unsplash
   selected.
 * Service: Unsplash.
 * Terms of use: https://unsplash.com/terms
 * Privacy policy: https://unsplash.com/privacy

#### OpenRouter (only when the user has entered an OpenRouter API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s OpenRouter API key, the configured model name, and the site’s home
   URL as the HTTP-Referer header.
 * When: each time a post is generated and OpenRouter is the active provider.
 * Service: OpenRouter.
 * Terms of use: https://openrouter.ai/terms
 * Privacy policy: https://openrouter.ai/privacy

#### Cloudflare Workers AI (only when the user has entered Cloudflare credentials)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s Cloudflare account ID, API token, and the configured model name.
 * When: each time a post is generated and Cloudflare is the active provider.
 * Service: Cloudflare Workers AI.
 * Terms of use: https://www.cloudflare.com/website-terms/
 * Privacy policy: https://www.cloudflare.com/privacypolicy/

#### Groq (only when the user has entered a Groq API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s Groq API key, and the configured model name.
 * When: each time a post is generated and Groq is the active provider.
 * Service: Groq.
 * Terms of use: https://groq.com/terms-of-use/
 * Privacy policy: https://groq.com/privacy-policy/

#### Google Gemini (only when the user has entered a Gemini API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s Gemini API key, and the configured model name.
 * When: each time a post is generated and Gemini is the active provider.
 * Service: Google Generative Language API.
 * Terms of use: https://ai.google.dev/gemini-api/terms
 * Privacy policy: https://policies.google.com/privacy

#### Mistral AI (only when the user has entered a Mistral API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s Mistral API key, and the configured model name.
 * When: each time a post is generated and Mistral is the active provider.
 * Service: Mistral AI.
 * Terms of use: https://mistral.ai/terms/
 * Privacy policy: https://mistral.ai/privacy-policy/

#### OpenAI (only when the user has entered an OpenAI API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s OpenAI API key, and the configured model name.
 * When: each time a post is generated and OpenAI is the active provider.
 * Service: OpenAI.
 * Terms of use: https://openai.com/policies/row-terms-of-use/
 * Privacy policy: https://openai.com/policies/row-privacy-policy/

#### Anthropic Claude (only when the user has entered an Anthropic API key)

Optional LLM provider used for generating article content.

 * What is sent: the system prompt, the user prompt (containing the focus keyword),
   the user’s Anthropic API key, and the configured model name.
 * When: each time a post is generated and Anthropic is the active provider.
 * Service: Anthropic.
 * Terms of use: https://www.anthropic.com/legal/consumer-terms
 * Privacy policy: https://www.anthropic.com/legal/privacy

#### Google Sitemap Ping (when “Auto ping Google” is enabled)

Used to notify Google about updated sitemaps after publishing posts.

 * What is sent: the public URL of the site’s sitemap.
 * When: each time a post is published if “Auto ping Google” is enabled.
 * Service: Google.
 * Terms of use: https://policies.google.com/terms
 * Privacy policy: https://policies.google.com/privacy

#### Bing Sitemap Ping (when “Auto ping Bing” is enabled)

Used to notify Bing about updated sitemaps after publishing posts.

 * What is sent: the public URL of the site’s sitemap.
 * When: each time a post is published if “Auto ping Bing” is enabled.
 * Service: Microsoft Bing.
 * Terms of use: https://www.microsoft.com/en-us/servicesagreement
 * Privacy policy: https://privacy.microsoft.com/privacystatement

#### Google Indexing API (only when enabled and a service-account JSON key is configured)

Used to submit individual URLs to Google’s indexing service for faster discovery.

 * What is sent: the public URL of the published post, signed with the user’s Google
   service-account JWT (via Google’s OAuth 2.0 token endpoint).
 * When: each time a post is published if “Submit to Google Indexing API” is enabled.
 * Service: Google Indexing API + Google OAuth 2.0.
 * Terms of use: https://policies.google.com/terms
 * Privacy policy: https://policies.google.com/privacy

### Privacy

This plugin does not collect or transmit visitor personal data. Data sent to the
third-party services listed above consists of: keyword strings entered or selected
by the site administrator, language/country codes from settings, and (when applicable)
the user’s own API keys passed to the corresponding provider. The plugin stores 
its own data locally in the WordPress options table and a custom `wp_csrm_stats`
table (post id, event type, keyword, provider name, sanitized referer, timestamp).
No IP addresses, no cookies, and no visitor identifiers are stored.

## Screenshots

 * [[
 * [[
 * [[
 * [[
 * [[

## Installation

 1. Upload the `codesala-seo-content-engine` folder to `/wp-content/plugins/`.
 2. Activate the plugin from the **Plugins** screen.
 3. Go to **SEO Content  Settings  AI Providers**. The built-in engine works without
    any setup. For higher-quality output, paste a free API key (Groq, OpenRouter, etc.).
 4. Open the **Keywords** tab and click **Fetch trending keywords**.
 5. Open the **Generate** tab and create a test post.
 6. When you are ready, enable the plugin in **Settings  General** to let the scheduler
    run automatically.

## FAQ

### Does this plugin require an API key?

No. The built-in engine builds articles from real Wikipedia summaries and Google
News headlines through public endpoints. For higher-quality output you can plug 
in a free key from Groq, OpenRouter, Cloudflare, Gemini, or Mistral. Paid OpenAI/
Anthropic are also supported. All keys are user-supplied.

### Will this get my site flagged for spam?

Auto-publishing too many low-quality articles can cause issues with search engines.
The plugin defaults to draft status and a per-hour throttle so you stay in control.
Recommended: 5–10 posts per day max.

### Which SEO plugins are supported?

Yoast SEO, Rank Math, and All in One SEO are auto-detected. If none is active, the
plugin outputs its own meta tags and JSON-LD on the front-end.

### Where does the keyword data come from?

All free public sources: Google Trends RSS, Google Suggest, YouTube Suggest, Bing
Suggest, Reddit r/popular, and Wikipedia Pageviews API. See the “External services”
section below for details.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Codesala SEO Content Engine” is open source software. The following people have
contributed to this plugin.

Contributors

 *   [ Bikas Kumar ](https://profiles.wordpress.org/bikaskumar2000/)

[Translate “Codesala SEO Content Engine” into your language.](https://translate.wordpress.org/projects/wp-plugins/codesala-seo-content-engine)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/codesala-seo-content-engine/),
check out the [SVN repository](https://plugins.svn.wordpress.org/codesala-seo-content-engine/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/codesala-seo-content-engine/)
by [RSS](https://plugins.trac.wordpress.org/log/codesala-seo-content-engine/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1.1

 * **Fix: SEO plugin score columns now reflect the optimised score.** After `Fix`(
   or `Analyse`) runs, the score is pushed into Rank Math (`rank_math_seo_score`),
   Yoast SEO (`_yoast_wpseo_linkdex` + `_yoast_wpseo_content_score`) and All in 
   One SEO (post meta + `wp_aioseo_posts.seo_score` direct table update). The “N/
   A” badge in posts-list views now flips to the actual number.
 * When schema is applied, Rank Math’s `rank_math_rich_snippet` is set to `article`
   and Yoast’s `_yoast_wpseo_schema_article_type` is set to `Article`, so the “Schema:
   Off” indicator flips to “Article”.
 * Posts scoring 90+ get marked as Pillar Content in Rank Math.
 * SEO Optimizer table now falls back to the existing Rank Math / Yoast / AIOSEO
   score when this plugin has not yet analysed the post — no more empty score column
   for posts you optimised in the SEO plugin’s editor directly.
 * Score badge in the Optimizer table now colours immediately on first render (green
   ≥90, amber 60–89, red <60).

#### 1.1.0

 * **NEW: Business-aware keywords.** A new “Business” sub-tab in Settings auto-detects
   what your site is about (site name, top categories, product categories, recent
   topics) and builds a niche profile. You can also override every field manually(
   products / services, location, target audience). The keyword fetcher then mixes
   business-relevant seeds straight into the trending pool.
 * **NEW: 100/100 SEO Optimizer.** A new top-level admin page lists posts / pages/
   products with their current score and one-click fix buttons. Fixes 19 weighted
   signals from the Rank Math / Yoast / AIOSEO content-analysis rules: focus keyword
   in title (and at start), meta description, slug, intro, subheadings and image
   alts; keyword density; URL length; word count; external DoFollow + internal links;
   numbers and power words in title; table of contents injection; long-paragraph
   splitting; image presence.
 * **NEW: Auto-fix on save.** Optional toggle that runs the fixer whenever any supported
   post is saved.
 * **NEW: Per-post SEO meta backup + Revert button.** First fix takes a one-time
   backup of the original title / content / slug so you can roll back from the SEO
   Optimizer page.
 * **NEW: Generator now produces 100/100 posts.** Newly generated articles are automatically
   passed through the fixer before publish.
 * Settings  100/100 Fixer sub-tab to choose which post types are eligible, target
   score, batch size, and whether to allow AI for content rewrites.

#### 1.0.0

 * Initial public release.

## Meta

 *  Version **1.1.1**
 *  Last updated **1 week ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.6 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/codesala-seo-content-engine/)
 * Tags
 * [AI](https://test.wordpress.org/plugins/tags/ai/)[automation](https://test.wordpress.org/plugins/tags/automation/)
   [content generator](https://test.wordpress.org/plugins/tags/content-generator/)
   [schema](https://test.wordpress.org/plugins/tags/schema/)[seo](https://test.wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://test.wordpress.org/plugins/codesala-seo-content-engine/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/codesala-seo-content-engine/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/codesala-seo-content-engine/reviews/)

## Contributors

 *   [ Bikas Kumar ](https://profiles.wordpress.org/bikaskumar2000/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/codesala-seo-content-engine/)