Workflow for migrating to new theme?

Hi all, I have a self-hosted Ghost site ( ) that’s currently up and running. I’d like to transition to a different Ghost theme (specifically: Doks )

What is the best way for me to set up some kind of staging environment so I can import my existing content and customize the new theme before activating it on the live site?

Thanks in advance.

How much customization do you want to do on the theme?

Not a ton. I think I’ll be able to accomplish what I’m looking for mostly by editing the routes files & working within the admin panel.

I do want to use the new theme to create landing pages… not sure how I would get these back to the production version of the site though if I create them in a staging environment. That’s what I’m confused about.

I don’t understand why you need a staging environment?

Surely spin up a local dev environment to create your them. Export your content using ghost backup and import it to your dev environment.

Then when you’re happy with your them, zip it up and upload it to your site as a new theme. You can always switch back to your current theme if something isn’t to your liking.

Am I missing something?

Sorry, I may be overcomplicating this in my head. I think I’m confused because a lot of the customization will take place in the admin panel of the new theme, not the theme files. Is there a way to export/import changes that are made in the admin panel rather than the theme files?

You can export your existing site content, but that does ALL the site content. (It’d be super nice if there were a selective export.) So you couldn’t import that unless you first wiped existing content, and tiers don’t get cleared so you might end up with duplicates. I’d just plan to copy changes over. It’s imperfect, but unless you’re making a huge pile of changes, it’s going to be more trouble to set up something to copy over automatically than it is to just do it manually. :slight_smile:

I do a lot of client work on dev sites, and generally I take a site export, grab a few images, and the theme. I put that on the dev server, work out what changes I want, edit the theme, and then just copy back any changes (we need a new page with the slug blah-blah, that sort of thing).

I’d love an “Export this page/post” button that did just that one item, or a way to select a subset from the dashboard. You can already import a partial set of data (for example, one post), but without a great way to strip a single post out of the export, it’s not very useful.