Joomla Learn
Joomla LearnThe practical desk
Getting StartedInstallationTemplates & ExtensionsSecurityTroubleshooting

Cache

Learn how Joomla cache stores pages, component views, and module output. Configure caching safely, clear stale content, and troubleshoot updates that do not appear.

Cache

Joomla cache stores a complete page or selected parts of a page so the site does not have to rebuild every response from the database. Used carefully, it can improve how quickly visitors receive repeat requests. Used without checking the page's behavior, it can also make updated content appear missing or show the wrong state of an interactive feature.

This Joomla cache reference explains the main cache layers, where to configure them, when to clear them, and which settings deserve extra care. It is written for site owners and administrators who need a practical way to improve delivery without hiding fresh content or breaking personalized pages.

Joomla administrator reviewing cache settings in a clean dashboard

What Joomla cache stores

Joomla can cache different parts of a page rather than treating every response as one indistinguishable object. The main administrator-facing types are:

  • Page cache: stores the whole rendered page for a URL.
  • View cache: stores output produced by a component view when that component supports caching.
  • Module cache: stores the output of a module, subject to its own caching options and the global cache mode.

There are also caching facilities for developers, including storage for database query results and other generated output. Those mechanisms are controlled by application code rather than by a simple administrator switch.

The distinction matters during troubleshooting. If an article change is not visible, the old response may be coming from a page cache, a component view cache, a module cache, a browser cache, or another cache layer outside Joomla. Clearing one layer may not remove all older copies.

Joomla cache settings in Global Configuration

Open the administrator area and go to System, Global Configuration, then the System tab. The Cache Settings section controls the core system cache behavior. The available system cache modes are:

  • Off: Joomla system caching is disabled.
  • On, Conservative caching: Joomla can cache supported component output and modules that are configured to use the global setting.
  • On, Progressive caching: Joomla caches component output and, for logged-out visitors, uses a broader approach to module output.

The cache time is measured in minutes in Global Configuration. A shorter time can suit a site that changes frequently. A longer time can reduce regeneration for content that rarely changes, but it also means visitors may continue to receive an older cached response until the entry expires or an administrator clears it.

The Cache Handler determines where cache data is stored. File storage is a common starting point. Other handlers may require the relevant PHP support and hosting configuration, so changing this option should be coordinated with the server environment rather than treated as a performance shortcut.

Conservative and progressive caching

Conservative caching gives an administrator more control over individual modules. A module's Advanced settings can generally use the global cache behavior or choose No caching. This is useful when a page contains a mixture of stable and dynamic elements, such as a static navigation area alongside a module that changes frequently.

Progressive caching takes a broader approach. For logged-out visitors, module output is cached as part of the rendered combinations Joomla serves. In this mode, an individual module's no-cache preference does not provide the same exclusion behavior that it does under conservative caching. That makes progressive caching worth testing carefully on sites with dynamic modules.

The two system modes should not be understood as a simple logged-in versus logged-out switch. Joomla's component code determines whether particular views can be cached, and core behavior can exclude logged-in visitors or requests that depend on session data. The safest choice is to test the actual pages and visitor states used by your site.

How Joomla page cache works

Page caching is enabled separately through the System - Page Cache plugin in Extensions, Plugins. When enabled, Joomla can serve a stored page for a matching request instead of generating that page again from the database and application output.

Page cache is broad because it may include the component output, modules, plugins, and template result for the page. That makes it attractive for genuinely public, stable pages. It also creates the greatest risk for pages whose output changes according to a visitor, session, cookie, form submission, account, or shopping basket.

Before enabling it across a site, identify pages that should not be cached. The Page Cache plugin provides exclusion options for selected menu items and URL patterns. Use those exclusions for pages that must reflect a user's current state. After changing the plugin, test both logged-out and logged-in behavior in a private browser window or a separate test account.

Module caching deserves a page-by-page check

Modules are small site elements that can appear in one or more template positions. Examples include navigation, breadcrumbs, recent articles, custom text, search, and other extension output. Their data and display rules vary, so applying the same cache choice to every module is rarely a good maintenance habit.

Review a module's Advanced tab before allowing it to use the global setting. Ask:

  1. Does the module show the same result to every visitor?
  2. Does it depend on login status, permissions, a session, or a request value?
  3. Does the content change often enough that a cached copy would confuse visitors?
  4. Can you test its output after enabling the selected cache mode?

A public navigation menu may be a reasonable caching candidate. A user-specific account panel or a module that reflects a live session usually needs a different treatment. If a module supports No caching, use that option where a stored response could expose stale or personalized content.

How to clear Joomla cache safely

When a saved article or configuration change is not visible, clear Joomla's administrator cache before making more invasive changes. In the administrator area:

  1. Go to System.
  2. Select Clear Cache.
  3. Select the relevant cache group, or use Delete All when a complete administrator-side cleanup is appropriate.
  4. Reload the affected page and check the result in a private browser window.

For page caching, the page cache group must be cleared when you need to remove stored full-page responses. An article edit does not necessarily invalidate every page on which that article appears, so a page can continue showing the older version until its entry expires or is removed.

For a focused walkthrough, see this clear Joomla cache tutorial. It covers the administrator cleanup path and the common situation where stale files keep returning.

Clearing Joomla's cache does not automatically clear every external copy. If the old content remains, check these additional layers:

  • The browser cache for the device being used to test.
  • A hosting or server cache managed by the provider.
  • A content delivery network cache, if the site uses one.
  • A reverse proxy or web server cache.
  • An extension that stores its own generated output.

Clear only the layer relevant to the symptom when possible. A full purge can be useful during a controlled update, but repeatedly deleting every cache can hide the real configuration problem and temporarily increase regeneration work.

A practical Joomla cache configuration workflow

Use this sequence when configuring caching on a new or changing site:

  1. Record the current behavior. Test representative public pages, login pages, forms, search, menus, and any commerce or membership flow before changing settings.
  2. Choose a conservative starting point. Enable only the level of caching you can test and explain to the site's maintainers.
  3. Set a reasonable cache time. Match the period to how often content changes and how quickly updates must reach visitors.
  4. Review modules individually. Exclude modules that depend on personal, session, or rapidly changing data.
  5. Enable page caching selectively. Start with stable public pages and use plugin exclusions for interactive areas.
  6. Test multiple visitor states. Compare logged-out, logged-in, mobile, and desktop views when the site serves different output.
  7. Document the purge path. Make sure future editors know where to clear cache after publishing changes.
  8. Measure before adding more layers. If caching does not solve the delay, inspect hosting, database, extensions, assets, and server response time instead of enabling every available cache option.

The goal is not the largest possible cache. It is a predictable response that stays correct for the people and workflows the site serves.

Joomla cache and site security

Caching is not a substitute for updates, access control, backups, or extension maintenance. A 2026 report on ongoing CMS exploitation attacks described campaigns targeting public vulnerabilities in CMS software and extensions, including Joomla-related software. The practical lesson is simple: keep Joomla and extensions patched, remove unused additions, limit administrator access, and maintain a tested backup process.

Do not assume a faster site is a safer site. Review cached pages for accidental exposure of private or session-specific data, especially after installing an extension or changing a module. If you find unexpected files, accounts, or server behavior, treat that as a security investigation rather than a cache-clearing task.

Common Joomla cache problems

Changes appear only after a delay

The relevant Joomla cache entry may still be valid. Clear the affected group, then test in a private window. If the old version remains, inspect browser, hosting, CDN, and extension caches.

A shopping basket or form behaves incorrectly

Broad page caching may be serving a response created for another request. Exclude the affected menu item or URL from the System - Page Cache plugin and review module caching around that workflow.

One module shows old information

The module may have its own cache setting or may be included in progressive module caching. Check its Advanced options, clear the related cache, and retest as both a guest and an authenticated user when relevant.

Clearing cache does not solve the issue

The visible page may not be generated by the layer you cleared. Confirm the URL, inspect external cache controls, and check whether an extension or hosting platform is serving a stored response. Also verify that the edit was saved and published in the intended category or menu route.

For a broader explanation of cache clearing, expiration, and troubleshooting, continue with this Joomla cache guide.

Frequently Asked Questions

Does Joomla cache make a website faster?

It can reduce repeated page generation by serving stored output instead of rebuilding the same response. The result depends on the page, hosting environment, cache handler, extensions, and whether cached output remains appropriate for the visitor.

What is the difference between Joomla page cache and system cache?

System cache can store supported component views and module output according to the selected global mode. Page cache is enabled through the System - Page Cache plugin and stores the rendered page for a URL. Page cache is broader and therefore needs more careful exclusions.

Should I use conservative or progressive caching?

Conservative caching is usually easier to control because eligible modules can opt out through their individual settings. Progressive caching takes a wider approach for logged-out visitors, so test it carefully when modules contain dynamic or request-specific output.

How often should I clear Joomla cache?

Clear it when you need to remove stale output after a change, configuration update, or cache-related test. Routine clearing should not replace a sensible cache time or a review of the layer that is actually serving old content.

Can I cache pages for logged-in users?

Do not assume that a page is safe to cache simply because the cache option is enabled. Joomla and its components may exclude logged-in or session-dependent requests, but interactive areas still require testing and, where needed, explicit exclusions.

Conclusion

Joomla cache is a set of storage layers, not one universal switch. Start by distinguishing page, view, and module caching. Choose a cache mode that matches the site's content, exclude interactive or personalized routes, and clear the relevant cache group when a saved change is not visible. With those habits, administrators can improve delivery while keeping published content and visitor workflows reliable.