Guide
Keep a real backup of your Ghost blog
Most people discover they have no backup the day they need one. A botched theme update, a hosting account that lapses, a migration that goes sideways, or simply a post you mangled and saved — and the version you wanted is gone. Ghost gives you an export, but it is a single JSON file that is awkward to read, easy to forget to run, and not something you would ever edit by hand. This guide covers a sturdier habit: keeping your entire blog in a place you can browse, snapshot, and restore from one post at a time.
What Ghost’s own export does and doesn’t give you
Ghost can export your content from the admin area as a JSON file, and you should know where that button is. It captures your posts and some settings in one download. But it has real limits as a backup strategy. It is a manual step you have to remember to run, the file is a dense blob you cannot meaningfully read or diff, and restoring from it means importing the whole thing back rather than recovering one post. It is a snapshot you stuff in a drawer, not a living copy you can actually work with.
The deeper problem is that a once-in-a-while JSON dump does not match how blogs are actually lost. The risk is rarely “the entire database vanished at midnight.” It is the slow stuff: an edit you regret, a post you overwrote, a field you cleared and only noticed a month later. For that, you want a copy you can browse, and a way to put one post back the way it was.
A browsable archive with snapshots behind every change
This is what Specter is for. Connect your Ghost blog in the browser and every post lands in one workspace as clean, readable content with its title, tags, status, feature image, and excerpt intact — there’s nothing to install, and browsing is free. If you haven’t connected yet, start with connecting Specter to your Ghost blog, which walks through pasting your Admin API key.
The backup falls out of that naturally. Your whole archive is in one place you can read and search, and every publish Specter makes keeps a snapshot behind it — so reverting a post to an earlier state is a decision, not a recovery project. That’s the protection that matches how blogs are actually lost: not a database vanishing, but a single post you wish you could put back. For the related question of recovering an earlier version of one post, see how to undo a change to a Ghost post.
It’s worth being precise about scope, because a backup is only as useful as the one you understand. Specter works on posts: the body, title, tags, status, feature image URL, and custom excerpt. It doesn’t pull down your images themselves (you reference those by URL), your theme, your members list, or your newsletter settings. So your Specter workspace is a complete, recoverable copy of your writing — the part that took you years and that no theme reinstall can bring back — but it isn’t a full server image. For themes and members, keep Ghost’s own export as a complement; for the words, Specter is the thing you’ll actually reach for. Subscribe now and your workspace opens with 500 free credits.
Want the archive as files on your own disk?
Some people want the belt-and-suspenders version: every post mirrored as plain .md files on a machine they own outright, dropped into iCloud, Dropbox, Time Machine, or a git repo so the off-machine copies happen without thinking about it. Putting that folder under git turns the backup into a full, diffable history — every change to every post, kept forever — which is the subject of version control for your Ghost blog with git.
That continuous-disk-mirror approach is exactly what the desktop and open-source edition is built for: the same two-way sync, running entirely on your Mac, with your whole archive landing as files you control. The mental model is the one this whole site keeps coming back to — Ghost stays your publishing home, and your blog gets a real copy you can browse, snapshot, and restore — so backing it up stops being a task you schedule and becomes something that’s simply, quietly already done.