When it comes to the development of websites and web apps, it is imperative that a staging website be 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, is simply a version of your website that is hosted separately from 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 on new features.
Why make use of 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:
- 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 that the project is far from finished, but you want to see the progress of certain sections, do some testing on functional features, and get 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 in 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 of the staging website is signed off by the client and will be used until the launch of the website on the live server. In fact, in most scenarios, the staging website is always kept active, as described below.
- When supporting and maintaining a website
Picture this, the staging website was used to help test and sign off on 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, adding new features and functionality to the staging website. The reason for this is to enable 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 who 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
The staging website and the live website should be hosted in the same environment. This is to eliminate any possible issues that may arise due to differences in the hosting servers when troubleshooting problems.
Here are the benefits:
- It’s not too difficult and time-consuming to set up a staging website. Setting up the staging server initially may take 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.
- Staging websites enables developers to produce better websites and web apps, as you can use the environment for proper testing and sign off, as well as get all the stakeholders involved.
- The great thing about staging websites is that when a bug does appear on the live website (which can happen), you can use this environment to reproduce and replicate bugs or issues without compromising the live website, the data or the users on the website. You 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.
- When it comes to eCommerce websites and subscription-based web apps, you really need to test the full payment process from start to finish. Luckily, you are able to simulate the entire payment life cycle by using the payment gateway’s sandbox mode to process payment transactions, but in a simulated environment. Meaning that no actual payments are made with proper money.
- A major benefit is that staging websites allow the client to be involved and see the 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 f modules that are working 100%).
Surely there are disadvantages too?
That’s correct. There are a few minor drawbacks, which include the following:
- The development process and testing process can take longer (as you need to test in two environments). But the risk is hugely diminished of porting bugs to the live website when using a staging website.
- 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 in 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).
- Staging websites can be seen by search engines, but you can 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 to do, but it is imperative that it be done so that there is no impact on your SEO ranking.
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 the clients.
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 is absolutely crucial to successful web development projects, and our clients tend to agree with us.