As of now, Easy Digital Downloads is actively installed on over 40,000 sites. That’s a pretty large number which means a lot of downloads are being distributed and hopefully, a lot of money is being made.
When I see that active install count, though, I don’t particularly accept it as-is. What I try to assume is that roughly 20,000 of those active installs are live sites while the other 20,000 are staging clones of the live sites (you can’t blame me for wishful thinking).
EDD being an e-commerce platform means that a significant portion of our users are trying to earn income from their websites. There are many users who have been able to do so successfully and some who are still a work-in-progress. But one thing they all have in common is that certain aspects of the platform are expected to be automated and accurate, thanks to EDD and its add-ons.
Every once in a while, there’s a hiccup in one of the processes. That’s the nature of software development. There will be bugs, shortcomings in functionality, and other common obstacles. For the most part, though, the core functionality of an EDD-based e-commerce system is rock solid.
That said, problems are more likely to be introduced as other components are added and functionality becomes more complex. This is where having a staging site becomes extremely important.
Allow me to explain.
What is a staging site?
In layman’s terms, a staging site is a clone of a live site and is used to for testing purposes.
When it’s time to switch themes, add or remove plugins, integrate custom code, or make any significant changes to the site, it’s best done on a staging site that is a replica of the live site.
The reason this is so important for e-commerce sites is because they earn revenue and deal with customers who have so graciously opened their pocketbooks to you. Making purchases online is a lot less personal which means trust is built through the purchase process, making it that much more important to the customer that things are working properly.
Staging sites are used to ensure that everything works properly before it is presented to the customer. 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?
First, let’s clear a few things up about staging sites so this is not any more complicated than it needs to be.
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.
Most of EDD’s add-ons require licenses. However, these licenses do not restrict functionality. They are simply gateways to support and dashboard updates. So, yes, you absolutely can activate extensions on both your staging site and your live site. Just reserve license activation for your live site only.
Staging sites concentrate mainly on functionality, not content. For example, it’s more important that your EDD settings are the same on both sites than it is the descriptions of your downloads match.
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.
Let’s get on with the setup.
Ask your hosting provider.
One thing I love about some hosts is that they have services in place to clone your live site to a staging site with just a few steps. Here on the EDD site, our staging set up is as simple as clicking a button. It’s just as easy to update the staging site from the live site any time we need to.
Hosts like Pagely and WP Engine make it extremely easy to make sure your staging site is an exact clone of your live site whenever you need it to be.
Install WordPress Yourself.
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.
As mentioned before, the staging site is about functionality, for the most part. Create a subdomain or subdirectory, whatever you’d like, and treat the WordPress set up as if it was a new project you were working on. Once up and running, you’ll want to install (and activate) the same theme and plugins that you are using on your live site.
Believe it or not, that alone will replicate the vast majority of functionality you need to have an effective staging site. You can definitely take things further, though.
What I would suggest is a complete database clone from the live site. I would export my database from the live site and import it to the database I have connected to my new staging site. There are plenty of online resource to help you accomplish this (here’s one).
With the same theme and plugins activated on the staging site as you have on the live site, and a full database export/import, you should be very close to a completed staging site.
For many, you may not even have to go that far. 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 aforementioned method.
Support for EDD Issues
If you’ve been using EDD for a while and have opened a support ticket or two, there’s a chance I have helped resolve your issue or answered your questions. With quite a few tickets, though, I’ve had to ask users to temporarily switch themes and deactivate plugins. Many are okay with this. Some are not.
What must be understood here is regardless of why the issue exists, it’s present and must be dealt with. Troubleshooting will almost always begin with looking for conflicts from other resources. So don’t wait until there’s an issue to set up a staging site just to see if you can replicate the issue.
The absolute best time to find an issue is when you are testing new functionality on your staging site, and it has not made its way to your live site yet. The goal is to get issues sorted out in a testing area first, that way rigorous troubleshooting can be done without potential loss of revenue or damaged user experience.
Next time you have a few moments to spare, consider setting up a staging site if you do not already have one. Let that be a testbed for every line of code that will touch your live site. Consider this one of the most important steps for creating your online business.
If you have any questions, feel free to ask below.