Whether your website is built on a Content Management Systems (CMS) or a Digital Experience Platform (DXP), both allow non-developer roles to manage increasingly more sophisticated content and marketing workflows. With expanding technical demands on marketers in the digital space, it’s important to not only understand your website, but also be familiar with the environments in which websites are built and supported. Before diving in to explore what environments your website might need, we’re going to first define a few concepts to make sure we’re all starting with the same understanding.
Types of Website Hosting Environments
Local Environment: Typically refers to the developer’s individual workstation.
Development Environment: A server accessible by internal developers, quality assurance (QA) and sometimes shared with client teams; used to test, review and approve a website or components of the website without being publicly accessible.
Testing Environment (UAT): Also referred to as UAT (User Acceptance Test) Environment, a server with a stable version of the website that’s been isolated for testing purposes. It has already gone through unit testing (done by the developer in their Local Environment), and then typically a QA test in the Development Environment, but is still not yet publicly accessible. Typically, the testing in this environment is focused on interrogating the site code but not content, and the testing teams can be broad with specific testing plans for teams to step through a series of use cases to ensure the site functions as designed. Typically, UAT needs to be a pristine copy of Production. Changes are applied to it before it goes to Production but it needs to be kept in sync with Production so that no changes from the live site are lost.
Staging Environment: Provides a stable version of the website, sometimes mirroring the production website, that is focused on reviewing the site content. Often called Content Staging, this environment allows for content to be updated, reviewed and published without having to be logged into the backend of the CMS or having to use the “page preview” feature to see how the content looks on each page. A staging environment is a great solution to make broader content changes or updates, and allows for a complete review of that content in a realistic end-user experience prior to promoting those changes to the live site. Code changes or other website updates can also be viewed in a staging environment in certain circumstances. Certain code and content changes can also be automatically synced with production if the CMS supports this feature and is configured to do so.
- Production Environment: Otherwise known as the live website.
What environments are needed for your website?
All websites should minimally have a Local, Development, and Production environment by default, but other environments can be setup depending on specific client needs. So, what is the biggest factor in making a recommendation?
Websites can add one or the other or both of these two environments, and your website development and hosting partner
can help make recommendations on what would best benefit your specific needs while also considering your hosting budget.
What else factors into recommending website environments?
While most recommendations will be based on your testing and content needs, there are other factors that should be considered before adding additional environments to your website’s hosting infrastructure.
- Hosting: In most cases, even though your website has separate Local, Development, and Production environments, your hosting provider only charges you for the Production environment. If you add separate Testing/UAT or Content Staging environments, there will likely be both initial set up and monthly hosting fees associated with each. Although these fees are typically less than the hosting fees for the live website, be prepared to pay extra for these environments since they incur setup, maintenance and overhead costs for your hosting provider.
Licensing: Some website CMS licenses have more sophisticated features unlocked at higher license levels, such as automated syncing, and so it’s important to make sure you understand the licensing implications of adding a testing or staging environment. There might be a need to upgrade your license level if you want to unlock and configure certain features to support a multi-environment website infrastructure.
SSL Certificates: To maintain security best practices and to make sure the testing experience is consistent with what you will see on the live site, you will want to have an SSL certificate on each of your websites across all environments, whether they are public or internal. Multi-domain SSL certificates are often the most efficient approach to satisfying this requirement.
Access Restrictions: Any environment that is not Production needs to be locked down and appropriate robots.txt protections used so that access is restricted to authorized users only, and to ensure that bots both valid (i.e., Google) and suspicious bots do not crawl and index the site.
Internal Process Implications: How will your internal content management team work within a more complex environment? An important consideration for adding a new environment to your website infrastructure is how to best establish clear and efficient workflows for your internal resource team. It is vital to the integrity of your website content management to have a clearly defined and documented process in place. Your website development partner can often help make recommendations on best practices, as well as how to best leverage the CMS roles and permissions features to implement workflows that will best support your content management needs that factor in editing, reviewing, approving and publishing of all of your various website changes.
Architecting the right balance of website environments is a complex topic so it’s important to lean on your technology partner to help understand the options and make informed recommendations based on your specific needs. Reach out
to speak with someone at ZAG see if considering a new environment might be a good move for your business, institution or organization.