Thoughts On WPStaging PRO

Introduction

We recently worked on a customer site that used WPStaging Pro. We had never worked with this tool before and found it interesting enough to write this article.

If you’ve been reading our articles on a regular basis you already know that we only write articles on plugins that we’ve worked with ourselves – we certainly don’t write articles that are for SEO purposes on products that we’ve only spent an hour on (such as the top 5 XYZ plugins for ABC style posts.)

Since we spent a few days working on our customer site and wrestling with WPStaging PRO we figure we have enough real-world experience to at least voice some thoughts about it. If we work with it again in the future we’ll update this article with any additional impressions.

What Is It?

What it does is conceptually simple – it creates a full working copy of your site on demand. There, you can make and test changes and then push the changed site back to the production URL.

If you’ve worked with WordPress in the past you know how tricky it can be to create a copy of your site for testing purposes. The fact that you can do this with just a couple of clicks is pretty impressive – no DNS changes necessary.

How Does It Work?

It works by copying all your site files to a new folder and making a copy of all the tables with a different prefix. It also makes use of some constants in the WP-CONFIG.PHP file to point traffic to the correct files and tables.

Some constants that are set to allow traffic to be routed to the copy are:

  • WP_PLUGIN_DIR
  • WP_LANG_DIR
  • WP_HOME
  • WP_SITEURL
  • WP_ENVIRONMENT_TYPE

And, of course, it sets $table_prefix to make sure that data is only written to the copied tables and not the production tables.

As you might expect, there’s some other magic in the background that goes along with cloning sites – but the use of the constants mentioned above are what makes this different from other backup/restore/cloning plugins.

Our Impressions

We only had a few minor issues working on the copy of the site that WPStaging Pro made for us. We encountered some login issues that may or may not be its fault.

But, overall, it worked well enough for our purposes.

Our Reservations

When you’re using a staging site, you really want all your work to be isolated. You don’t want the things you do on it to spill over to your production site. This is an area where we have some serious reservations with WPStaging Pro.

The Database

The tables for the staging sites are kept in the same database as the production tables. Yes, it’s using a different prefix. But a rogue plugin or a code error can easily skip the prefix and just read and write data to ANY table in the database. This puts your production data at risk.

To be doubly-sure we were correct about this we checked the wp-config.php file for both the production and staging sites to confirm that the database name, user name and password were the same for both the production and staging sites.

Files

The other item that caused us to be concerned (though less so) is that the URL for the staging site is a subdir of the primary site – eg: https://yoursite.com/staging01 and the files themselves live in the same top-level folder as wp-admin, wp-content, wp-includes etc.

They’re not cleanly segregated which caused us some issues as we were hammering the staging site quite a bit with development code. At one point both production and staging were forced off-line because of an issue on the staging site.

As you might expect, working on a staging site is never expected to affect your production site but in this case it did.

Wrapup

The plugin also includes some standard backup functions, multisite functions and few other features – but we didn’t work with those so can’t really comment on them.

For the staging features we did test, it really felt like a bit of magic to see it work. It’s too bad about the shortcomings we mentioned above. Although we understand why they’re present, they’re what prevents us from using it for ourselves – we really like our staging sites to be as isolated as possible.

There are some advanced features that allow the data to be cloned to a separate database and copy the files to separate folders. So you know the plugin authors have definitely given some thought to the issues. But using those options means it just takes as many steps as any other plugin to clone the site – so not sure that’s enough of a reason to give up your existing toolset.

Overall, a very cool product that makes us shiver a bit.


Did we get this right? Thoughts? Drop us a note in our FB group.


Automatic Notification Of New Articles

Sign up to get automatic notifications of new articles.  This is a different list than our standard list - you only get new articles once a week (usually on Mondays).  No other emails will be sent unless you sign up for our general list as well.

Posted in