WordPress does have a theme preview feature but it is limited. If you go into themes, you can add a second theme to WordPress and click the “Live Preview” button. It is limited because I don’t think you can go into the theme customizer to change settings. I would use a plugin ( https://wordpress.org/plugins/underconstruction/ ) to disable the front-end for users while you make changes. Such plugins usually allow logged-in users to see the site but not end-users. If you decide you aren’t ready, you can switch back to the old theme. Another option is to clone your WordPress site to another server and work out the kinks there beforehand. You would then develop a script of things to manually change/fix on your production site. What I have personally done is use Instant WordPress (http://www.instantwp.com/) to create my own local copy of WordPress on my laptop. You can use export/import to migrate content to the clone or you can use a more robust migration tool called Duplicator (https://wordpress.org/plugins/duplicator/). I don’t migrate back up to production using Duplicator because I’m not 100% sure I want to put that much faith in the tool. Typically the changes aren’t hard to replicate manually as long as I have notes to work from.