Guide
Refresh your old Ghost posts instead of writing new ones
There is a move every experienced SEO operator learns eventually: the fastest way to grow traffic is usually not another new post, but fixing the dozens of decent posts you already have. Search engines reward freshness and depth, and a three-year-old article that once ranked has almost certainly drifted — the facts aged, the intro rambles, the internal links point at posts you have since rewritten, the meta description was an afternoon afterthought. Updating those posts in place, often called historical optimization or a content refresh, is some of the highest-return work in content marketing. The catch on Ghost is that doing it across a real archive is miserable.
Why the refresh stalls inside Ghost
The Ghost editor is built to write one post at a time, and a content refresh is the opposite shape of work: a consistent change applied across many posts at once. To refresh thirty posts by hand you open each one, scroll, re-read, tighten the intro, fix the dead links, rewrite the meta description, save, and move to the next — thirty times. There is no find-and-replace across your archive, no way to see all your weak meta descriptions in one list, and no way to point a capable AI assistant at the whole set and have it propose updates you then review. So the refresh that would move your numbers becomes a project nobody schedules.
Bring the archive somewhere bulk work is easy
The unlock is to stop treating your posts as rows in a CMS and start treating them as a corpus an AI can read all at once. Specter connects to your Ghost blog in the browser and brings every post into one workspace — body, title, tags, status, feature image, and excerpt all there — with nothing to install. If you haven’t connected yet, the first-sync guide covers pasting your Admin API key and pulling your archive in. Subscribe now and your workspace opens with 500 free credits.
With the whole archive in one place, a refresh becomes a recipe rather than a marathon. You decide which posts to target — perhaps everything older than two years, or a specific cluster on one topic — and the AI works the whole set together with your full site as context. The bottleneck moves from “open and edit each post” to “decide what good looks like and review the result,” which is the part of the job that actually needs you.
What a refresh recipe looks like
Specter isn’t an AI itself; it’s the workflow layer that runs the model across your archive and shows you every change before it ships. You give it a scoped instruction, and the art is in being specific about what to touch and what to leave alone. A useful first recipe might be:
For each post older than 2023, rewrite only the opening two paragraphs to lead with the reader’s problem and the current state of the topic. Keep all facts, keep my voice, and don’t touch anything below the first heading or any metadata.
Then a second, narrower recipe on metadata:
For every post, check the excerpt. Where it’s missing or generic, write a 150-character meta description that reflects what the post actually delivers and includes its main keyword. Leave strong existing excerpts alone.
You can layer in the jobs that pair naturally with a refresh: fixing or updating internal links across the archive so old posts point at your newer, better ones, and bulk SEO edits to titles and metadata. The general technique — scoping recipes, starting narrow, then scaling — is covered in editing Ghost posts with Claude. Browsing and reviewing are free; only the AI run spends credits.
Review the diff, then publish it
The reason this beats an auto-publishing AI tool is that nothing reaches your live blog until you’ve looked at it. After the recipe runs, you read the changes as a diff and keep what’s genuinely better — the whole value of a refresh is improving posts, not replacing your voice with generic filler that would quietly hurt the rankings you were trying to lift. Reviewing is free, and the diff shows exactly which posts would update on Ghost before anything goes live, so a careless recipe can’t silently overwrite forty posts. If a post changed in Ghost since the last sync, Specter prompts you about the conflict rather than picking a winner.
Every publish keeps a snapshot behind it, so reverting is a decision, not a recovery project. Then the loop is simple and safe: run the recipe, read the diff, publish. The posts that earned their rankings years ago get to keep earning them — and you did it in an afternoon instead of a quarter. Subscribe now →
Prefer to run this on your own machine, with the archive as .md files on disk and your own AI in the loop? The desktop and open-source edition does the same refresh locally.