Reduce the risk of downtime with Staging and Production server environments

Published: February 9th, 2023

Updated: February 23rd, 2023

Development, staging and production server environments
Ed Deane

When developing a website, it is best to have multiple server environments for development, testing and QA (quality assurance). Multiple testing environments ensure that any bugs or downtime is discovered and dealt with before updating the live server, thus saving you time, stress and money.

What are server environments?

A server environment is a single instance of your server. When viewing a website, you are viewing the production (live) environment for that website. Production environments generally don’t contain bugs, as they have been thoroughly tested due to updates being made and bugs being ironed out on a staging or development server environment before going live. 

Why are they useful?

Having multiple server environments is helpful for several reasons. These are:

  • Ensuring that your production server is always live. Testing any updates on a staging environment guarantees that bugs are found and patched before being pushed to the live server.
  • Implementing new features and updates and thoroughly testing them before going live. 
  • Adding draft content for approval.
  • Performing QA (quality assurance) and UAT (User Acceptance Testing) testing before going live.

How should they be used?

To ensure consistency while testing, all environments should ideally be of the exact specification, including hardware – running the same processor, amount of memory (RAM), hard drive space, and software – web server, operating system (OS) and PHP version. This is useful for real-world content and performance testing with confidence that the production site will perform as expected.

Typically, your site should be running on the following environments:

Development – Not publicly visible. All code and development changes are in the development environment, so you can refine new features without impacting your live site.QA (Quality Assurance) is performed in the development environment before being deployed to staging.

Staging – Not publicly visible. The staging server is used for content updates and testing server and plugin updates before production deployment and for approving development changes post-QA. UAT (User Acceptance Testing) is performed on the staging server before deployment.

Production – Visible to everyone. Updates are only deployed to production after rigorous testing.

Server environments

Depending on the budget and scale of the website, QA and UAT can be performed on the staging server. If a single developer is involved, they can make development updates locally and push to staging for approval. While this approach can work for smaller websites with a limited budget, I recommend implementing a development server for more extensive website builds.

Conclusion

As you can update the core and plugins on your live WordPress website and save posts as drafts for approval, you may be tempted to run just a single environment. However, running multiple environments will give you peace of mind that any changes made to the server or WordPress will be fully tested before deployment. 

While running multiple environments will cost more, it is worth every penny compared to the financial losses and stress caused by your website going down.

Please feel free to get in touch if you want to discuss your WordPress build or hosting options.