How to Enable, Disable, and Clear Cache in Joomla

Joomla cache: enable, disable, and clear

Written by

in

Joomla caching stores generated HTML or module output so the next visitor gets a faster response without rebuilding the page from the database every time. You control three layers: Global Configuration System Cache (Off, Conservative, or Progressive), the System – Page Cache plugin for full-page snapshots (guests), and module-level cache choices. Clearing cache is System → Clear Cache (or Maintenance → Clear Cache on some layouts). The same model applies on Joomla 3, 4, 5, and 6. Official overview: Joomla Cache documentation.

This guide is the operations playbook: when to turn each layer on, how to turn it off for debugging, how to purge safely, and how to stop fighting CDN or browser cache that is not Joomla at all. If Clear Cache does nothing to storage, see Joomla cache not clearing. If you published and still see yesterday’s HTML, see cache showing old content. For speed work beyond cache: speed up Joomla.

What you will learn

  • What each Joomla cache layer actually stores
  • Conservative vs Progressive vs Page Cache (and when Progressive bites)
  • Step-by-step enable, disable, and clear flows
  • Handler choices: File, APCu, Redis, Memcached
  • Guest vs logged-in behavior
  • A go-live checklist and troubleshooting matrix

Infyways: Joomla website optimization · Joomla support · Joomla development.

Cache layers at a glance

Layer What it caches Who it usually serves Where you control it
System Cache: Off Nothing from global view/module caching N/A Global Configuration → System → Cache Settings
Conservative Views/modules you allow (module Advanced → Use Global / No caching) Guests mainly for shared output Global Configuration + per-module
Progressive Broader module combinations; overrides many per-module “No caching” expectations Guests; easy to show wrong modules on wrong pages Global Configuration
System – Page Cache Full HTML page snapshot Guests only (logged-in users bypass) Plugins → System – Page Cache
CDN / host / browser Edge or client copies Everyone who hits that layer Cloudflare, LiteSpeed, browser

Global System Cache alone does not equal full-page caching. Page Cache is a separate plugin. That distinction is the number one agency misunderstanding.

Recommended defaults (production vs build)

Situation System Cache Page Cache plugin Notes
Active development / styling Off Disabled Otherwise you chase ghosts
Content-heavy marketing site Conservative Enable after testing Set dynamic modules to No caching
Rarely changing brochure site Conservative or carefully tested Progressive Often enabled for guests Progressive needs QA on module assignment
Membership / cart / personalized UI Conservative + strict module exclusions Use exclusions or keep Off on private paths Never assume Page Cache is safe on personal pages

Step 1: Open Cache Settings

  1. Log in to Administrator.
  2. Go to System → Global Configuration.
  3. Open the System tab.
  4. Find Cache Settings.

Typical fields (labels vary slightly by version):

Field Meaning
System Cache Off / Conservative / Progressive
Cache Handler Usually File; APCu, Redis, or Memcached when PHP extensions and host support them
Cache Time Minutes until an entry expires (default often 15)
Path to Cache Folder Leave blank for default cache/ unless you have a deliberate custom path
Platform Specific Caching Adds device-type flavor to cache IDs when Yes

Official walkthrough: Cache docs.

Step 2: Enable Conservative caching (safe default)

  1. Set System Cache to ON – Conservative caching.
  2. Set Cache Handler to File unless your host already standardized on Redis/Memcached and you know how to flush it.
  3. Set Cache Time (start at 15–60 minutes; raise after you trust purge habits).
  4. Save.
  5. For each module that must stay dynamic (cart, login, personalized greetings), open the module → Advanced → set Caching to No caching.
  6. Leave stable modules on Use Global.

Conservative is the default you should prefer on client sites unless you have a reason and a test plan for Progressive.

Step 3: Enable Progressive caching only with eyes open

  1. Set System Cache to ON – Progressive caching.
  2. Save and clear cache.
  3. Walk key menu items as a guest. Confirm modules appear only where assigned.
  4. If a module “follows” you across pages incorrectly, switch back to Conservative immediately.

Progressive is faster on paper and famous for wrong-module-on-wrong-page tickets. Treat it as an advanced mode, not a trophy setting.

Step 4: Enable System – Page Cache (full pages for guests)

  1. Go to System → Manage → Plugins (or Extensions → Plugins on older menus).
  2. Search for System – Page Cache.
  3. Enable it.
  4. Review plugin options (browser cache, exclusions) for your version.
  5. Clear cache.
  6. Test as guest in a private window, then as a logged-in user.

Page Cache is the biggest win for anonymous traffic. Logged-in sessions normally bypass it. If editors say “I see the update but visitors do not,” clear the page cache group and check CDN.

