WP Manifestindependent plugin directory
manifest / ai / wordpress-ai-blog-writer

Dicecodes AI Blog Writer

Free, open-source AI blog writer for WordPress. Bring your own API key - no subscription, no credits, no middleman. Researches first, writes in your voice, checks its own work, and scores every post before it publishes. Works with OpenAI, Gemini, Claude, Groq, Ollama and more.

by Dicecodes · github.com/iamramgarhia/wordpress-ai-blog-writer · website

1stars
2release downloads
0forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/iamramgarhia/wordpress-ai-blog-writer/releases/download/v0.62.0/blogcraft-0.62.0.zip

Readme

Dicecodes AI Blog Writer — free AI writer & SEO content generator for WordPress

Write blog posts inside WordPress with your own API key — no subscription, no credits, no middleman.

Research, draft, self-critique, rewrite and score — twelve steps inside your own WordPress, billed to your own AI account at your provider's own rates.

It has no AI of its own and no server of its own. You paste a key from a provider you already use, and every request goes straight there. Nothing routes through anybody else, so there is no markup, no credit balance and no per-post fee.

It reads current sources before writing, drafts in a voice you describe, reads its own work back, rewrites what it found wrong, and measures the finished draft against twenty-five checks — which you see, with the score, before anything becomes a post.

Looking for: a free AI writing plugin with no monthly subscription · an AI content generator that uses your own OpenAI or Gemini key · a self-hosted alternative to credit-based AI writers · a way to run AI blogging on a local model with no key at all? That is what this is.

Download Now  |  Documentation  |  Quick Start  |  How It Works  |  FAQ  |  Report Bug  |  Request Feature


📦 Install

From a release zip

  1. Download the latest dicecodes-ai-blog-writer-x.y.z.zip from Releases.
  2. In WordPress: Plugins → Add Plugin → Upload Plugin.
  3. Choose the zip, install, activate.

Install through Upload Plugin, not by extracting the zip by hand. WordPress reads the folder name from inside the archive, so uploading replaces a previous version cleanly. Extracting manually creates a second folder, and two copies of the same plugin is a fatal error on activation.

From source

git clone https://github.com/IamRamgarhia/wordpress-ai-blog-writer.git
cd wordpress-ai-blog-writer
composer install --no-dev

Move the folder into wp-content/plugins/ and activate it.

Requires WordPress 6.0+ and PHP 7.4+. Tested to WordPress 7.1 and PHP 8.5.

Full documentation, with a setup walkthrough and every check explained: dicecodes.com/ai-blog-writer


⚡ Your first post in 5 minutes

Three things decide whether the first post is any good. The plugin opens a setup screen on activation and asks for them in order.

1. Connect a provider

Settings → Connect a provider. Choose who you have an account with, paste the key, save. The model list is then read from your own account, so you pick from what your key can actually use rather than typing an id from memory.

The list is grouped by what it costs, free first, because spending nothing is a supported way to use this plugin rather than a trial of it.

Group Who is in it What you need
Free — on your own machine Ollama · LM Studio · Jan · llama.cpp Nothing. No account, no key, and nothing leaves the machine
Free tier — a key, no card Google Gemini · Groq · Mistral · Hugging Face · OpenRouter's :free models An account and a key
Free credits, then paid Cerebras An account
Paid OpenAI · Anthropic · xAI · DeepSeek · Moonshot · Together · Fireworks An account with billing

Nothing is held back on a free provider. There is no paid tier here to unlock.

2. Say who you write for

Settings → Describe your voice. Two sentences on the subject and the reader. This is sent with every request and is the single biggest reason two blogs using the same model do not read the same. Already have posts published? It can read them and describe your voice for you.

3. Say what only you know

On the Write screen, one field asks what you know that nobody else does — a number you measured, a price you paid, what went wrong when you tried it. It is the heaviest check on the finished post and the only part of a page a model cannot produce.

Stuck? A button reads your topic and asks you four specific questions instead. It never answers them for you: invented facts are exactly what that field exists to avoid.


🎯 Why choose this plugin

This plugin Typical paid AI plugin
Cost of the plugin Free, GPLv2 Subscription or credits
Who bills you Your AI provider, directly The plugin vendor, with a markup
Where your content goes Your provider only Through the vendor's servers
Locked features None. There is no pro tier Usually
Runs on a local model Yes — Ollama, LM Studio, Jan, llama.cpp, no key Rarely
Source All of it, public Usually closed
Telemetry None Varies
Scores what it wrote 25 checks, shown before publishing Varies

Every line there is a fact about how the plugin works. No plugin can promise you rankings, and this one does not try.


⚙️ How it writes

Twelve steps, one provider call each, driven from your browser so it works on hosts where WP-Cron is unreliable.

flowchart LR
    A[Research] --> B[Outline]
    B --> C[Draft]
    C --> D[Sections]
    D --> E[Questions]
    E --> F[Extras]
    F --> G[Critique]
    G --> H[Revise]
    H --> I[Verify]
    I --> J{{You read it}}
    J --> K[Publish]
    K --> L[Pictures]
    L --> M[Linking]
