Development

Caching, conservative or progressive

Caching, conservative or progressive

Joomla's conservative caching stores pages per user; progressive caching per visitor and module. When to use which and what can go wrong with each.

Progressive vs. Conservative Caching in Joomla

Joomla provides two system caching modes: Conservative Caching and Progressive Caching. Both can improve website performance by reusing previously generated output instead of rebuilding everything for every request. The main difference is how Joomla caches modules and how much control individual modules retain.

Conservative Caching

Conservative caching gives you more control over what Joomla stores in its cache.

With this mode enabled, Joomla can cache the output of component views and individual modules. Every compatible module can have its own caching setting:

  1. Use Global means the module follows Joomla’s global cache configuration.
  2. No Caching means the module is regenerated on every request.
  3. Some modules also provide their own cache lifetime.

This makes conservative caching suitable for websites containing a mixture of static and dynamic information. For example, you might cache a menu, breadcrumb module or static HTML block while leaving a shopping cart, personalised message or frequently changing module uncached.

A module must support Joomla’s module caching options before it can be cached this way. If a module does not provide a caching configuration, Joomla will normally leave it uncached under conservative caching.

Progressive Caching

Progressive caching is more aggressive. Instead of handling each module separately, Joomla caches the collection of modules displayed on a page together.

For logged-out visitors, all modules on the page are cached. An individual module’s No Caching setting is ignored. This can reduce the amount of work Joomla performs when the same page is requested again, but it also removes the fine-grained control available with conservative caching.

Progressive caching is therefore most appropriate for websites where anonymous visitors generally see the same content and where modules do not contain information that must always be generated dynamically.

What happens to component views?

For Joomla’s core component views, there is no functional difference between conservative and progressive caching. Components determine whether their view output can be cached.

The key distinction between the two modes is therefore primarily the handling of modules, not components. This is an important detail because many older articles incorrectly describe the modes as two completely different page-caching strategies. Joomla’s official documentation explicitly warns that much of the information published online about these modes is outdated or incorrect.

What about logged-in users?

Joomla normally does not use these cache mechanisms for logged-in users. Serving cached output generated for one authenticated user to another could expose content that the second user is not authorised to see.

This means that conservative and progressive caching mainly improve performance for anonymous visitors. Progressive caching does not mean caching for logged-in users, despite this claim appearing in some older explanations. Joomla Cache documentation

System caching is not page caching

Conservative and progressive caching should not be confused with Joomla’s separate System – Page Cache plugin.

System caching can store:

  1. Component-view output
  2. Module output

The Page Cache plugin stores the output of the complete page. When a cached page is requested again, Joomla can return that finished page without rendering its individual component and modules again.

Page caching is therefore even more aggressive. It can provide a significant performance improvement for mostly static websites, but it requires extra care when pages contain personalised, interactive or rapidly changing content.

A useful way to view Joomla’s caching levels is:

  1. Conservative caching — selective module caching with greater control
  2. Progressive caching — combined module caching with less control
  3. Page caching — caching of the complete page

Which option should you choose?

For most Joomla websites, conservative caching is the safer starting point. It provides a useful performance improvement while allowing dynamic modules to remain uncached.

Consider progressive caching when:

  1. Most visitors are not logged in.
  2. Visitors generally see identical content.
  3. Modules do not contain personalised information.
  4. The website changes relatively infrequently.
  5. You have tested all interactive functionality after enabling it.

Use conservative caching when:

  1. The site contains dynamic or frequently changing modules.
  2. Individual modules require different cache lifetimes.
  3. Some modules must never be cached.
  4. The website includes e-commerce or interactive functionality.
  5. Reliability and control are more important than maximum caching.

After changing caching modes, always clear Joomla’s cache and test the website as a logged-out visitor. Check forms, menus, shopping-cart modules and other dynamic elements carefully. Caching should improve performance without causing visitors to see outdated or incorrect information.

Stuck on something else?

Doctor Joomla is a project of Cloudfaction, a Dutch agency building and maintaining Joomla sites since 1999. The articles are made with the help of AI, so tell us if something does not match your screen. Mail info@cloudfaction.nl if you want someone to look at yours.

Rather have someone look at it

Doctor Joomla is a Cloudfaction project.

A Dutch agency that has been building and running Joomla sites since 1999. If your site needs more than an article can fix, get in touch.