…or seven ways to screw it without a staging.
0 What is Staging?
Staging or testing environment is a production-like environment where you can test new features in terms of integration testing and user acceptance testing. In other words, it is a 1:1 copy of your live site, where you can apply new things in the testing environment without screwing it up for your client and site visitors.
1 WordPress core updates
WordPress itself is under continuous development. Releases are divided into two groups: major and minor. Major releases (marked X.Y) are scheduled and you can beforehand read about what the new features will bring, whereas minor releases (marked X.Y.Z) are mostly about bug or security fixes and they come into usage more unexpectedly. Both types of releases can break something. There can be backwards compatibility of themes/plugins/your code, removing/upgrading of 3rd party libraries, or they can change Gutenberg blocks behavior etc. Are all plugins and theme you use ready for the new WP Core release? You can never make sure of this. In general, testing this on your live website is not the best idea. Use staging!
While WP Core major upgrades are pretty predictable and they have a solid schedule, this is rarely true with plugins and themes. This means that with a medium WP site (in terms of number of plugins), you will get a surprise upgrade at least once a week. Many paid plugins usually don’t have a transparent changelog, which makes predicting potential errors or clashes almost impossible. The only way to keep your live site stable is “to always upgrade on staging first”.
2 Plugins and/or Themes updates
3 Place to test that awesome new plugin
Let’s implement that social media integration with this plugin! But sir, it seems like it made image uploads not working and last ten thousands of articles imported last night are missing featured images now. Another night fixing, great!. This would not have happened with testing this plugin on staging first.
4 Place to test updates of a server stack
So your site is still running on PHP 5.6, right? Try PHP 7.4 and make it faster! So you upgraded PHP on your live site and now all you can see is a bunch of Fatal Error messages along with 2 hours of e-commerce site downtime in which your client lost a few thousand bucks. Good job, bro!Next time you will run that through staging first, promise?
5 Place to test your code
Will my code work well with code of other team members? Don’t forget, your “team” is not just inside your company, but also includes all developers who contributed to any part of the website (WP Core, plugins…). You should always test your code locally before pushing it to any other environment, but you usually need the client, project manager and QA team to take a look. Or do you need to perform testing on real people? Perfect, here you got staging to make your life easier.
6 Experiment with CMS
“What if we move that widget from left panel to the footer and change its’ title?” Any bigger change in CMS should be first tested on staging. From experience, clients can quickly change their mind when they see their brilliant idea alive on the site. Are you using any kind of page builder for your frontend? Previews are powerful feature, but usually you need to see the whole picture including menus, plugin setting changes and so on. That’s where staging comes in very handy. Also you don’t want visitors to see that jumping widgets and menu items on production, do you?
7 Showroom for your Client
Bringing your laptop to the client’s office nowadays (considering both global market and pandemic) isn’t the best idea of showing your client that awesome new feature. Ever heard of wow-effect? Don’t do that, please. Show your client new features incrementally on your staging. You both will sleep much better, trust me!
In the next article we will take a look on how to set up a staging environment.
If you are interested in your own quality website and need help, write to us and we will be happy to help you.