As the world grows to depend more and more on internet services, there an increasing demand for site stability and uptime. The side effects of even a minute of downtime can be devastating for businesses. Loss of credibility and user satisfaction, loss of sales or productivity, and loss of SEO are all major risks that companies face when considering the possibility of downtime.
At WP Engine we offer a 99.95% server uptime guarantee (and 99.99% uptime for those with enhanced SLA). But as many know, server uptime isn’t the only risk. A bad deployment, SSL conflict, or security issue can also lead to your site being unavailable to your users and the internet.
At WP Engine we understand why uptime is important to your team. That’s why we use the latest technology to keep your sites fast, accessible, and fine-tuned for success. However, there are some best practices for developers and site managers to help achieve the best overall availability.
Automate your Workflow
Improving your development workflow is one of the most important steps in achieving high availability. If your team uses continuous integration and/or continuous deployment tools, this is already a step in the right direction. These tools allow for test-driven development and deployment of site code. By automating your workflow and testing against builds, this enables your team to make fewer coding mistakes. This in turn ensures your site is always accessible and error-free. End-users on your site will have more trust and overall satisfaction in their experience as a result.
Some general principles to consider when using continuous integration and continuous deployment in your development workflow:
- One codebase to rule them all: In short, everyone should check out code from and integrate into a single repository of code.
- Commit early, commit often: A general principle behind continuous integration and continuous deployment is that developers should commit their code frequently. For smaller tasks this could mean integrating code several times daily, and for larger tasks it might be once a day, or several times a week.
- Reduce human error with automation: The continuous integration or continuous deployment software you choose to use should be able to automate building, testing, and deploying your code to a staging or test environment. By automating the testing and build process, you reduce the risk of code conflicts and errors in building your project.
Luckily, even if a code mistake slips through, WP Engine makes it easy to restore your site. We automatically make backups each night, and offer the option to make additional backups at any time. Restoring to those backups is quick and easy in the User Portal.
Opt for High-Availability Architecture
WP Engine offers high-availability server architecture with the latest technology from AWS. The concept behind this architecture is to eliminate your server as a single point of failure. These clustered servers offer maximum uptime by serving your site from multiple servers in different datacenters. In doing this, it allows your site to automatically “failover” to healthy, available server nodes if one datacenter experiences downtime.
To learn more about the technology behind WP Engine’s high-availability environments, reach out to your Account Manager. If you are unsure of who your Account Manager is, simply contact Support via 24/7 chat in your User Portal and we are glad to help.
Implement Uptime Monitoring
Beyond coding safely and efficiently and using highly-available architecture, it’s also important to monitor site uptime. Monitoring will alert you whenever there are issues communicating with your site. Knowing immediately when your site is displaying errors is important. This knowledge empowers you to fix these errors as quickly as possible, reducing the impact on your users.
Common uptime monitoring services include Pingdom, Uptime, StatusCake, UptimeRobot, among many others. These services ping your site at regular intervals to ensure they are getting a valid response. If response time is high or an unexpected HTTP Status is returned, the service will notify you.
Maintain High Cacheability
Cacheability is one of the most important factors in your site’s ability to scale. As more traffic is driven to your site, the many caching layers that make up WP Engine’s Evercache® system keep your site fast and flexible. By nature there are some types of website requests which cannot be cached. These uncached requests should be kept to a minimum to allow for greater scalability. To learn more, see Improving Cacheability.
Keep Databases Optimized
The way your site communicates with its database is an important factor in site speed and scalability. The more efficient your SQL queries are, the faster your site can respond to dynamically-generated page requests. This means your site can serve more concurrent traffic, and reduces the risk of traffic spikes bringing your site down. Keeping your database optimized includes following best practices for Table Storage Engine formats, cleaning up orphaned metadata, and cleaning up any excess disk space utilization with the Optimize Tables command. To learn more, see Database Optimization Best Practices.
Follow Security Best Practices
We understand that malicious code can cause effective downtime on sites and major damage to your site’s reputation. Because of this, WP Engine does a lot of work behind the scenes to keep your site secure.
However, security is a hand-in-hand partnership with our customers. Since WP Engine allows just about any WordPress plugin and theme to be used, maintaining them on your end is very important. Outdated software is the leading cause of malware infections on websites by a wide margin. WP Engine helps by keeping your WordPress core files up to date. On your end, simply updating your plugins and themes whenever an update is available can easily prevent most infections.
Using a service like CloudFlare or Sucuri WAF is a great way to prevent bad-actors from accessing your site. These tools sit in front of your site to help protect it from malicious traffic before they even hit your site’s server. In fact, these services also mask the IP address where your site’s content is hosted, which inherently helps prevent DDoS attacks.
To configure extra security settings on your site, there are many plugins to help. The most popular security plugins include iThemes Security and All-in-One WP Security and Firewall. These plugins can help hide your login page, configure blacklists and whitelists, force logouts after periods of inactivity, and much more.