Step 5: Disable caching for debugging

Use this order when something looks stale or broken:

  1. Disable System – Page Cache plugin.
  2. Set Global System Cache to OFF – Caching disabled.
  3. Clear Cache (Delete All).
  4. Bypass CDN (origin URL or development mode) and use a private browser window.
  5. Reproduce the bug.
  6. Re-enable Conservative (and Page Cache if needed) only after the fix is confirmed.

Do not leave production on Off after a support call ends.

Step 6: Clear cache in Administrator

Clear all

  1. Go to System → Clear Cache (sometimes under Maintenance).
  2. Check all groups or use Delete All / equivalent.
  3. Confirm the list empties or refreshes.

Clear one group

  1. Open Clear Cache.
  2. Tick a group such as page (Page Cache plugin) or a component/module group.
  3. Delete.

After content edits on a Page Cache site, clearing the page group is the move that fixes “guest still sees old article.”

CLI (when you automate)

From the site root, modern Joomla installs can use the console cache clean command provided by your version (joomla.php / CLI entry). Wire it into deploy hooks so releases purge File or Redis consistently. If the Admin broom works but Redis still serves old HTML, the handler was not File: cache not clearing.

Step 7: Clear what is not Joomla

Layer How to purge
Cloudflare / CDN Purge URL or cache everything after major publishes
LiteSpeed / host page cache Host panel or LSCache purge
Browser Private window or hard refresh
Opcode (APCu/OPcache) Host restart or panel tools after PHP deploys

Joomla Clear Cache never empties Cloudflare by itself.

Handler cheat sheet

Handler Use when Watch-out
File Default shared hosting Permissions on cache/; disk full
APCu Single-server PHP with APCu Not shared across multiple app servers
Redis / Memcached Multi-node or high traffic Must flush the right instance; FTP delete of cache/ does nothing

Always match Clear Cache expectations to the handler you configured.

Guest vs logged-in checklist

  1. Publish the change.
  2. Open a private window logged out. That is the Page Cache audience.
  3. Open the same URL logged in. You may see fresher HTML.
  4. If only guests are stale, purge Page Cache + CDN.
  5. If both are stale, check Progressive/Conservative and module cache, then CDN.

Deep dive: cache showing old content.

Troubleshooting matrix

Symptom Likely cause Fix
Changes invisible to guests only Page Cache or CDN Clear page group; purge CDN; test private window
Wrong module on wrong page Progressive caching Switch to Conservative; clear cache
Clear Cache “works” but Redis still old Handler is Redis/Memcached Flush that store; see not clearing
CSS/JS look cached Browser or CDN, not view cache Version assets; purge CDN; hard refresh
Site slow after turning cache Off Expected Re-enable Conservative after debug
Cart/login weirdness Module cached Module Advanced → No caching
Admin slow unrelated to front cache Different problem Profile Admin separately

Key takeaways

  1. Conservative + selective module exclusions is the safe production baseline.
  2. Page Cache is separate and mainly for guests. It is the big anonymous speed win.
  3. Progressive is optional and easy to misconfigure.
  4. Clear the layer that served the response: Joomla groups, then CDN, then browser.
  5. Match purge method to Cache Handler (File vs Redis).

Frequently asked questions

How do I enable cache in Joomla?

Open Global Configuration → System → Cache Settings, set System Cache to Conservative (recommended) or Progressive, save, then optionally enable the System – Page Cache plugin for guest full-page caching.

How do I disable cache in Joomla?

Set System Cache to Off and disable the System – Page Cache plugin, then Clear Cache. Also bypass CDN while debugging.

How do I clear cache in Joomla?

Use System → Clear Cache and Delete All, or delete specific groups such as page. Flush Redis/Memcached if that is your handler.

What is the difference between Conservative and Progressive caching?

Conservative respects module-level “No caching” choices more sanely for mixed sites. Progressive caches module combinations more aggressively and often causes assignment bugs.

Does Page Cache work for logged-in users?

Normally no. System – Page Cache is aimed at guests. Logged-in users generate personalized output.

Why do visitors still see old content after I clear cache?

Another layer is hot: CDN, host cache, or browser. Or Page Cache was not cleared. See cache showing old content.

Should I use Redis instead of File?

Use Redis when traffic or multi-server architecture needs it and your team can flush it on deploy. File is fine for many sites.

Does this guide apply to Joomla 4, 5, and 6?

Yes. Menu labels move slightly, but Off / Conservative / Progressive, handlers, Clear Cache, and System – Page Cache remain the core model.

Can Infyways tune caching on my site?

Yes: Joomla website optimization and support and maintenance.