Torbjorn Zetterlund

Thu 07 2015
Image

Ever thought of having a staging environment for your WordPress site

by bernt & torsten

Did you ever thought of having a staging environment for your WordPress site, you have to ask yourself how often do you add new plugins, update current plugins and themes. Have you ever had a problem with your site after adding or upgrading, if so you fall into the category that should consider setting up a staging host?

As you are aware of the software, every once in a while, there’s a hiccup, there will be bugs, shortcomings in functionality, and other common obstacles. Problems are more likely to be introduced as other plugins are added and functionality becomes more complex. You do not want your production site to be unnecessarily affected as this will have a negative impact on your online business.

What is a staging site?

A staging site is a clone of a live site and is used for testing purposes. When it’s time to switch themes, add or remove plugins, integrate custom code, or make any significant changes to your site, it’s best done on a staging site that is a replica of the live site.

Staging sites are used to ensure that everything works properly before it is presented to the online community. Likewise, they can be used for troubleshooting issues found on the live site without running the risk of interfering with your users or breaking even more functionality.

Theoretically, any issues found on the live site should be replicable on the staging site. With temporarily switching themes and deactivating plugins being very common troubleshooting steps, having a staging site is a great way to track down issues without having to place your live site in maintenance mode or removing expected functionality for testing.

How do I set up a staging site?

A staging site is not a special kind of site that requires a different installation or configuration approach than your live site. It’s just another WordPress install that is set up just like your live install.

Here at torbjornzetterlund.com we use Digital Ocean for our live and staging site, we have set up two droplets on Digital Ocean – one for our production environment and one for our staging. Our staging is also acting as our Slave database as we have set up our droplets for replication. That allows us to have an up-to-date database on our staging – here is an article I wrote about how to set up Mysql DB replication.

DigitalOcean_Control_Panel

The point here is that a staging site does not require a whole new level of thinking. It’s just the site you’ve already created, created once more.

Ask your hosting provider.

Depending on the hosting company, setting up a site can be as easy as a few steps.  Using Digital Ocean you can create an image of your production server and create another staging droplet and deploy your image to it.

It’s not a big deal if your host does not have a simple way for you to set up a staging site. You can do it on your own just the same way you created your live site.

Once up and running, you’ll want to install (and activate) the same theme and plugins that you are using on your live site, which alone will replicate the vast majority of functionality you need to have an effective staging site. You can definitely take things further, as we have done by setting up database replication.

With the same theme and plugins activated on the staging site as you have on the live site, and the same replicated database, you should be very close to a completed staging site.

For many, that will not set up DB replication, you can still make your staging database be the same as the production. WordPress has its own built-in export/import functionality located under the Tools menu in the dashboard. You can export data directly from your live site and import it to your staging site, though it’s not as thorough as the replication method.

If you have some spare time, consider setting up a staging site, this is one of the most important steps of having your own online business.

Have comments on this article, we appreciate all comments and feedback.

Share: