Title: Unstale &#8211; AI Content Refresh, Rewrite &amp; Republish for SEO
Author: Maximilien Labadie
Published: <strong>August 2, 2026</strong>
Last modified: August 2, 2026

---

Search plugins

![](https://ps.w.org/unstale/assets/banner-772x250.png?rev=3631830)

![](https://ps.w.org/unstale/assets/icon-256x256.png?rev=3631830)

# Unstale – AI Content Refresh, Rewrite & Republish for SEO

 By [Maximilien Labadie](https://profiles.wordpress.org/webandseofr/)

[Download](https://downloads.wordpress.org/plugin/unstale.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/unstale/#description)
 * [Reviews](https://wordpress.org/plugins/unstale/#reviews)
 *  [Installation](https://wordpress.org/plugins/unstale/#installation)
 * [Development](https://wordpress.org/plugins/unstale/#developers)

 [Support](https://wordpress.org/support/plugin/unstale/)

## Description

Old posts lose rankings. Unstale refreshes them with real AI, through the provider
you already connected to WordPress:

 * **Real AI in the free plugin.** Analysis, live web research, fact-checking of
   numbers and prices, rewrite, SEO metas, JSON-LD when no SEO plugin already emits
   it, key-takeaway callouts.
 * **No credits, no quota.** Unstale sells you nothing per refresh. You pay your
   AI provider directly, at its own rates. Unlimited refreshes.
 * **Your content never touches our servers.** Your WordPress talks to the AI provider
   you connected, directly. We never see your content or your credentials.
 * **Nothing to configure twice.** Since WordPress 7.0, providers and credentials
   are managed by WordPress itself in Settings > Connectors. Unstale uses whatever
   you set up there, so no API key is ever stored by this plugin.
 * **Review queue with a side-by-side diff.** Nothing is published without your 
   approval (an optional full-auto mode exists). Native WordPress revisions give
   you one-click rollback when revisions are enabled on your site.
 * **Internal linking.** Each refresh adds up to 10 relevant internal links with
   natural, varied anchors, one link per target page.
 * **SEO-safe republication.** Optional publish-date bump with position control,
   randomized timing, allowed days and time windows. Stable dated permalinks via
   the %unstale_year%, %unstale_monthnum% and %unstale_day% permalink tags.
 * **Full journal.** Every step, token count and cost is logged per article.
 * **Automation-ready.** REST API (unstale/v1) and WP-CLI (wp unstale refresh) included.

Two refresh levels are free: Minimal (typo fixes, fact-check, internal links, date
bump) and Balanced (everything in Minimal plus SEO essentials: optimized metas, 
JSON-LD, callouts, readability). The Strong and Maximal levels, scheduled automation
and bulk rules are part of [Unstale Pro](https://unstale.ai/).

Unstale is developed by [Web & SEO Ltd](https://www.webandseo.fr/), the company 
that owns and operates unstale.ai.

### External services

This plugin relies on one external service.

#### The Unstale model catalog (unstale.ai)

What it is: a public, static JSON file at https://unstale.ai/api/v1/models.json 
listing the supported model ids, their prices per million tokens and their notes.
It exists so that a new provider model becomes available in your settings without
waiting for a plugin update, and so the plugin can show you a cost estimate before
each refresh.

What is sent, and when: nothing but the HTTP request itself. It is an unauthenticated
GET, fired by a single scheduled task once every 24 hours. No content, no credentials,
no personal data, no site identifier is transmitted, and there is no manual refresh
button that could trigger it more often. If the request fails the plugin keeps using
the catalog bundled in the plugin files.

This service is provided by Unstale: [Terms](https://unstale.ai/terms), [Privacy](https://unstale.ai/privacy)

#### A note on AI providers

Unstale does not contact Anthropic, OpenAI or Google itself and declares none of
them as its own external service. Prompts are handed to the WordPress AI Client,
which routes them to the provider you connected in Settings > Connectors. That provider,
its terms and its billing are the relationship between you and them, set up in WordPress
and not in this plugin.

## Screenshots

[⌊Review queue with per-job actions⌉⌊Review queue with per-job actions⌉[

Review queue with per-job actions

[⌊Side-by-side diff before approval⌉⌊Side-by-side diff before approval⌉[

Side-by-side diff before approval

[⌊Settings: connected AI provider and model cards⌉⌊Settings: connected AI provider
and model cards⌉[

Settings: connected AI provider and model cards

[⌊Cost estimate before launching a refresh⌉⌊Cost estimate before launching a refresh⌉[

Cost estimate before launching a refresh

## Installation

 1. Install and activate the plugin. WordPress 7.0 or newer is required.
 2. Go to Settings > Connectors and connect an AI provider if you have not already.
    Unstale will tell you if none is connected.
 3. Go to Unstale > Settings, pick a default model and refresh level.
 4. In the Posts list, click “Refresh with Unstale” on any published post. Review the
    estimated cost, confirm, then approve the proposed rewrite in Unstale > Review 
    queue.

## FAQ

### How much does a refresh cost?

You pay your AI provider directly, per token. Unstale shows an estimate BEFORE each
launch and logs the real cost after. For a 1000-word article at the Balanced level
the estimate runs from roughly $0.50 to $1.50 depending on the model you pick. That
estimate bounds the worst case (it assumes every web search the level allows is 
spent), so the cost logged after the run is usually lower.

Web search fees are part of the estimate but only appear in the logged cost when
your provider reports how many searches it ran. WordPress does not standardise that
number, so the logged cost can understate searches on some providers.

### Does my content go through your servers?

No. WordPress calls the provider you connected, directly. The only request to unstale.
ai is the public model catalog (no content, no personal data).

### Which API key does it use?

None of its own. Since WordPress 7.0, credentials live in Settings > Connectors 
and are managed by WordPress. Unstale never sees, stores or transmits them. If you
used an older version of this plugin, the API keys it had stored are deleted automatically
when you update.

### Can it publish without my approval?

Not by default. Every refresh waits in the review queue with a side-by-side diff.
You can enable full-auto publishing in the settings if you want it.

### My permalinks contain the post date. Will the date bump break my URLs?

No: the bump is skipped automatically when your permalink structure uses the core
date tags. To keep dated URLs AND bump dates, switch your structure to the %unstale_year%,%
unstale_monthnum% and %unstale_day% tags: they freeze the original date in the URL
forever. If you deactivate Unstale later, the plugin automatically restores the 
core date tags so your site keeps routing (posts whose date was bumped will then
use the bumped date in their URL). Deleting the plugin files manually without deactivating
skips that safety net: re-save your permalink structure in that case.

### Which models are supported?

Whichever models the provider you connected exposes. Unstale ships model cards for
Claude Sonnet 5 (default), GPT-5.6 Terra and Gemini 3.5 Flash, with pricing and 
ratings to help you choose. GPT-5.6 Terra is still in limited preview: if you pick
it, Unstale runs GPT-5.5 instead and states the substitution on the model card and
in the job log. The catalog is updated remotely: when a provider ships a new model,
it appears in your settings without a plugin update.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Unstale – AI Content Refresh, Rewrite & Republish for SEO” is open source software.
The following people have contributed to this plugin.

Contributors

 *   [ Maximilien Labadie ](https://profiles.wordpress.org/webandseofr/)

[Translate “Unstale – AI Content Refresh, Rewrite & Republish for SEO” into your language.](https://translate.wordpress.org/projects/wp-plugins/unstale)

### Interested in development?

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

## Changelog

#### 1.0.0

 * Initial release: pipeline on the WordPress AI Client (analyze, web research, 
   fact-check, rewrite, enrich, internal links, cleanup, review, publish), review
   queue with diff, journal, SEO-safe republication, targeted cache purge, REST 
   API and WP-CLI.

## Meta

 *  Version **1.0.0**
 *  Last updated **15 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 7.0 or higher **
 *  Tested up to **7.0.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [AI](https://wordpress.org/plugins/tags/ai/)[content](https://wordpress.org/plugins/tags/content/)
   [republish](https://wordpress.org/plugins/tags/republish/)[rewrite](https://wordpress.org/plugins/tags/rewrite/)
   [seo](https://wordpress.org/plugins/tags/seo/)
 *  [Advanced View](https://wordpress.org/plugins/unstale/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/unstale/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/unstale/reviews/)

## Contributors

 *   [ Maximilien Labadie ](https://profiles.wordpress.org/webandseofr/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/unstale/)