Tips for Troubleshooting Website Performance Issues

There are multiple factors that can affect the amount of time that it takes for a website to load: improperly sized images, uncompressed Javascript files, and lack of caching to name a few. In this article we are going to walk through various steps you can take to test and better optimize the performance of your website.

Edge Cache provides performance improvements, especially in terms of your site’s Time to First Byte (TTFB), by serving page cache directly from the closest server available to a site’s visitors.

Learn more about managing and testing Edge Cache in the feature’s dedicated documentation.

A slow response time can also be due to outdated plugins and theme files. Not only that, outdated plugins can also be a source for malware to infect your website – another great reason to stay on top of updates. Make sure that everything is running on the latest and greatest versions.

Also take a look at the number of plugins that your website is using and try to keep that number as low as possible. The more plugins that you use, the higher the chances that one of those plugins will negatively impact your website or will conflict with one another. The fewer plugins, the better.

GTMetrix is a free tool that analyzes your page’s speed performance. It generates reports about the load time and size of your website. Additionally, it provides recommended actions to better improve speed and rates your website against those recommendations. When trying to analyze what might be affecting the load time of your site, this tool is very informative.

WebPageTest is another tool for measuring webpage performance. It provides a filmstrip view of all assets being loaded by your website, how long those take to load, and what assets might be causing rendering issues. It is also useful for testing your website’s time to first byte (TTFB). Ideally you would want your TTFB to be 0.50 seconds or less.

 

Note that is it is not recommended to utilize multiple CDNs on a single site. The Jetpack Site Accelerator CDN options and Pressable CDN should not be used together.

If you are on the Personal plan or greater, it comes with a free Jetpack Security Daily plan for each of your websites. The Entry plan only comes with the Jetpack Free license. Not only does Jetpack Security Daily provide automatic backups, malware scanning, and activity reports, it also offers site optimization. Enable the Site Accelerator to run static files and images through Jetpack’s CDN. Enabling image lazy loading is usually particularly effective at decreasing the load time of your website.

How to activate Jetpack Security Daily »

Sometimes you may need a little more help in optimizing your website images and static files. The following plugins may be useful in that regard:

Smush

WP Smush is an image optimization plugin that allows you to compress and optimize your website images quickly and easily without loss of quality.

Fast Velocity Minify

This plugin reduces HTTP requests by merging CSS & Javascript files into groups of files, while attempting to use the least amount of files as possible. It minifies CSS and JS files with PHP Minify.

Autoptimize

Autoptimize makes optimizing your site really easy. It can aggregate, minify and cache scripts and styles, injects CSS in the page head by default (but can also defer), moves and defers scripts to the footer and minifies HTML. Plus much more! Read more about query monitor plugin.

The best configuration for Autoptimize will vary depending on the site, but it’s recommended that you first try enabling the following settings: Optimize JavaScript Code, Aggregate JS-files, Optimize CSS code, Aggregate CSS-files, Aggregate inline CSS.

It is extremely common to find that a plugin has been the culprit in a slow loading website. The quick way to test if a plugin is causing performance problems is to disable them all. If you see an immediate improvement then you know at least one of those plugins is to blame. Reactivating them one at a time until you notice a problem again will help you identify which one is the source. This conflict testing can be done on a clone so it does not impact the live site.

Another way to identify a problem plugin is to test your website using either GTMetrix or WebPageTest, and then deactivate those plugins one at a time, retesting the site speed each time. It can be a time-consuming but very productive experiment.

Please make sure you back up your database before performing this test. Occasionally, deactivating plugins can also reset their settings.

Batcache stores and serves rendered pages. In a nutshell, when your page receives two visits within a period of two minutes, a cached version of the page is stored on the second visit for five minutes. Future visitors will receive the cached version for five minutes, after which a fresh render of the site will be used.

Certain things can cause Batcache to stop working. Most notably, cookies that begin with “wp” or “wordpress” will prevent caching. If you are logged into WordPress, one of those cookies will be loaded and you will not see a cached version of your site. WooCommerce pages will also load these cookies.

To verify that your page is indeed being cached by Batcache, load the source code of your page. For example: view-source:https://kb.pressable.com/. You should see an HTML comment like this at the very bottom of the page:


Sometimes the HTML comment may not appear. You may also check for the x-nananana header in the HTML response.

If you 1) do not see that HTML comment or header, 2) the website has been reloaded a couple of times, and 3) you are not logged in, you should check for cookies that bypass our page caching mechanism in the Network tab of your browser developer tools:

Learn more about how Batcache works »
How to prevent Batcache page caching »
Extend the time Batcache caches your site »

The Query Monitor plugin is a free debugging tool that helps assess the performance of your website. It gives an in-depth analysis of all of the requests being made to the server including database queries, HTTP requests, hooks & actions, and so much more. It can be used to help identify a plugin, script, or database query that is negatively impacting the load time of your website.

If you are experiencing performance issues with your website and have already checked obvious possibilities, the Query Monitor plugin can help you dig deeper into the functionality of your site to identify problems. Read more about the features and how to use the query monitor plugin.

Note that the Query Monitor plugin should only be active when testing and should be deactivated when not being actively used.

With a little effort and assessment, an improvement in website performance should be seen if the suggestions and guides above are implemented.