img-1

Troubleshooting low PageSpeed score

There are a few simple setup steps needed which will help you to achieve the lowest page load time using Rabbit Loader for your page possible. This guide is also helpful in analyzing the low SpeedScore issues on the tools like PageSpeed Insights or GTmetrix.

Make sure the cache exists for a page

The first thing to check would be if a page is being served from an optimized cached version. To verify if it is optimized, look for the ‘x-rl-cache’ header on the page. This guide explains how to check if the optimized version exists.

cache-response-header

The header value for ‘x-rl-cache’ should be one of these-

  1. Hit – the page was served from the optimized cached version
  2. Miss – the page was not served from the cache. There could be a few reasons why a cached copy does not exist. We will look for possible reasons in this troubleshooting guide.
  3. The header is missing – if the header is missing, it indicates the changes made to the server are not reflected mostly due to the additional caching layer provided by the hosting server or services such as Cloudflare.

The cache is HIT but still getting a low PageSpeed Score?

If a page was loaded from an optimized copy, but still PageSpeed score is low, we need to analyze these things-

  1. Make sure JavaScript optimization is on.
  2. Make sure CSS optimization is on and critical CSS exists for the page. Critical CSS can be checked from the RabbitLoader console -> Reports -> CSS Optimization
  3. If you are using a Hero image, make sure the size is not too big. An ideal size would be less than 100 KB.

The cache is MISS

If a page was not loaded from the cache, the header value for ‘x-rl-cache’ would be ‘miss’. In this case, the page performance score would be low. There could be a few reasons why a cached copy does not exist.

  1. Verify there are no connectivity issues between RabbitLoader and the origin server. It can be analyzed by reading recent log messages in the RabbitLoader Console -> Help -> Messages section. Follow the instructions if any warning appears there.
  2. If the content changes are too frequent, the cached data is discarded, and affected pages are reoptimized. This can cause fluctuations in PageSpeed score. Depending on your website, please turn on/off the “Instant content change is crucial for my visitors” checkbox in the Settings tab of the RabbitLoader plugin.
purge-settings
Purge Settings in the WordPress plugin

The cache header is missing

If the ‘x-rl-cache’ header is missing, it indicates the changes made to the server are not reflected mostly due to the additional caching layer provided by the hosting server.

  • Many hosting providers enable Redis or Memcache, please purge the relevant cache from the hosting dashboard
  • If you have changed the NameServer settings for the website, for example, to use it with Cloudflare, make sure to complete the Cloudflare configuration steps, and purge it from their dashboard.

Ensure Advance Cache is on (only for WordPress)

WordPress users will see an additional header in the browser ‘X-Rl-Mode’. If the value is anything other than ‘ac’, it’s concerning. For example – ‘fallback’.

rabbitloader-headers

Please ensure the WP_CACHE constant value in the wp-config.php file is set to true. The wp-config.php file is located in the root directory of the WordPress installation. Open the file from the hosting server’s file browser and search for ‘WP_CACHE’. The line in this file should look like the below-

define( 'WP_CACHE', true );

Defer Analytics and Ads Loading (AdSense, AdThrive, etc)

If are using any analytics software or ad program on your website, they can increase the page loading time by a few seconds. In multiple scenarios, we have seen a huge PageSpeed score difference with and without ads bringing it down from 95+ for a well-performing website to ~70. With Rabbit Loader page rules, you can activate defer loading of ads with a single click.

Once these settings are updated, do a complete purge and allow at least 24 hours before you analyze the results.

Origin Connection Errors

For some reason, RabbitLoader may not be able to establish communication with your website’s origin hosting server. To identify such instances, go to the RabbitLoader plugin’s “Log Messages” tab, and look for any warnings or errors that are related to connectivity issues. Most of the messages are self-explanatory. On the console, this information is available under the Help dropdown.

Disable “Preloader” animations

Many themes come with “preloader” animation which prevents content display till all resources on the page have loaded. This is good for a normal website where asset loading is not prioritized. However, if a website is optimized with Rabbit Loader, the asset loading is prioritized and a few non-essential resources which are used way below towards the end of the webpage can be loaded later. This creates a problem with the “preloader” feature as the preloader animation keeps waiting for everything to be loaded and blocks the view of the entire page.

Please refer to the theme’s documentation or settings on how to disable the preloader.