How to Rewrite Old Blog Posts With AI, in Place: Pick the Level, Check the Facts, Read the Diff

By Maximilien Labadie. Published . Last updated .

To rewrite old blog posts with AI and keep what they have already earned, refresh them in place: keep the URL, choose how much the model may change, let it check the figures against the live web, and read the changes in a diff before you approve them.

On 2026-09-02, nine of the ten related searches Google.com suggested in the US for this query were for article rewriters and paraphrasers, and Google answered it with an AI Overview drawing on five sources before the first organic result. A paraphraser changes the words of a post. An old post usually needs its facts changed.

In place or somewhere else: the choice that decides what an old post keeps

Where the new text lives decides what the old post keeps: its address, the links pointing at it, and a way back.

Three ways to give an old post new text, and what each one keeps
ApproachWhere the new text livesThe old URLFigures checked against the live webYou review the changes firstWay back
Repurpose it into new formatsA carousel, a script, an emailUntouched, and just as staleOnly if you do itNot applicableNothing to undo
Paste it into a chat assistantBack in the editor, by handKept, if you paste carefullyDepends on the assistant and on youOnly if you compare the two yourselfWordPress revisions
Refresh it in place, with reviewThe same postKeptThe main claims before the rewrite, the new figures after, with the sources foundA side-by-side diff, by defaultRestore, then revisions

Repurpose old blog posts into a carousel or an email and you gain new material, but the page that ranks keeps its outdated figures, on the URL readers still land on.

A chat assistant lets you keep the same URL if the result goes back into the post it came from, but the trip back is yours: headings, links, embeds and shortcodes to check by hand, and to rebuild when they break. A paraphraser only rewords, and the facts stay stale.

The third row is what Unstale does when you rewrite an old post with AI; the sections below show what each cell rests on.

Four levels of change, from a light pass to a new outline

When you rewrite old blog posts, the level sets how far the model may go and what it is told to leave alone.

What each level may change, and what it is told to keep

The last column holds instructions to the model, not locks in the code.

What each refresh level may change, and what the model is told to keep
LevelWhat it may changeWhat it is told to keep
MinimalTypos, outdated facts, internal linksYour structure, headings, tone and wording
BalancedAlso the copy for today's search intent, short missing passages, lists and tables where prose hides them, meta title and description, structured data, key-takeaway boxesYour heading structure, tone, and the claims the fact-check confirmed
Strong (Pro)Also tighter copy for the reader it targets, the secondary queries covered, a TL;DR, and calls to action and a short quiz when the post allows themYour heading structure, your sections, and the way you address the reader
Maximal (Pro)Also the outline itself: sections reordered, merged, split, added or droppedThe promise of the title and the facts worth keeping

At every level, the model is told to bring a year that only dates the text up to the current year, and to leave the year of an event alone.

A 1,200-word post runs $0.02 to $0.14 at Minimal and $0.09 to $0.85 at Balanced, from the cheapest model in the catalogue to the dearest. Those estimates are set on the high side from real runs with Anthropic and Google models, your provider bills actual usage, and the block under the editor shows the estimate for your own post and model on each level before you run it. Other lengths and models get their own page: what it costs per article. The steps each level runs are in the docs.

Unstale block under the WordPress editor showing the four refresh levels, Minimal, Balanced, Strong and Maximal, with the estimate for this post

Strong and Maximal, when the writing or the outline is the problem

An AI rewrite at Strong is told to rework the prose for the post's reader and to keep its headings and sections in order. Maximal alone is told to rebuild the outline: it fits a post whose topic holds but whose outline no longer matches what searchers expect, not one that ranks. Both levels come with Unstale Pro.

Which level for which post

A post that still ranks gets Minimal; one that is sliding gets Balanced. Strong waits until the writing is the problem, Maximal until you have decided the outline is. Sorting old blog posts into those groups comes first, in the main guide: refresh old WordPress posts. When a rewrite costs positions, look first at whether the outline and the direct answers survived it, whoever wrote it. More on that risk: will AI rewriting hurt rankings.

What the AI checks against the live web, and what it cannot

It checks the most important claims in your post before it rewrites anything, then checks the new figures the rewrite put in the text, and links each correction to the source it found.

Before the rewrite: the main claims already in the post

Before an AI rewrite, the fact-check reads the original post and is told to search the web for its factual claims (numbers, prices, dates, versions, feature lists, statistics, names), official sources first, prioritizing four to twelve of them, not the whole post. Each comes back correct, outdated or unverifiable, with a link to the source when one was found, and the rewrite is told to apply only the outdated corrections. The searches use your connected provider's web search tool, requested through WordPress; Unstale has no search engine of its own. From Balanced up, a research step is also told to study what ranks today for the post's main keyword.

After the rewrite: the new figures in the text

Outdated figures are often the reason to refresh old posts at all, and a figure the rewrite adds deserves the same scrutiny. A second check takes the passages of the post body holding a figure the original lacked, up to twelve passages and roughly 400 words, and searches again. When no figure was added, it calls no model, costs nothing, and the block under the editor says so. The post title, meta fields and structured data skip this check.

What no source confirms

An original claim no source confirms is counted in the Unstale block, not corrected. A new figure no source confirms is flagged "No source confirms this.", and one found outdated is flagged with a correction. Neither is changed for you: reject the refresh, or approve it and fix the sentence in the editor. One limit matters on old blog posts full of numbers: a new figure whose value already appeared elsewhere in the original is not sent to this second check. Your provider prices the searches: the estimate counts them, the cost logged afterwards does not, because the provider plugins did not report them as of 2026-09-05. Rates are in the docs.

