Staging is an environment built to resemble the production environment as closely as possible, but real users have no access to it. A new change runs and is checked there first and goes to the live site only if it is healthy.
Why is it needed?#
The development environment on a programmer's laptop differs from the real server: software versions, settings, data volume and even database speed vary. Many errors show up only under real conditions, and staging simulates these conditions without risk.
Example#
Before updating a payment plugin in a WooCommerce shop, you make a copy of the site. You update the plugin there, place a test order, and if there is no problem, you do the same on the main site. If something breaks, only the test site is broken.
Typical environments#
- Development: where the programmer works.
- Staging: an imitation of production for final testing.
- Production: the live version for users.
Cautions#
- Hide staging from search engines (noindex or a login password), or duplicate content may get indexed.
- Put email, SMS and the payment gateway in test mode so no real message or payment goes to a real customer.
- If you copy real data, remove or mask personal information.