Step What happens
Research Reads current sources, if you switched any on
Outline Plans the title, description, address and sections
Draft Writes the opening
Sections Writes each section, one call per section
Questions Answers what readers actually ask
Extras Any optional blocks you asked for
Critique Reads its own draft back and measures it
Revise Fixes what the critique and the measurements found
Verify Checks every link resolves, scores the result
Publish Creates the post
Pictures One image per step, never all at once
Linking Points older posts at this one, tells the crawlers

You watch it happen, then read the finished draft and its score before anything becomes a post.


✅ What it checks

Twenty-five measurements on every finished draft, each reporting what it found against what you asked for.

Shape

  • Length against target
  • Section count
  • Heading order, no skipped levels
  • Paragraph and sentence length
  • Reading ease

Voice

  • Banned phrases
  • Em dashes
  • Passive voice
  • Excluded terms

Search

  • Title length and subject placement
  • Subject in the first 100 words
  • Subject in the address and description
  • Keyword density
  • Internal and external links
  • Image alt text

Substance

  • Your own figures used
  • Claims with something to check them against
  • Whether it merely restates its sources

Failures come with an instruction the rewrite can act on. Where a failure is about your site rather than the writing — too few internal links, say — it says so instead of pretending a rewrite would fix it.


🔌 Works with

Providers: OpenAI · Anthropic · Google Gemini · xAI · Groq · DeepSeek · Moonshot · Mistral · OpenRouter · Together · Fireworks · Cerebras · Hugging Face · Ollama · LM Studio · Jan · llama.cpp · any OpenAI-compatible endpoint · the WordPress AI Client

SEO plugins: Yoast SEO · Rank Math · SEOPress · All In One SEO — it fills their title and description fields automatically. With none installed it writes the description and sharing tags itself.

Editors: Real Gutenberg blocks, every paragraph and heading editable. On a Classic Editor site it writes plain HTML instead.

Pictures: Pollinations (no key) · Pexels · Pixabay · fal.ai · OpenAI · Gemini · Grok. Paid services are only used when you pick one, never as a fallback.


💰 What it costs

Nothing to the plugin. Your provider charges you at their rates, and the Write screen estimates the tokens before you spend them. A monthly token cap stops generation once reached.


🔒 Data privacy & security

  • Your key is encrypted in the database and never written to logs, error messages or the screen.
  • Nothing is contacted until you switch it on. Every research source is off by default.
  • No telemetry, no phone-home, no analytics. The plugin never contacts us, because there is no us to contact.
  • Deleting the plugin leaves your settings and posts alone unless you tick the box asking for them to be removed.
  • Posts are ordinary WordPress posts from the moment they are created, and stay whatever happens to this plugin.

🤔 Frequently asked questions

Is it really free?

The plugin is, entirely, under GPLv2. There is no pro tier and nothing is locked. The AI is billed to you by whichever provider you choose, and several have free tiers large enough to write with.

Do I need a paid API key?

No. The provider list is grouped by cost with the free routes at the top.

Nothing to pay, nothing to sign up for: Ollama, LM Studio, Jan and llama.cpp each run a model on your own machine. Pick one, leave the key blank — the address is already filled in. A model of around seven billion parameters writes a readable post on an ordinary laptop.

A key but no card: Google Gemini, Groq, Mistral and Hugging Face give away usage at no cost. OpenRouter lists models that are free to call — on OpenRouter those are the ids ending in :free.

Every feature works the same on any of them. Allowances move on each provider's schedule, so the settings screen links to their own page for the current figure rather than repeating a number that would go stale.

Will my posts rank on Google?

Nobody can promise that, and this plugin does not. What it does is measure the things that are checkable — structure, substance, internal links, whether the page says anything only you could have written — and tell you plainly what is working against a post.

Does it disclose that AI was involved?

Yes, by default, in the byline. Google asks that automation be disclosed. You can change the wording or switch it off.

Does it work with Yoast or Rank Math?

Yes. It detects Yoast, Rank Math, SEOPress and All In One SEO and fills their title and description fields. With none installed it writes the description and sharing tags itself.

Are the posts real Gutenberg blocks?

Yes. Every paragraph, heading, list and table is a proper block, editable normally rather than arriving as one unopenable lump. On a Classic Editor site it writes plain HTML instead.

Can it publish automatically?

It can, on a schedule you set, with a daily cap. It is off by default, and posts are saved as drafts unless you say otherwise.

What happens to my data if I delete the plugin?

Nothing, by default. Your settings, writing rules and posts stay exactly where they are — install it again and everything is as you left it. There is a box in Settings if you do want it all removed, and ticking it is the only confirmation there will be.


🛠️ Contributing

Issues and pull requests are welcome.

composer install
composer lint          # PHPCS, WordPress Coding Standards
npx wp-env start
npx wp-env run tests-cli --env-cwd=wp-content/plugins/blogcraft -- vendor/bin/phpunit

Documentation for the plugin itself lives at dicecodes.com/ai-blog-writer.

The test suite is the specification. Every fix here ships with a test that fails without it, and the commit message says what went wrong and why the fix is shaped the way it is.


💬 Support


Built by DiceCodes · GPL-2.0-or-later · LICENSE

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v0.62.0 Aug 27, 2026 blogcraft-0.62.0.zip 2
v0.60.0 Aug 27, 2026 blogcraft-0.60.0.zip 0
v0.59.0 Aug 27, 2026 blogcraft-0.59.0.zip 0