3 Essential Deployment Environments For Your WordPress Marketing Website
Published: September 4, 2020
Last Updated: February 15, 2021
When starting with a new client on their website, one issue I frequently encounter is the lack of deployment environments. Often times there is only one consumer facing website instance deployed as a production environment. Many times there is no system of formal backups in place and these conditions serve as a recipe for disaster that can make life more difficult in the event of a hack, or if a customization goes wrong and your site starts showing error messages, or a white screen that your unsure of how to repair.
Public facing websites have been important for a long time, but it really sunk in how critical one can be when the corona-virus crisis hit and there was a rapid acceleration towards conducting business and generating leads digitally. One of the first things I do when starting with a new client is set them up on a multi stage deployment environment. In this post I’ll go over what deployment environments might look like in an enterprise software environment and how that translates into something more basic like a marketing website for a business.
Mature Software Applications
Mature software applications often have large teams of people involved with a stake in the successful release of a new version. The basic groups are:
- Internal Product Team
- Quality Assurance Testers
- Product Managers
- Project Managers
- Project Sponsors And Clientele
- End Users
Each of these groups of people have different needs from the environment that they are working in. For instance developers often have to exchange code bases and move application versions between machines so it likely doesn’t make sense to load up development environments with petabytes of data that may reside in a production application. Developers may also be restricted from having access to certain information such as encryption keys in lower level environments.
End users in a production environment may command high end hardware with replicated servers capable of handling high levels of concurrent users and high levels of accuracy in the data. The info graphic below shows an example of what a progressive publishing workflow might look like for enterprise software.
Customer Facing Marketing Websites
Customer facing websites are often much more simple than enterprise software, but that doesn’t mean companies can’t benefit from a multi environment setup to serve various stakeholder groups in the way that enterprise software does. The difference is that public facing marketing websites are often times much less complex in terms of code and primarily have content modifications such as text and graphics changes done to them. These changes present much less risk to the functioning of the website and require much less buy in and testing from stakeholder groups. For must public facing marketing websites a 3 environment setup is ideal.
Unless there is a special request for a hand coded website, we leverage WordPress for our marketing websites since it strikes such a strong balance of minimizing cost and scaling up with the needs of the business. The info graphic below shows the 3 necessary environments for a businesses WordPress website, but they can apply to static websites and other frameworks as well.
One reason I quit subcontracting for other agencies is that they often don’t understand the need for a multi environment setup and try to keep the costs down for themes and plugins, which are often licensed on a per URL basis, by using a single instance on a production server. Everyone is making changes to that server and someone is bound to make a mistake. When mistakes happen on a production server they have to be fixed immediately. That’s one of the reason you’ll hear agency owners talk about 911 fires they had to put out relating to websites. With multi tiered environments, progressive publishing, and proper backup/restore capability there should almost never be an all hands on deck emergency.
Developers should have their own dedicated environments on their local machines. Developers need access to code files without having to pull them down from servers via FTP and other hurdles that can hinder productivity. Developers also need to be able to make breaking changes as a normal part of developing a website without fear of having impacts to other stakeholders while they work. There is an initial expense for developers to get access to website files and setup a local environment on their machine, but this expense will be offset by increased productivity and reduced hours required to complete development tasks.
Staging environments are a place for developers to push their code and allow internal stakeholders to collaborate on changes, make content edits such as creating blog posts, adding images or graphics, and updating landing pages. Staging environments are where your internal marketing team and an agency can collaborate on changes and get everything ready for publishing to your production site without affecting the production website and the customers and prospects viewing it. With a proper setup it should be quick and easy to pull the trigger on moving staging changes to the live site once all stakeholders are in agreement.
Staging environments can typically be allocated much less computing resources since there will be minimal traffic to the site, which keeps hosting costs down. Working on changes in a staging environment also comes with the added benefit of being able to prevent polluting your analytics reports with 100s of page views while people collaborate on changes. If you’re a small company that doesn’t have dedicated IP addresses to exclude from analytics reports, or you are working with a remote team, this can be a a big plus for marketing analysts trying to make sense of site traffic.
Production environments should be capable of handling the load of many concurrent users as your site grows in popularity. Modern cloud platforms such as Microsoft Azure and Google Cloud offer the ability to automatically provision new computing resources to meet server load during peak times and automatically de-provision those resources when traffic falls, to minimize cost. Make sure your hosting provider allows you to quickly restore from backup in the event of an issue.
Working With Tortoise and Hare Software
Tortoise and Hare Software checks all the boxes for feature rich hosting and developing those better processes for managing the growth of your website and your business through multi-stage progressive publishing environments including development, staging, and production environments. Our hosting comes with caching and a content delivery network which makes your site fast and responsive while browsing. Couple these features and processes with the expertise of our developers and you’ll never have to worry about website headaches again. Reach out to us today to learn more about how we can help.