When it comes to a money-producing website, speed and reliability do matter. The era of 33k dialup when visitors would patiently wait a minute for a site to load are LONG gone.
As we help clients to improve user experience on their WordPress websites and use WP ourselves, we wanted to share some of our experiences and strategies for WP server optimization. We have a lot of tricks in our bag!
Even if your website doesn’t have a lot of traffic, having an optimized WordPress server and website is critical to Google Adwords and Organic performance. The longer a site takes to load, the more likely a user is to click the BACK button and try a different site instead!
Before changing anything, it’s critical to start with a baseline. We like using a free tool called GT Metrix. See a previous blog post where we discuss how to improve website page load times. This process will catch a lot of page errors, bad scripts, bloated images and other bloat issues. Make sure to record the results for both the home page and other key pages (such as shopping carts) so that you have something to compare too later!
Regardless of what’s happening on the server backend, there are a list of optimizations that can be done on the front-end to improve page load times. Typically this will require a website developer or somebody familiar with WP to dig into. As mentioned in the Improving Website Load Time for more Leads blog post, common techniques include combining and shrinking JavaScript and CSS files, reducing the size of large images, using speed-optimized themes, disabling plugins that aren’t strictly necessary, and minimize use of 3rd party plugins such as Google Analytics. The 3rd party plugins all have an overhead to locate and load, so use sparingly and wisely.
This process could take 10 hours to work through, but will never be wasted effort.
We see that a lot of businesses start out by parking their beautiful shiny new WordPress site on a budget or entry-level shared hosting environment with their ISP, mail provider, Managed Service Provider, or something like GoDaddy. Functionally this certainly works. The downsides are that there is limited ability to tune the server or even understand what the bottlenecks and utilization is. It is what it is. On top of that, these hosting environments are typically shared with many other websites, which means that if another website has a ton of traffic, your site will also be impacted. Keep in mind that these hosting providers are designing for having MANY websites hosted and not just you, so they configure for broad compatibility instead of specifically for your lonely website.
As your website becomes more valuable and critical, you will want to consider a hosting option that can scale and be custom tailored to YOUR needs and what YOU want to get out of the website.
The challenge with the widely used CPanel and Plesk hosting options is that they are very vanilla, cookie-cutter, and proprietary. There isn’t much that can be done to improve server performance, other then to upgrade to a larger server with more expensive CPU processors and lots of RAM.
As Linux consulting experts, we recommend starting with a simple base Linux server (we prefer Debian and Ubuntu) that is bare-bones, lean and mean. We build a simple starting point that supports scalability. As required by your business and website requirements, we can utilize strategies such as:
For many years, the Apache web server using mod_php reigned as king. Best practices have changed so much in this area, that Apache is actually more of a last resort option. NGinx is very popular, with different tools like FPM for running the PHP engine. SSL can be offloaded as well to separate processes. Different web servers are optimized for different purposes, such as authentication, dishing out static files, and heavier back-end language runtimes such as Java, PHP, Python, and Ruby.
Choosing the best web servers for the job will definitely allow more users to be served in the same amount of RAM and CPU resources.
As mentioned above, caching is crucial. Caching can happen at many levels:
Some of these are enabled by default, some just need minor configuration, and some require explicit installation and setup to be effective.
Google Webmaster Tools, Search Console, and Pagespeed tools can be used to quickly find crawling issues, slow pages, errors and more on your site. Do keep a periodic eye on these tools, and/or set them up to notify you proactively of issues.
We need data to help pinpoint and solve issues once and for all. Stabbing in the dark doesn’t make sense, so we collect as many data points as possible. This includes items like:
We use Grafana for creating highly customized dashboards for our clients.
With a larger WordPress website that has custom modules, reports, integrations, and a ton of data, the database itself can start to be a bottleneck. This is easy to determine based on amount of CPU cycles being used by the MySQL system processes. Here are some of the things we evaluate:
On any serious website, having a test version of the website is VERY highly recommended. Its a small cost and insurance policy to avoid embarrassing website outages and glitches. The test version of the website can be used for many situations:
A typical URL might be https://wwwtest.YOURDOMAIN.com instead of https://www.YOURDOMAIN.com.
Use a website hosting expert to design a proper server configuration, monitor it, and make ongoing changes to improve performance as your business grows and traffic increases. If you rely heavily on your website for business purposes, Godaddy and such hosting providers are often not the best option. We would love to help you! Contact us using the form below for a budget estimate for WordPress optimization and Linux server management. We structure our agreement as follows: