How to Use Staging with WP Engine-hosted WordPress Sites

One of the many benefits of using WP Engine to host your website is the “Staging” functionality.

Staging is basically a copy of your WordPress site that you can use to do updates, test new plugins or functionality before making it all happen on your live website. So why on Earth, you might ponder, would one want to do this? Well, just a few reasons…

  1. You run an e-commerce site that is the focus of your business, and don’t want a plugin update (such as to Woocommerce) to break your website and eliminate your income.
  2. You want to make some edits to your custom made WordPress theme, but aren’t 100% sure about what you’re doing. One missing <?php ?> tag and your site could come crashing down, or spitting out ugly errors.
  3. You want to add a new plugin to your site but aren’t sure if the plugin’s author is a mad scientist or a programming genius.

In a nutshell, you need to make some non-content related changes to your site and want to make certain you don’t screw anything up. Staging to the rescue!

WP Engine’s “Staging” Tutorial

1. Find the Staging Options Page

Firstly, login to WordPress and locate the WP Engine navigation item.

partial screenshot of the WordPress admin, showing  the location of the WP Engine tab
You won’t see this if you’re not hosted by WP Engine. If you’re hosted with ClickNathan, you are also hosted by WP Engine, though. 🙂

When you hover over that navigation item, you can choose Staging from the sub-menu, or if you’ve already clicked it, there’s a Staging tab on the main page:

screenshot highlighting the staging tab
Click the “Staging” tab.

2. Create the Staging Site

Now that we’re on the Staging page, we can get to the meat of the matter. If you’ve ever created a staging site before, you’ll see something like this:

screenshot of WP Engine staging options
WP Engine Staging Options.

If this is your first time creating a staging site, you won’t see the Staging Status: Ready! message or the red button.

To create a staging site, just click the button Copy site from LIVE to STAGING.

copy site from live to staging button
Click it!

You’ll see some messages informing you of where WP Engine is in the process of creating your staging site, but you don’t need to stay on the page. New staging sites are typically created in a matter of seconds, so just refresh your browser and the URL for your staging site will be available and will look something like this:

yourwebsitesname.staging.wpengine.com

And you can go to yourwebsitesname.staging.wpengine.com/wp-admin to login to WordPress as you would with your live site. Same username and password. 🙂

Now that you’re in there, you can update whatever you’d like, add plugins, try your hardest to break things, whatever you need to do!

Note that, in general, it isn’t advisable to make content changes. That means editing Pages, Posts, or any other data you enter into WordPress, like settings for plugins, etc. You can do this, but see the notes below under Move All Tables.

3. Move from Staging Back to Live

Now that you’ve made the updates to your site on staging and feel good about everything, it’s time to move things back over to the live site.

First thing, head back to WordPress on your LIVE site, and get back into the Staging tab of the WP Engine area (just like we did in the first step of this tutorial).

Now look for the button that reads Deploy from STAGING to LIVE and give it a click. You’ll see the following:

screenshot of staging to live options with WP Engine
WP Engine Staging to Live options.

Note the copy they have there which outlines the effects moving database tables will have. While they inform you that moving Staging tables to Live will delete any new posts added to Live since you first created the Staging site, other factors they don’t mention include (but are not limited to!):

  1. Any new orders on the Live site since Staging was created will be lost. You’ll still have the money for them in Stripe or PayPal (or whatever payment processor you use), you just won’t have the customer’s order information any more. Not ideal.
  2. Any new comments on your blog during this period will be deleted, too.
  3. Any new users who registered will be lost.

For these reasons, it’s not advisable to edit content or move tables when copying your site back to Live. This also means that any settings you adjusted on your Staging site will need to be added back to the Live site.

So, if you installed a plugin that had a settings page, you’ll need to reapply the settings on Live.

4. Final Step! Hide Your Staging Site

Finally, you’ll want to login to WP Engine itself. If you don’t have this information, and you’re a client of mine, feel free to get in touch and I’ll remind you of how to get this info, or set it up for you if I haven’t already.

Once you’re in WP Engine, go to Installs at the top of the page, then choose Utilities from the left navigation. You’ll see something like this:

wp engine utilities page
WP Engine’s Utilities Page

See the two checkboxes labeled Production and Staging? Click the Staging one. Don’t click the Production box unless you want to block all access to your live website!

Once you’ve clicked the checkbox next to Staging, click Save, and WP Engine will provide you with the username and password for your staging site.

This does not update your WordPress login information, but instead creates an additional login that’s required to view the front end of the site.

This is important so that Google doesn’t index both sites, possibly showing your staging site in search results and / or penalizing you for duplicate content.

You can create as many staging sites as you want, but only one at a time will ever exist.

And of course, if this all feels a bit too much for you, feel free to get in touch and I can help with any necessary updates! If your annual hosting fee is paid directly through me and is $300 / year or more, I can take care of all updates to WordPress and any plugins that I’ve installed for you initially for free. Otherwise, I charge at my hourly rate, and, in many cases, updates only take about an hour.

Up Next: Hosting