Why The Progressive Caching in Joomla Should Be Avoided

Caching is a good strategy to speed up a Joomla website. Not just Joomla but every content management system. What caching does is to save a static page and render it each time the page is clicked by a website visitor. Instead of loading the entire page along with all the extensions, what it does is to serve the saved page like a static page.

 

Further reading:

A Comprehensive Guide to Joomla Article Creation and Editing

Basic Documentation on Joomla Website Administration

Basic Virtuemart Configuration Tutorial

Fixing Problems: Notices, Warnings and Errors on Your Joomla Website

Good Optimization Will Boost The Speed of Your Joomla Website

How Secure is Your Joomla Website


How does the web cache work?


Joomla wants to present the fastest user experience possible to the visitor. As someone clicks through the site, Joomla makes snapshots of where they have been and saves them to a temporary directory. If the person wants to return to a previous location, the server grabs the temporarily saved page, which should be faster than going back to the data base and generating an entire new page which will load all plugins and extensions.

Sometimes this cache doesn't get cleaned out soon enough, so when you make a change in the administrator area then go to the front end to view it, you're actually looking at an old page that hasn't been updated yet.

Further reading:

 

To make the update apparent, you need to delete the temporary copy and force the browser to build a new page.
This gets double complicated because not only does Joomla make temporary pages, but your browser does as well. So even though you cleared Joomla cache, you may still have to clear your browser cache to see the changes. Clearing the browser cache may not be necessary if the browser cache system is not enabled.

You can minimize the effects of Joomla cache by clearing it occasionally, or you could just turn it off while you are developing and making changes. You can turn it back on again after you publish the live site.

Further reading:

How to set an article in a Joomla website to publish on a later date

Joomla Extensions Manager Tutorial

Joomla Manual Installation Tutorial

Joomla Menu Manager Tutorial

Joomla User Manager Tutorial

My Joomla Website Displays a Blank Page, What Should I do

 

How to Turn Off Cache While Developing


Go to Site > Global Configuration.
Go to the System tab and find the Cache Settings.

Set Cache to OFF - Caching disabled.

This will save you lots clicking around and to clear cache. You still may have problems with the cache in your browser, and you need to learn how to clear you browser cache as well. It's slightly different in each browser.

 

To clear your cache after you make changes to your website,


Go to Site > System > Clear cache

Click and select the items you want cleared and click delete. That will be all.

To turn on cache settings

Go to Site > Global Configuration and enable cache.

Next go to plugins and enable system cache

Next, go to template parameters and disable development mode. That will be all.

Which Cache System to Use


If you have visited the Global Configuration page on a Joomla 2.5 website, then you might have noticed that there are 2 types of caching to choose from:

The first is the Conservative caching and the second is the Progressive caching system

We often get calls from our clients asking us what kind of caching to use - we immediately tell them that they should enable the System - Cache plugin and only use conservative caching and never, ever use progressive caching unless they know that they need it. But, as you might've guessed, the conversation doesn't end here, because, like a forbidden fruit they want to know more why they should avoid progressive caching. In fact, when we tell them not to use the aforementioned type of caching, they are more interested in knowing more about it than conservative caching, which we told them to use.



And so we start by explaining the difference between conservative caching and progressive caching:

Conservative caching is the standard type of caching. Here's how it works:

A visitor visits a page on your website.
Joomla checks if there is a non-expired version of that page in its cache directory.
If the cached page exists (and it's not expired), then Joomla will serve it to the visitor - otherwise, a cached version of the page is created, and that cached version will be served to the visitor, and to every other consequent visitor, as long as it's not expired. The above scenario is typical and is how most developers implement caching.



Progressive caching works the following way:

A visitor visits a page on your website.
Joomla checks if a cached version of that page exists for that visitor and it's not yet expired.
If that cached page exists, then it'll be served to the visitor, otherwise, Joomla will create the cached page for that specific visitor and then will serve it to him.
If another visitor (who has never been on that page) visits that page, then Joomla will not serve the cached page of the previous visitor, instead, it will create a cached version of that page specifically for that user, and then serves it to him.


As you can see, progressive caching only offers a performance improvement if the same visitor visits the same page within the lifetime of the cached version of the page. In most scenarios, progressive caching results in a huge performance hit that is far worse than disabling cache, simply because for nearly every visit, Joomla has to process the request, create the cached version of the page, and then serve the page to the visitor (instead of just processing the request and serving the page in the scenario where cache is disabled). Oh, and don't forget about all the cache files generated by Joomla - you can only imagine how many of these files you will have in your cache folder if you have a high traffic news website (that has many pages).



Now you might wonder, under which circumstances is progressive caching useful? Well, imagine that you have a video website (similar to youtube). You want to show each visitor customized pages based on his location and/or browser settings and/or plugins installed. So, for every page that the visitors loads, you use this information to generate a customized version of that page and you cache it. If the visitor visits that same page again, then Joomla doesn't need to redo the work to generate the customized page.




Of course, there are many scenarios under which progressive caching is really useful, but in our opinion, progressive caching should only be considered if the website receives many visitors and if those visitors are mostly repeat visitors. Using it in other cases will cause a significant hit on the website's performance.

We know that caching in Joomla can be quite daunting - but fear not, we're here to help! Just contact us if you have problems with your Joomla caching (or if you just need advice). We're super fast, we're very helpful and friendly, we know our Joomla, and our prices are very, very affordable!

Joomla Web Hosting

Todhost provides free Joomla installation through the QuicInstall software. This will be found under the software section of your website control panel. With QuickInstall, you can install Joomla in very easy simple clicks. The installation is automated and the login details are sent to an email you specify during the installation. At the end of the installation, if you have issues, our customer support team is always there to provide the needed help through our ticketing and emailing system.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How to Speed Up Your Joomla Website

Think of Joomla! as a framework over which one can develop, integrate components and launch...

Good Optimization Will Boost The Speed of Your Joomla Website

Think of Joomla! as a framework over which one can develop, integrate components and launch...