When it comes to the development of websites and web apps, it is imperative that a staging website is set up as part of the project.
So what exactly is a staging website?
A staging website, which is sometimes referred to as a staging server, simply put, is a version of your website that is hosted separately to your live website. You can think of it almost as a clone of your live website. This version of your website is used to launch, test and sign off new features.
Why make use of a staging website?
There are loads of benefits as to why a staging server should be used. This is applicable to both the web development process when building a new website as well as when supporting and maintaining websites. In fact, it can be seen as a best practice that the industry should be implementing.
To explain why we use staging websites we will elaborate on the two applicable scenarios as mentioned above:
1. When developing a new website.
With the design and development of a new website or web app, at a certain stage in the life cycle of the project you want to release a version to the client. Now remember the project is far from finished but you want to show the client the progress of certain sections, have them do some testing on functional features and possibly get them to provide feedback on finished modules.
Now you can’t simply load this half-baked version onto their live website URL for the whole world to see, this is where the staging website comes into play.
The staging website is deployed to a temporary URL and configured to run on the hosting environment. This way the client and other stakeholders, for example, project managers, QA (Quality Assurance) testers, investors, etc. can access this without the public even knowing that this version of the website exists.
At the end of the project, the latest version staging website is signed off by the client and will be used until the launch of the website to the live server. In fact, in most scenarios, the staging website is always kept active, as described below.
2. When supporting and maintaining a website.
Picture this, the staging website was used to help test and sign off the initial project. So we now have a live version of the website (sometimes referred to as the production version) and we still have the staging website version.
Why have both you may ask? Well, that’s a very good question!
The thing with websites is that they are never finished, they are constantly evolving and there are always changes, improvements and upgrades that need to be developed.
Typically after a website is launched there will be support and maintenance performed on the website as well as the development of new features and functionalities.
Now we don’t want to just develop the necessary changes and then load them onto the live website. This is too risky and things can break or worse, the website may crash, which is never fun.
Fortunately, we’ve got the staging website environment still set up and so we perform the required updates, loading of new features and functionality to the staging website. The reason for this is so that we can then do a full round of testing on the staging website and if something breaks, no big deal as the public won’t have access to this version of the website. We can again use the same process as we did with the initial website, whereby we get the clients and any stakeholders which are deemed necessary to test and provide input and sign off before porting all these changes to the live website.
Staging websites come with super cool benefits
First, we need to point out that the staging website and the live website should be hosted on the same environment. This is to eliminate any possible issues that may arise due to differences in the hosting servers when troubleshooting problems.
So what are the benefits?
1. It’s not too difficult and time-consuming to set up a staging website. Setting up the staging server initially may take up some time (depending on the complexity of the website), but once set up, it doesn’t need to be done again. This process is actually factored into the project development life cycle in any case and should always be done as a best practice, which we’ve mentioned previously.
2. Staging websites enable us to produce better websites and web apps, as we can use the environment to do proper testing and sign off, as well as get all the stakeholders involved. We all want to produce top quality websites and we wouldn’t want to skip this essential step in the process, no way Jose!
3. The great thing about staging websites is that when a bug does appear on the live website (which can happen), we can use this environment to reproduce and replicate bugs or issues without compromising the live website, the data and the users on the website. We can apply a fix and test it on the staging website to ensure that the feature is working 100% before making any changes to the live website.
4. When it comes to eCommerce websites and subscription-based web apps, we really need to test the full payment process from start to end. Luckily we are able to simulate the entire payment life cycle by using payment gateway’s sandbox mode to process payment transactions but in a simulated environment. Meaning that no actual payments are made with proper money.
5. A major benefit is that staging websites allow the client to be involved and through this environment we’re able to show them progress during the project. QA can be done during the project on completed modules, so that it’s not all done at the end (signing off of modules that are working 100%).
Surely there are disadvantages?
That’s correct, there are a few minor drawbacks, which include the following:
1. The development process and testing process can take longer (as you need to test on two environments). But the risk is hugely diminished of porting bugs to the live website when using a staging website.
2. There is a cost to hosting a staging website, but this is generally minimal in comparison to the enormous benefits it provides. However, the staging server can be smaller in scale (still the same environment), by not having to store all the records, images and / or documents loaded from the live website (as this can take up an enormous amount of space and start increasing the cost of the staging server hosting).
3. Staging websites can be seen by Search Engines. This is true but we always apply the best practices, so that we block search engines from indexing and crawling the staging website, so in essence, they don’t even know it exists. In fact, this is pretty quick and easy for us to do but it is imperative that it is done so that there is no impact on your SEO ranking.
So there you have it
It is imperative that most websites and web apps have a staging website, based on the benefits listed above. Proper web development companies make use of staging websites as this is highly beneficial to the project, the development team, for Quality Assurance and ultimately for the clients.
The unfortunate and scary thing is that we’ve seen many web development agencies without staging websites and run huge risks by simply working on the live site directly, increasing the odds of a crash, which can ruin the reputation of the client and the trust of the website!
There are a few drawbacks to staging websites but these are minimal compared to the huge number of benefits. We’ve found that staging websites are absolutely crucial to successful web development projects and our clients tend to agree with us.