Unstale review block counting the claims checked against the web and the new figures the refresh added, shown when you rewrite old blog posts with AI, before anything is approved

What the rewrite leaves alone, and what changes when it goes live

When you rewrite old blog posts in place, you keep the same URL and five other things, within these limits:

  • The URL and the slug. Publishing writes the content, never the address.
  • The post title, except a year that only dated it, from Balanced up.
  • Your shortcodes, in the block or classic editor and in SeedProd. The model never sees them, and if one goes missing, nothing is published.
  • Your Elementor, Divi or SeedProd layout. The text is taken from the builder's own data, rewritten and put back where it was.
  • Your revision history. With revisions turned on, the version from before the refresh stays there to walk back to.
  • Text you edited meanwhile. If the post content changed after the refresh started, publishing refuses.

Three things do change. First, the publish date. On default settings, when the refreshed post goes live, its date becomes that moment minus a random offset of up to an hour, and the post rises among the newest on the blog. The plugin stores the original date but does not show it on your post. With WordPress's own date tags in your permalinks the date stays put, and the block under the editor says what will happen to it before you run anything. To keep the original date, untick "Update the publish date when a refreshed post goes live" under Republication in the Unstale settings. Whether to move it is its own question: changing the publish date.

Second, from Balanced up, the refresh replaces the meta title and meta description, in your SEO plugin's fields when one is active, even values edited while it waited for review. Third, publishing strips HTML that WordPress does not allow in a post, and by default iframes from hosts other than YouTube, Vimeo and Dailymotion; the text diff does not show those removals. Builder and SEO plugin support is in the docs.

Approve, reject or restore: what each choice actually does

By default every rewrite waits for a person: you read a side-by-side diff, then approve it or reject it, and the latest published refresh can be undone from the editor as long as the post has not been edited or refreshed again since.

Approve is where you read the changes before they go live, the part of rewriting old posts that stays yours. The review queue shows current and proposed content side by side, below whatever else the refresh proposes: post title, meta fields, structured data, internal links. The diff compares rendered text: reworded sentences, new or moved paragraphs and prose turned into a list show; a heading level changed with the same words, bold text or a removed embed do not. Approving or rejecting takes Editor or Administrator rights by default, and the proposal cannot be edited in the queue. That human in the loop is the default, not a lock: automatic publishing, off until you turn it on, skips this step.

Side-by-side diff of an old post refreshed at the Balanced level, current content on the left and proposed content on the right

Reject leaves the post as it was and keeps the proposal on record. It does not cancel the bill: your provider charges each step once it runs, and Unstale's journal lists the rejected refresh with its cost.

Restore is a link, "Restore the previous version", in the Unstale block under the editor, shown while the published refresh is the post's latest; a later refresh, even rejected or failed, removes it. It opens a confirmation screen listing what comes back: the text, plus the publish date and the SEO fields the refresh changed, unless someone changed them since. There is no time limit, but once the post content differs from what Unstale published, Restore refuses and points you to the WordPress revision history. Outside Elementor and SeedProd, it also needs revisions turned on.

What to look at before approving is in a refresh checklist.

Questions people ask before rewriting old posts with AI

Can I rewrite old blog posts with AI for free?

The plugin is free on wordpress.org and runs Minimal and Balanced. The AI usage is another matter: your provider bills each run to the account connected on your site, and Unstale bills none of it. Strong and Maximal require Unstale Pro and an active license, priced on the pricing page.

Will the AI rewrite my whole post?

Only Maximal is told to rebuild the outline. Strong is told to rewrite the prose end to end but to keep headings and sections, and Minimal and Balanced are told to keep the heading structure. Those are instructions, not code locks on the outline, and the diff shows how the wording changed.

Which level should I use on a post that still ranks?

Minimal. It leaves the post title and SEO fields alone and is told to apply the fact-check's outdated corrections while keeping structure, headings and tone. The publish date still moves by default at every level, unless you turn that off in the Unstale settings. Why a rewrite can lose positions: will AI rewriting hurt rankings.

Does my content or my API key pass through Unstale?

No. WordPress 7.0 routes each request to the provider you connected in Settings > Connectors, and WordPress keeps the key, not Unstale. Beyond those requests, Unstale's only outbound calls, for the model catalogue and, in Pro, the license and updates, carry no post content. See the Make WordPress Core note of 2026-03-24 and our privacy page.

What happens if I edit the post while the rewrite waits for review?

If you change the post text, your version stays: publishing refuses and asks for a new refresh, and the review queue warns you first. A post title you changed is not overwritten either. From Balanced up, though, a meta title or meta description you changed meanwhile is replaced on publication.

Try it on one post that has aged

Pick one post whose figures have aged, run it at Minimal, and read the diff before you decide anything else. The levels are compared in full in the docs.

About the author

Maximilien Labadie is an SEO consultant, the editor of webandseo.fr, and the developer of Unstale. He has made a living from his online projects since 2010, launched webandseo.fr in 2012, and founded SEOPepper, a link-building agency. He also created Formation Affiliation, an affiliate marketing course with more than 80 videos across 8 modules. Clients of his Web & SEO agency include online stores and site publishers; according to the published case study, a sports nutrition store went from 1,687 to 16,440 visits in 18 months, as estimated by Ranxplorer. His business is rated 4.8 out of 5 from 47 reviews on Trustpilot (Academie Web & SEO, September 2026), posted between May 2021 and October 2024.

Everything described on this page comes from building and running the thing: the plugin is published on wordpress.org and passed its review on 2026-08-01, the screenshots are taken from a real installation rather than a mockup, and a measured case study is currently running on the author's own site.