If you run a WordPress site, the following scenario is probably familiar to you. You have what seems like an excellent idea for a change to your site. You log in to the administration dashboard, make some changes, and everything looks good. Then you refresh your site’s homepage to find that instead of the elegantly-designed fast-loading front-end you’re used to, it either doesn’t load at all or loads something that looks like your server has forgotten how to put a web page together.
There’s always a risk of something going wrong when you make changes to a live site. WordPress installations are complex systems with many interacting parts, and it’s hard to predict how a change in one area will affect everything else. Avoiding situations like the one above is why you should consider deploying a staging server.
Why do you need a staging server?
Any time you make a change to a complex system, there’s a chance of unforeseen errors. For WordPress that might be upgrading, installing plugins, making tweaks to themes, changing settings, editing the database, and so on. Ideally, you’d be able to test everything you do on an identical replica of your site, so you can catch any potential disasters before they go live.
Creating a WordPress staging server
Identically replicating a hosting environment and WordPress installation, and syncing changes between the staging server and the production environment can be fraught with complexity, but there are plugins that will make the process more straightforward.
VersionPress, as we’ve discussed before, is a plugin that allows WordPress site owners to version control their sites. Under-the-hood, VersionPress uses Git, the version control system of choice for open source software development.
If you’re not familiar with version control, it’s a technique of storing every change that’s made to a piece of software. Storing changes in this way gives VC users a number of useful capabilities: changes can be rolled back to earlier versions, and, most importantly in the context of staging sites, different sets of changes can be merged together.
With VersionPress, it’s possible to create a copy of the live site to use as a staging or development site, make changes to both the live site and the staging site, and then merge the changes from the staging site back into the live site without losing changes made to either site.
WP Stagecoach is a premium plugin that aims to make it incredibly easy to create a staging site and then merge the changes back into the main site. This plugin is not quite as feature rich as VersionPress, but it isn’t intended to be a full scale version control system. It does one thing and does it very well.
WP Stagecoach will create a staging copy of your site, which can be password protected so that casual web browsers don’t stumble across it. What’s particularly good about WP Stagecoach is that it will allow you to copy changes on the staging server to your live production server. So, if you make a change to the staging installation that you want to push into production, it’s very straightforward. It allows you to choose which changes you import, and you can revert changes if things go awry.
A staging server or installation is an essential tool for anyone serious about publishing or selling on WordPress, and hopefully with the help of these plugins, you’ll have no reason not to use one.