Performance is one of the major purposes behind custom software development, alongside functionality, security, interoperability, and support. Performance is of major importance not only to website visitors but to search engines such as Google.
Researchers also claim that website users are affected by speed, while speed decreases they increasingly begin to leave and try other links instead. WordPress powered websites are particularly vulnerable to performance problems due to the plethora of themes and Plugins that often get applied to these websites on top of WordPress’ already extensive core. Many of the Plugins available today do not follow best practices for performance, whether they are free, premium, or even custom.
You might be surprised to learn that every single plugin you have installed gets loaded with every single page request. If the plugin has nothing to do with the page being requested, most of its logic is usually skipped. If the plugin does filter or otherwise hook into the content of the page somewhere somehow, most of the logic within the plugin will be executed in realtime. Individual plugin logic may or may not be optimized for performance. Regardless of whether the plugin is performance optimized, every plugin will affect your website’s performance to some degree.
The fact that all Plugins affect performance means that in order to optimize performance one needs to be conservative with the quantity of Plugins they activate, and selective with the particular Plugins they choose. It is theoretically possible to provide all of the functionality one needs in a single custom plugin. The more Plugins one hobbles together to achieve their needs, the greater the potential performance hit. This is especially the case with Plugins that do more than is required. Using out of the box and free Plugins guarantees that within those Plugins is logic that doesn’t pertain to an individual’s particular needs. Nobody’s website is one size fits all, which explains the need for the concept of Plugins in the first place!
So to see where the websites you manage stand on performance let’s run some tests. The primary measure of website performance is the full page load speed for each landing page on your website. This excludes any cache your browser might have for your site. You can mimic the full page load by using CTRL+F5 on Windows or CMD+R on Mac. You can also test your web page load performance using one of several possible tools:
- Plugins for FireFox such as FireBug and YSlow
- Apple Safari / Google Chrome Inspector. Enable developer tools in the settings, then right click on the page and choose “Inspect Element”.
- Third party websites can run tests on your website, including:
And finally, here’s our list of WordPress website performance pointers:
- Plugins: Disable and delete any Plugins that you don’t absolutely need. Use small or lite versions when available, trying to keep the code to a minimum. Use custom made Plugins when your needs can’t be met without creating a mess of hobbled together Plugins.
- Number of Requests: How many network requests are taking place? If your site is making too many requests, it will slow down page performance dramatically. There are many techniques to decrease the number of requests your site is making.
- Multiple Servers: Where are your requests coming from? They should be coming from your site directly or offloaded to some form of a CDN (Content Delivery Network) with high availability. The requests should not be coming from free public feeds that can cause your page to really slow down or crash. If using Facebook or Twitter integration, for example, make sure that you use a plugin that has failover capability built in (i.e., loads secondary to page content and manages timeouts).
- Web Host: Not all shared hosting plans are the same. Pay for the pro edition and be at the top of the shared hosting spectrum if you are going with shared hosting. Go with VPS or dedicated hardware if your requirements are heavy, but ensure the plan includes a fully managed solution unless you are an expert with server administration.
- Web Server Compression and Caching: Enable Apache gzip and file caching. Depending on what your web host has enabled or what they allow you to enable, be sure to attempt gzip compression as well as setting cache expiration headers for all image and text-based files. These settings can be controlled by some caching Plugins or can be placed in a .htaccess file.
- WordPress Caching Plugins: These show mixed results. We recommend tuning up your site with them turned off, then if your site takes more than 1.5 seconds per page, try them one at a time and measure how each one works within your architecture. Caching Plugins can speed-up the internal PHP and MySQL processing on page requests.
- Web Server RAM: Changing the PHP RAM settings could be necessary, but will not necessarily increase speed. Increasing that setting could allow memory leaks in certain Plugins to overload the server resources for a disproportionate quantity of visitors. It’s best to stick with a standard setting (usually 128MB) or measure your memory footprint with a plugin that displays this information in the dashboard and use a reasonable value just above that.
In closing, we hope we have conveyed the importance of website performance as well as provided a useful reference for measuring and improving the load speed of your website.
Thank you for taking the time to read this post. Note that we really appreciate feedback about what we’ve written as well as what topics you’d like us to discuss in future posts so please do let us know.