I want to redesign & overhaul my site. This will entail editing the theme and creating, editing, and deleting pages, collections, menus, metadata, products. I want to keep my live site active until I’m ready to launch the new stuff. I obviously want to keep my orders info, my users, analytics, etc.
It seems I have 2 choices, listed below with a few questions. Please let me know if there are other options? Did I miss any gotchas for either option? Which have you used, and which do you recommend?
(1) Make a staging site on a Partner account. Export & import my products. Manually copy any assets that will survive the redesign (or use a plugin to, with limitations, copy stuff over). Develop all the public-facing stuff to be as I’d like it.
But then the question becomes: how to get the staging stuff back on the live site? If I just make the new site “Live” with a DNS change, I lose all my orders, analytics, users, etc. Moving the theme back to the live site seems easy enough (Github). I can export/import products. For the pages, metadata, etc, it seems like I could use a plugin like “Rewind Copy” or “Duplicate” and copy the dev stuff to the live site? (But both of those say they can’t copy Menus and other stuff? So there’d be some manual copy/paste and duplicate-by-hand work.)
Wouldn’t the past orders etc. then get messed up if I overwrite my products? Wouldn’t I lose all data associated with the “old” products?
Pros: Clean slate; results in cleaner code and set up
Cons: Hard to re-integrate with existing site and existing backend data
(2) Do everything on the live site, develop and preview the theme, make new collections, new menus, new pages, etc. for use with the new theme.
But what about editing Products? I need to edit the description, metafields, media, etc. I need to create some new products and delete some old ones, etc.
What about assigning Pages to Theme templates (seems like you can only choose from “live” theme templates)?
Is it OK to make new pages “visible” if they are only linked-to from the new Theme’s menus and other pages?
And then once I launch, I’d have to go through a (pretty cumbersome) “cleanup” phase where I’d delete the old pages, old menus, old collections, etc.?
Pros: All existing site data stays integrated
Cons: Sloppy work-arounds, might not be able to preview everything