Any site, especially a WooCommerce store, can have disastrous consequences if the live version is experimented on in terms of adding new features or customizing old ones. A small unsuccessful update, for example, can have a ripple effect on your store and make it go offline in seconds.
That's something you don't want to happen.
Your WooCommerce store is an invaluable asset to your business and you should always be careful when "touching it". That's why having what's called a "staging environment" is something you can't afford to miss.
What's a staging site?
Without going into many technical details about development environments, a staging website is nothing more than an exact copy of your live website or store which is not publicly shared.
This copy of your store will be the one where you could test a new plugin, run updates, implement a new script, all with a peace of mind because, if things go south, your live store won't be affected.
Why is it a best practice to have a staging site in place?
With software, things break (and they'll always do).
Having a staging site for your store will enable you and your developers to work on your store without affecting your customers. They won't experience anything different while navigating and browsing through your pages so that they could keep buying from you while you're working on your store.
But there's more to it...
Top 5 benefits of having a staging site for your WooCommerce store
Having a staging site brings in many benefits, some of which are:
- You can find and fix issues in advance and prevent them to affect your live store
- You can add new features, updates, customizations without the fear of breaking down your store or making it go offline
- You can catch errors and bugs without putting your store at risk
- You can test new features, updates, customizations without the urge that comes with a live store being in maintenance mode or partially unavailable
- You can improve your conversion rates and lower your downtime by intercepting bottlenecks in your performance spectrum
Takeaway: your staging site should be the only website instance where all of the development work happens.
Maintenance, updates, testing, adding new custom functionality need to happen there so that, once you're happy with the results, you can push all up to your live store.
The ease of your development process is strictly related to the quality of your hosting provider
A lot of the process for development work and the ease with which it can be performed boils down to your hosting service provider and your technical background (see below).
Reliable hosting providers make the process of creating and copying a website from or to a staging area quite easy. WordPress developer and Codeable expert Paul Cohen highlights:
Before doing any new work, it all starts with an analysis of what your store is running on. A good host allows you to implement best practice development and quality assurance workflows, which are critical to being able to develop anything.
The steps involved in development work — What you should expect:
Whether you're looking to add new custom functionality to your WooCommerce store, fix one of the most common issues, or run some maintenance tasks, development best practices dictate how you should be tackling them within a proven development workflow.
For store managers who aren't familiar with having a WooCommerce developer working on their store, here's what to expect in term of required steps:
Step #1: The developer will create a staging site from your live store
As you've seen, it all starts with having a copy of your store that you can work on. There are different ways to create a staging site, but one of the easiest and quickest sure is creating it through your current hosting provider.
Usually, this is performed with a one-click task or can be requested directly to your hosting provider to create one on your behalf. There are several things you should be aware of, though, when talking about hosting providers and staging:
- More often than not, hosting providers charge for the staging site feature (if not already part of your price tier)
- You won't find staging site features on cheap hosts
- Not all hosting providers will allow you to set up everything like you need and they might be quite constraining to what you can configure
Picking the right hosting provider is a critical aspect of your business as a whole, so stay away from super cheap hosting solutions that cost like a cup of coffee on a monthly basis and invest in a good one.
Step #2: The developer will make a local copy of your staging site to work on it
Once the staging site is created, your developer will need a local copy to start their work. As Paul elaborates:
After the staging site has been set up, you'll need the ability to take that staging site and to let the developer copy that down to their local machine where they can then work on solving the business problem. Either solving a bug, creating a new piece of functionality or even writing a new website from scratch.
Don't worry: you don't need to create any local copy and share it with the developer. They'll do it themselves, but you need to be aware of this step as you might want to inquire them about who'll access that data for example if your store has sensitive information in it.
Step #3: The developer will update the staging site to start your testing phase
Once the developer is done with their work locally and has tested it thoroughly, they move back up the chain and deploy their solution to the staging site so that you can see it and kick off your own testing phase.
Here is where you'll need to invest time and go through every page, element, and features to assess whether they are working properly or not. If the latter, take notes, screenshots, maybe even record your screen, and URLs of where you see something is broken or just "acting weird" so that you can share it all with the developer and have it fixed.
As important a project brief is for any new development project, the same is your feedback from the testing phase. Try to make it as clear and understandable as possible. This also means not using "weird" as part of your feedback and replacing it with a descriptive comment instead.
Step #4: The developer will push changes from the staging site to your live store
Once you're happy with the results on the staging site, which might have required some back and forth between the parties, then the developer will deploy their changes across and to the live site.
Before you start celebrating, there's still some testing you should be running here on the live site. Specifically, the main reason behind testing is trying to minimize the risks to your live site. And this can be a time-intensive process because you'll need to make sure that any bug fix and any new piece of software that's been implemented isn't breaking your store.
So, is a developer really necessary to create a staging environment?
The need for hiring a developer or not it's context-dependent and really ties into your own technical knowledge, the skills of your team, and your available in-house resources.
As Paul points out:
It depends on the level of technical capability you have internally to your company. Now, some of the better-managed WordPress companies like for example Cloudways, WP Engine, or possibly SiteGround depending on the level of account that you have with them, they have one-click processes that make it very easy for nontechnical people to create a staging site.
Despite the ease of setting up a staging site, though, an experienced developer will help you set up the right development workflows and processes for your WooCommerce store needs. And they will do that in a professional manner. That's why, as Paul continues:
That's why it's important to have developers who have the experience and are able to judge which process to apply to your scenario, and especially with WooCommerce, where the database is always a handle-with-care element.
It's very difficult to guarantee 100% error-free software on an ongoing basis because of the complex nature of software development. That's another way of saying: if you run a WooCommerce store, things will break eventually. Even with official updates, which you might think they're "safe", there could be one bug or misconfigured element or some custom code that just "doesn't get along" with your current set up.
That's why it's important to embrace best practices when it comes to having development environments in place, where a staging site plays an important role in. Besides working with an experienced and high-quality developer, the easiness and effectiveness of development work also depend on the hosting service you're using for they facilitate the process to a large extent.
Your staging site is just one piece of the whole picture here but - it can't be stressed enough - it plays a crucial role for your WooCommerce store needs and, to a higher level, in your business as well: your staging site is your quality assurance site.
This blog post features Paul Cohen, a hands-on technology strategy consultant with 20+ years international experience on a variety of projects including WordPress, Enterprise IT, web/mobile applications, eLearning simulations, educational apps/games in teams of all sizes. He’s also a creative technologist who understands the business, product, project, design, and development aspects involved in taking ideas from concept to realization.