Now that we've looked at cleaning up your website and using a caching plugin, we're going to look at the latest and most technical step: analyzing bottlenecks in your site. This article is not intended to be followed step by step, but rather offers you a number of tools that you can use to check your own site for elements that slow down the processes on your site. Just as a chain is just as strong as its weakest link, a site is as slow as its slowest calculation task.
Determine the problems
It can happen that your site responds slowly. Usually the problem turns out to be a specific action that delays other actions on the site. Consider, for example, saving a page, changing a specific widget or activating a different theme. By finding this out, you can delete a lot of possible causes of your problems and focus your attention on patterns. Activating a different theme slows down your site? Then you can see if another theme causes the same problem. Can't adjust a widget? Does another widget work? Try to find as many patterns as possible where you see problems, so you can determine where they arise and take action on them.
Error and access logs
At Savvii you have access to your error and access logs that you can also view via sFTP. These logs are a source of information for troubleshooting your site. The moment you see error messages in your error logs you can assume that your site is not working optimally. In the previous paragraph you see that you can search for patterns as much as possible. If you look at the error logs of your site after you have performed an action that causes problems, you can often find the error message at the relevant time. You can then analyze this error message and, for example, search on Google for possible causes / other people who have the same problem. As an example:
2017/02/20 13:59:00 [error] ********: * ###### FastCGI sent in stderr: "PHP message: PHP Notice: Undefined variable: background_image in / var / www /******-********/wordpress/current/wp-content/themes/showcase-pro/lib/page-header.php on line 29
In this error you can see that it starts with the date and time. If you look further, you will see the error message Undefined variable: background_image. If you search this in Google, you probably think this is a programming error. A bit further you see that this is found in the file page-header.php on line 29. This file comes from the theme showcase_pro. If you change the theme, the problem may not come back and you can reasonably assume that the problem is in your theme. Whether you then want to fix the theme, contact the theme makers or want to use a completely different theme is your next choice. This is just a very simple example of analyzing an error message. If this is too technical, it is advisable to call in a developer. If you are willing to take further action, you can also send us a message, we may be able to help you further with the error messages. If you do, don't forget to send us the error message.
The P3 Profiler plugin can be downloaded from the Wordpress Plugin repository and installed on every Wordpress site.
Note: you only want to install and activate the P3 Profiler plugin to investigate problems. The plugin analyzes a lot and can cause delays on its own.
If you have installed the plugin you can run a standard test or a more advanced scan on your website. The standard scan runs through a few pages of your website and looks at the back end. This involves looking at the number of queries (requests for the database) per page and which plugins take a lot of time. He will then indicate where the most time is spent and this data can be used to determine whether you still want to disable certain plugins or want to investigate further.
On thie plugin's FAQ page you will find frequently asked questions and answers.
Query Monitor is a feature-rich plugin to analyze the performance of your website. It does, however, require a certain degree of technical know-how and willingness to experiment with the different possibilities.
Note: the Query Monitor plugin is resource-heavy and will consume additional processing power to run. Only activate this plugin when you intent to use it and disable it when not in use.
Because of the big analysis potential of the Query Monitor plugin there is no "one size fits all" guide to analyze your specific website needs. We did write an article describing the interface, possibilities and some use-cases. Please use this article to gain some additional information in the usage of the plugin. You can find the article over here.
External speed tests
There are (free) external services that you can commission to visit and analyze your website. One one these pages, that is widely used by us is WebPagetest.org. This service visits your website (a number of times) from a location you specify and gives you a source of information including loading times of complete pages and loading times of individual elements. You can clearly see how many elements your site tries to load, how many KB is sent per element and how long this can take.
For a comprehensive manual and explanation of how you can read your results, we refer you to the (English) help page of WebPage Test.
WebPagetest.org. Make sure you enter your website address correctly and choose a test location that reflects the geographical location of your target group.
- WP_DEBUG and advanced error messages: https://codex.wordpress.org/WP_DEBUG
All steps from this step-by-step plan
Updating and cleaning up all extra elements of your website.
Set up our Varnish caching and own caching plugins
Step 3: analyze bottlenecks (here you are now)
A slightly more technical manual for analyzing further delays