Staging site or a local copy?
We recommend staging, unless you're writing theme code. The side-by-side, what a local copy takes to set up, and the one thing neither of them can do.
Staging, unless you're writing theme code.
Both let you make a mess without anyone seeing it. What they don't share is the effort to get one going, and what happens to the work once it's good.
Side by side
| Staging site | Local copy | |
|---|---|---|
| What it costs | €3 a month, or €30 a year | Nothing |
| Who sets it up | We do | You do |
| What you need to know | Nothing | Docker or Ghost CLI, and MySQL |
| Getting changes live | One button | You redo them by hand |
| Keeping it current | One button | Import a fresh backup |
| Letting someone see it | Give them the address and the access code | You can't |
| Your subscriber list | Never on it | On your computer |
| Ghost version | Handled automatically | Yours to match |
| Theme files | Upload a zip | Straight from your editor |
What setting up a local copy involves
You need Ghost running on your own machine with MySQL behind it, either through Docker or the Ghost CLI. Then you download two archives from the Support page of your customer portal, a database dump and your content folder, and import both.
Your local Ghost has to be the same version as your live site, or you get migration errors and a broken import. If you have Stripe connected, you have to clear the payment keys out of the database, because Ghost won't start over plain http with a payment provider attached. And you'll want to switch off staff device verification first, or Ghost tries to email you a login code that has nowhere to go.
None of it is hard. It's eight steps, and our step by step walkthrough has the commands for both Docker and the Ghost CLI.
Your members come with the backup
That database dump contains your subscriber list: email addresses, and who's paying you. From then on it's on your laptop, and on the laptop of anyone you sent the backup to.
Staging never has it. Members and subscriptions are stripped out when we build the site, and again on every refresh.
Worth thinking about before you email a backup to a developer.
What neither of them can do
Neither is a place to test anything involving members or money.
Staging starts with no members, signups switched off and your Stripe connection left behind. Newsletter sending is blocked outright, so you can't email your subscribers from it even by accident.
A local copy lands in the same place by a different route. You cleared the Stripe keys to get Ghost running at all, and with no mail server, nothing you send leaves the machine.
So a signup flow or a paid tier, end to end, is still something you check on your live site.
Doing both
They're not really rivals. If you develop a new theme, write the theme locally, where saving a file reloads the browser straight away. Then, upload the zip to staging once it's close, and you're testing against your real posts somewhere you can send a client. You can publish from there too.
One thing to expect when you do: posts you wrote on staging arrive on your live site as drafts. You open each one and publish it yourself, which is what sends the newsletter.
More in this section
Didn't find your answer?
Ask us anything — a real person reads every message, usually the same day.