Linux 软件免费装
Banner图

Unstale - Refresh Old Posts with AI, Fact-Check & Republish

开发者 webandseofr
更新时间 2026年8月23日 18:10
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

republish content-refresh evergreen-content old-posts fact-check

下载

1.1.3 1.0.4 1.2.0 1.0.7 1.1.0 1.0.3 1.3.1 1.0.5 1.1.1 1.0.0 1.0.1 1.0.6 1.1.2 1.3.0 1.3.2 1.4.0 1.4.1 1.0.2 1.4.2

详情介绍:

Your best posts stopped bringing traffic. Not from a penalty: the prices, the statistics and the year references inside them grew outdated while fresher pages took the rankings. A content refresh fixes that, and Unstale runs one with real AI, through the AI provider you already connected to WordPress. Point it at a published post. It reads the post, searches the live web, checks every figure and price against what it finds, rewrites the text, updates the SEO metas, adds internal links, and hands you the result as a diff to approve. Then it republishes with a fresh date, without breaking your URLs. What one content refresh actually does Find out what has gone stale, for free Knowing a refresh works is one thing. Knowing which of your 400 posts needs one is another. The Content health screen lists your published content that has not been updated in a while, oldest first, split into three age ranges so you can see how much of your archive has drifted. It reads nothing but your own database, so looking costs you nothing and needs no AI provider connected. When you are ready, select what you want from that screen and send it off in one batch. Unstale shows the total your provider will bill before anything starts, and names anything it left out of the batch along with the reason. You keep the keys, and you keep the bill Since WordPress 7.0, providers and credentials live in Settings > Connectors and are managed by WordPress itself. Unstale uses whatever you set up there, so this plugin stores no API key of its own and never sees your credentials. Your WordPress talks to that provider directly. Your content, published or draft, never passes through our servers. We do not see it. You pay your provider directly, at its own rates, and nothing to us per refresh. No credits, no monthly quota, no cap on how many old posts you refresh. Unstale shows an estimated cost before each launch and logs the real one after. Nothing goes live without you Every refresh waits in a review queue with a side-by-side diff of the current post and the proposed one. You approve it or you discard it. An optional full-auto mode exists for people who want it, off by default. Approved changes are applied as a normal WordPress revision, so one click rolls them back when revisions are enabled on your site. Republishing that does not break your URLs Republishing plugins usually warn you not to use them when your permalinks contain the post date, because bumping the date moves the URL. Unstale skips the bump automatically when your permalink structure uses the core date tags. To keep dated URLs and still refresh the date, switch to the %unstale_year%, %unstale_monthnum% and %unstale_day% tags: they freeze the original date in the URL for good. Republication also carries position control, randomized timing, allowed days and time windows. Works with what you already run Unstale fits the stack you have instead of asking you to change it, and none of this needs a setting: it detects what is active and adapts. What Unstale does not do It does not write new articles. It works only on posts you already published, which is the point: the traffic is easier to win back on an evergreen post that once ranked than on a new one nobody has read. It does not read Search Console and does not rank your archive by traffic lost, so you choose which old posts to refresh, one by one or in batches from the Content health screen. And there is no account to create anywhere. Two refresh levels are free: Minimal and Balanced, and so is sending a batch off from the Content health screen. The Strong and Maximal levels, scheduled automation and per-category rules are part of Unstale Pro. Automation of the free levels is available through the REST API (unstale/v1) and WP-CLI (wp unstale refresh). Unstale is developed by Web & SEO Ltd, the company that owns and operates unstale.ai.

安装:

  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.

屏幕截图:

  • Side-by-side diff before approval
  • Review queue with per-job actions
  • Settings: connected AI provider and model cards
  • Journal: every refresh with its token counts and real cost

升级注意事项:

1.4.1 Small but worth taking. The bundled catalogue no longer expects a September price rise on Claude Sonnet 5 that was cancelled, and Unstale Pro's licence key can be entered from Settings rather than only from its own menu. 1.4.0 Recommended for everyone. Elementor, Divi and SeedProd pages refresh without a warning, All in One SEO sites finally receive the title and description they paid for, and the cost shown before a refresh on Google models is no longer about fifteen times too high. 1.3.2 Required if your site runs PHP 8.1: every earlier version stops on one of its own files there and the plugin cannot run at all. Nothing changes on PHP 8.2 and above. 1.3.1 A SeedProd page refreshed in the builder only now says so in the journal, instead of looking like a refresh that did nothing. 1.3.0 Adds SeedProd pages to what a refresh can handle, alongside Elementor and Divi. A page using SeedProd Pro blocks is refreshed in the builder and left untouched online until you save it there. 1.2.0 Fixes a bug that made Elementor and Divi pages impossible to refresh, and one that could publish a long article with a hole in the middle. Adds Elementor and Divi pages to what a refresh can handle.

常见问题:

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.08 on the cheapest model in the catalogue to roughly $0.62 on the dearest, 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 lower: on the cheapest model, measured runs land around two cents. Models whose provider grants a monthly allowance of free web searches are estimated with that allowance applied, and the confirmation screen says so. A site that refreshes enough articles in one month to exhaust the allowance will pay for the searches beyond it, which the estimate does not yet track. 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.

How is this different from a plugin that just changes the publish date?

A date bump moves an old post back to the top of your feeds, but the text stays exactly as outdated as it was. Unstale rewrites the content first: it researches the subject on the live web, corrects the figures and prices that aged, updates the metas and the internal links, and only then republishes. The date bump is the last step of the job, not the whole job.

Can I try it on a single post before touching my archive?

Yes, and that is the default path. The Posts list has no bulk action: you refresh one post at a time, review the diff, and approve or discard. Nothing sweeps your archive unless you ask for it, either by ticking the posts you want on the Content health screen, from WP-CLI (wp unstale refresh --all, which asks you to confirm first, because every job spends money at your provider), or through the scheduled rules in Unstale Pro.

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.

Does it work with my page builder, my SEO plugin and my cache plugin?

Page builders: Elementor, Divi and SeedProd. The refresh rewrites the text inside the page the builder already built, so nothing about your layout moves. Unstale asks you to confirm before refreshing any builder-built page, whichever builder it is, so nothing is ever rewritten behind your back. SEO plugins: Yoast SEO, Rank Math, All in One SEO and SEOPress. The meta title and description go into their own fields, and Unstale stops emitting its own structured data so you never get two Article schemas on one post. With no SEO plugin, Unstale writes both itself. Cache plugins: WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache, WP Fastest Cache and SG Optimizer. Only the refreshed post is purged, never your whole cache. A cache or CDN outside that list plugs onto the unstale_purged action. None of it needs configuring: Unstale detects what is active on your site and adapts.

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.7 Flash, with pricing and ratings to help you choose. All three are generally available, so the model you pick is the model that runs; if the catalog ever marks one as preview, Unstale runs its fallback 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.

更新日志:

1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.0 1.1.3 1.1.2 1.1.1 1.1.0 1.0.7 1.0.6 1.0.5 1.0.4 1.0.3 1.0.2 1.0.1 1.0.0