Title: Luis Rita AI Blog Writer with Sources
Author: luismrita
Published: <strong>September 30, 2026</strong>
Last modified: September 30, 2026

---

Search plugins

![](https://ps.w.org/luis-rita-ai-blog-writer/assets/banner-772x250.png?rev=3720817)

![](https://ps.w.org/luis-rita-ai-blog-writer/assets/icon-256x256.png?rev=3720817)

# Luis Rita AI Blog Writer with Sources

 By [luismrita](https://profiles.wordpress.org/luismrita/)

[Download](https://downloads.wordpress.org/plugin/luis-rita-ai-blog-writer.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/luis-rita-ai-blog-writer/#description)
 * [Reviews](https://wordpress.org/plugins/luis-rita-ai-blog-writer/#reviews)
 *  [Installation](https://wordpress.org/plugins/luis-rita-ai-blog-writer/#installation)
 * [Development](https://wordpress.org/plugins/luis-rita-ai-blog-writer/#developers)

 [Support](https://wordpress.org/support/plugin/luis-rita-ai-blog-writer/)

## Description

Luis Rita AI Blog Writer with Sources is a draft-first AI blog writer. It creates
normal WordPress block content from your brief and selected sources, and never publishes
automatically.

This plugin is bring-your-own-key only. There is no bundled account, subscription,
or upsell.

 * Use your own OpenAI, Anthropic, Google, or xAI API key and choose a GPT, Claude,
   Gemini, or Grok model.
 * Choose a Delegated or Guided workflow, supply up to eight source URLs, and review
   the outline in Guided mode.
 * Get a normal WordPress draft with sources, warnings, metadata suggestions, and
   provenance.
 * Save writer profiles linked to WordPress author accounts.
 * Track provider usage with an optional estimated cost ceiling.

Generated content can contain errors, unsupported claims, or bias. Human review 
is required before publication. No ranking, traffic, accuracy, or legal-safety guarantee
is made.

#### External services

This plugin sends data to two kinds of external destinations. Both happen only after
an administrator configures an API key or a user supplies URLs. Nothing is sent 
during installation, activation, or idle time.

**1. Your selected AI provider**

Requests go to the provider matching the configured API key:

 * OpenAI — `https://api.openai.com/v1/models`, `https://api.openai.com/v1/responses`
 * Anthropic — `https://api.anthropic.com/v1/models`, `https://api.anthropic.com/
   v1/messages`
 * Google — `https://generativelanguage.googleapis.com/v1beta/models`, `.../v1beta/
   models/{model}:generateContent`
 * xAI — `https://api.x.ai/v1/models`, `https://api.x.ai/v1/chat/completions`

What is sent, and when:

 * **Test connection** (Settings  Test connection, and automatically once when an
   administrator submits a new article brief): the API key and a request for the
   provider’s model list. No content is sent.
 * **Outline stage** (after a job reaches the outline stage): the API key, selected
   model, your brief fields (topic, talking points, audience, search intent, keyword
   phrases, tone, length, language, market, call to action, include/avoid notes),
   the selected writer profile, and extracted notes plus titles and URLs of the 
   selected sources.
 * **Draft stage** (after the outline is generated in Delegated mode, or approved
   in Guided mode): the same brief, writer profile, and source notes, plus the approved
   outline.
 * **Propose writer profile** (Writer profiles  Propose editable profile): the API
   key, your prompt text, and any writing sample you paste.
 * **Rewrite section** (block editor sidebar): the API key, the section content,
   your instruction, and the source notes attached to that section.

Never sent: WordPress credentials, other database contents, visitor data, or payment
data. API keys stay server-side and are never exposed to the browser or the REST
API.

Provider terms and data policies apply to everything sent:

 * https://openai.com/policies/terms-of-use/
 * https://openai.com/policies/privacy-policy/
 * https://developers.openai.com/api/docs/guides/your-data
 * https://www.anthropic.com/legal/commercial-terms
 * https://www.anthropic.com/legal/privacy
 * https://ai.google.dev/gemini-api/terms
 * https://policies.google.com/privacy
 * https://x.ai/legal/terms-of-service
 * https://x.ai/legal/privacy-policy

**2. Source URLs you supply**

During research, your server fetches each URL in the brief with a plain HTTP request
identified as `Luis-Rita-AI-Blog-Writer/<version>; <your site URL>`. No brief content,
key, or user data is sent. Private addresses are rejected, redirects are limited
to three, and responses are capped at 1 MB.

### Privacy and data retention

#### What the plugin stores

In your own database only: jobs (brief, status, settings snapshot, owner, linked
post), sources and extracted notes, generated outline and draft versions, usage 
and estimated cost per request, writer profiles, post meta on generated drafts (
job ID, provenance, SEO suggestions, warnings), the risk acknowledgement in user
meta, and settings plus encrypted API keys in options.

Nothing is sent to the plugin author. The plugin contains no analytics, tracking,
or phone-home code.

#### Retention

A daily WP-Cron event enforces the **Prompt/source/log retention days** setting (
default 90). For completed jobs older than the cutoff it deletes sources and artifacts
and clears the stored brief. Older usage rows are deleted. Generated posts are always
kept.

#### Personal data export and erasure

**Tools  Export Personal Data** returns a user’s jobs and writer profiles. **Tools
Erase Personal Data** removes their profiles, sources, artifacts, generated-content
post meta, and acknowledgement, and unlinks their jobs and usage. Posts are kept.

#### Uninstall

Uninstall always removes the plugin capabilities. Define `AIBCG_REMOVE_DATA_ON_UNINSTALL`
as `true` first to also delete plugin tables, options, encrypted keys, transients,
and metadata on every site. Generated posts and linked author accounts are always
kept.

### Troubleshooting

#### Missing or invalid API key

Keys are stored per provider: after changing the provider, click **Save Changes**,
then save its key. Keys defined in `wp-config.php` cannot be edited here. Saving
keys requires Sodium.

#### Provider errors

    ```
    provider_http_401: key rejected. `provider_http_429`: rate limit or quota. `provider_unreachable`: the server cannot reach the provider over HTTPS. "Selected model is unavailable": choose another model and test the connection again.
    ```

#### Jobs stay queued

WP-Cron is not running. Check **AI Blog Writer  Diagnostics**, schedule `wp-cron.
php` from a server scheduler, then click **Retry stage**.

#### Source URLs fail

Sources must be public HTML or plain-text pages. Replace the URL and start a new
job.

#### Reporting a problem

Download the JSON report from **AI Blog Writer  Diagnostics**. It excludes API keys,
prompts, article text, and source notes.

## Screenshots

[⌊Dashboard onboarding with the human-review warning and setup steps.⌉⌊Dashboard
onboarding with the human-review warning and setup steps.⌉[

Dashboard onboarding with the human-review warning and setup steps.

[⌊New article brief: topic, workflow, audience and SEO fields, source URLs, and 
writer profile.⌉⌊New article brief: topic, workflow, audience and SEO fields, source
URLs, and writer profile.⌉[

New article brief: topic, workflow, audience and SEO fields, source URLs, and writer
profile.

[⌊Guided source review with extracted notes and retrieval dates.⌉⌊Guided source 
review with extracted notes and retrieval dates.⌉[

Guided source review with extracted notes and retrieval dates.

[⌊Outline review before drafting, editable section by section.⌉⌊Outline review before
drafting, editable section by section.⌉[

Outline review before drafting, editable section by section.

[⌊Completed job: draft link, sources used, SEO suggestions, and provider usage.⌉⌊
Completed job: draft link, sources used, SEO suggestions, and provider usage.⌉[

Completed job: draft link, sources used, SEO suggestions, and provider usage.

[⌊Writer profiles with linked WordPress authors and AI-assisted proposals.⌉⌊Writer
profiles with linked WordPress authors and AI-assisted proposals.⌉[

Writer profiles with linked WordPress authors and AI-assisted proposals.

[⌊Settings: provider, model, API key and connection test, defaults, cost ceilings,
and retention.⌉⌊Settings: provider, model, API key and connection test, defaults,
cost ceilings, and retention.⌉[

Settings: provider, model, API key and connection test, defaults, cost ceilings,
and retention.

[⌊Usage and cost: funding source, provider connection state, and estimated site 
cost for the month.⌉⌊Usage and cost: funding source, provider connection state, 
and estimated site cost for the month.⌉[

Usage and cost: funding source, provider connection state, and estimated site cost
for the month.

[⌊The finished draft in the block editor, with the AI Blog Writer panel showing 
provenance, warnings, sources, and single-section rewrite.⌉⌊The finished draft in
the block editor, with the AI Blog Writer panel showing provenance, warnings, sources,
and single-section rewrite.⌉[

The finished draft in the block editor, with the AI Blog Writer panel showing provenance,
warnings, sources, and single-section rewrite.

## Installation

 1. Copy the plugin directory into `/wp-content/plugins/` and activate it.
 2. Open **AI Blog Writer  Settings**.
 3. Choose a provider and model, enter its API key, save, and test the connection.
 4. Open **New article**, review the acknowledgement, and create a draft.

For strongest secret isolation, define this in `wp-config.php` instead of saving
a key:

    ```
    define( 'AIBCG_OPENAI_API_KEY', 'your-key' );
    ```

For other providers, use `AIBCG_ANTHROPIC_API_KEY`, `AIBCG_GOOGLE_API_KEY`, or `
AIBCG_XAI_API_KEY`.

Saved keys are encrypted with Sodium using `AIBCG_ENCRYPTION_KEY`, or `AUTH_KEY`
if undefined. Define a stable `AIBCG_ENCRYPTION_KEY` so rotating `AUTH_KEY` does
not invalidate saved keys.

Generation runs as resumable WP-Cron stages. See the FAQ for sites with low traffic
or `DISABLE_WP_CRON`.

## FAQ

### Does it publish automatically?

No. Every successful generation creates a draft.

### Does it search the web automatically?

No. The plugin extracts only the URLs supplied by the user.

### Do I need a paid account with the plugin author?

No. The plugin is bring-your-own-key only. You pay your chosen AI provider directly,
and the plugin stores no billing data.

### What remains if I deactivate it?

Generated posts remain normal editable WordPress blocks. Deactivation does not delete
posts or plugin data.

### Does it work on low-traffic sites or with WP-Cron disabled?

Yes. WP-Cron runs on site requests, and the job screen checks status every few seconds,
so stages advance while it is open. If you leave, the job continues on the next 
site request. With `DISABLE_WP_CRON`, stages advance only when a server scheduler
calls `wp-cron.php`; run it every minute. Administrators can also run one stage 
with `wp aibcg job run <job-id>`.

### Does it work with Rank Math?

Yes. When Rank Math is active, the editor sidebar can apply the suggested meta title,
meta description, and focus keyword to it. Values you already set in Rank Math are
kept unless you choose to replace them.

### Does it support multisite?

Yes. Activate it per site or network-wide. Network activation sets up every site,
including sites created later. Each site keeps its own API keys, settings, jobs,
and writer profiles.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Luis Rita AI Blog Writer with Sources” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ luismrita ](https://profiles.wordpress.org/luismrita/)

[Translate “Luis Rita AI Blog Writer with Sources” into your language.](https://translate.wordpress.org/projects/wp-plugins/luis-rita-ai-blog-writer)

### Interested in development?

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

## Changelog

#### 1.0.1

 * Fix: editors can now save writer profiles. They link a profile to an existing
   Author account; administrators can also create a new author account or link an
   existing one.
 * New author accounts get hyphenated logins instead of logins with spaces.
 * Add Documentation and Support links to the plugin’s row on the Plugins screen.
 * Link the plugin’s homepage to sourcedwriter.com.

#### 1.0.0

 * Initial public release.
 * Bring-your-own-key drafting with OpenAI, Anthropic, Google, and xAI models.
 * Delegated and Guided workflows with user-supplied sources, outline review, and
   provenance.
 * Writer profiles linked to WordPress author accounts.
 * Optional Rank Math metadata integration.
 * Usage tracking with optional estimated cost ceilings.
 * Retention cleanup, privacy export and erasure, and opt-in data removal on uninstall.
 * Single-site and network activation support.

## Meta

 *  Version **1.0.1**
 *  Last updated **22 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [AI content generator](https://wordpress.org/plugins/tags/ai-content-generator/)
   [AI writer](https://wordpress.org/plugins/tags/ai-writer/)[Blog Writer](https://wordpress.org/plugins/tags/blog-writer/)
   [citations](https://wordpress.org/plugins/tags/citations/)[seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/luis-rita-ai-blog-writer/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/luis-rita-ai-blog-writer/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/luis-rita-ai-blog-writer/reviews/)

## Contributors

 *   [ luismrita ](https://profiles.wordpress.org/luismrita/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/luis-rita-ai-blog-writer/)