How to Speed Up a Joomla Website in 2026

Speed up Joomla

Written by

in

To speed up a Joomla website in 2026, fix Time To First Byte and images first, then JavaScript. Google ranks field Core Web Vitals (LCP, INP, CLS), not your one-off Lighthouse screenshot. Joomla 5 and 6 already have cache, Gzip, and the Web Asset Manager. Most slow sites are still on PHP 7, uncompressed images, Progressive cache on a logged-in shop, or five minify plugins fighting each other.

The 2023 version of this URL was a long “10 ways” list. That list still works. The destination changed. FID is gone. INP is the interactivity metric. Cassiopeia and modern templates load almost no jQuery unless an old extension drags it in. If you only enable Conservative Caching and call it done, you will not win a PageSpeed argument.

This is the order we use at Infyways on Joomla 4, 5, and 6 (current 6.1.3 / 5.4.8). For a full optimization project, see Joomla website optimization.

What you will learn

  • Why lab scores lie and Search Console field data does not
  • Conservative vs Progressive vs System Page Cache, without breaking logins
  • What actually moved in Joomla 5 and 6: Web Asset Manager, PHP 8.3, less default JS
  • The image and INP work most “speed up Joomla” posts still skip

What “fast” means in 2026

Metric What Google wants (good) Usual Joomla cause when it fails
LCP Largest content paints quickly Hero JPEG, no dimensions, slow TTFB
INP Clicks respond in about 200 ms or less Heavy JS, jQuery stacks, chat widgets
CLS Layout stays still Images without width/height, late fonts, ads
TTFB Server answers fast PHP 7, no cache, distant origin, huge SQL

Use PageSpeed Insights and Search Console together. The top of PSI is field data when Google has enough traffic. Lighthouse below that is a lab story on a simulated phone. A green lab and a red field report means your real visitors are slower than the test. Trust the field numbers for ranking.

Test tools still worth a pass: PageSpeed Insights, GTmetrix, WebPageTest, and your host’s TTFB. They do not replace Search Console.

Step 1: Measure one URL, logged out, on mobile

Pick the homepage and one heavy inner URL (product, article with modules). Test logged out. Logged-in administrator pages will always look worse. Note LCP element (usually the hero image), unused JavaScript, and TTFB. Do not change ten settings at once. You will not know what helped.

Step 2: Put PHP and the host on Joomla 6 footing

Joomla 6 expects modern PHP (8.3 on the official 5 to 6 path). Shared hosting on PHP 7.4 will lose to a cheap VPS on 8.3 with OPcache. HTTP/2 or HTTP/3, SSD, and a region near your users beat another caching plugin.

If you are still on Joomla 3, speed work is a delay tactic. Upgrade path is in Joomla 3 to Joomla 6.

Step 3: Turn on Joomla cache the way the site actually works

Global Configuration, System tab, Cache Settings:

  • Conservative Caching: safe default. Modules can still vary. Use this on shops, membership, and anything with a cart or login.
  • Progressive Caching: more aggressive. Fine for a brochure site that is identical for every guest. It will show the wrong module to the wrong user if you sell or personalize.
  • Cache Handler: File is fine on small sites. Redis or Memcached if the host actually runs them. Do not pick Redis because a blog said so.
  • Cache Time: start around 15 minutes. Raise it if content barely changes.

Separately, the System, Page Cache plugin caches full HTML for guests. That is often the biggest Joomla-native win. Exclude cart, checkout, and account pages. Purge cache after template or extension updates.

Module-level cache helps repeating chrome (menus, footers). Do not cache a module that shows the logged-in name.

Step 4: Compress on the server, then confirm in Joomla

Gzip in Global Configuration, Server tab, still matters if the host is not already sending Brotli or Gzip. Many Nginx stacks already compress. Enabling Gzip twice does nothing useful. Confirm in the response headers (content-encoding: gzip or br). Walk through the admin toggle in test and enable Gzip in Joomla. If the host offers Brotli, prefer it at the server and leave Joomla Gzip off to avoid double work.

Also send long cache-control for /media, /templates, and images. Joomla’s Web Asset Manager appends a version query when assets change, so long browser cache is safe if you actually use WAM. See the Web Asset Manager docs.

Step 5: Fix LCP, which is usually an image

Resize the hero to the largest size you display. Serve WebP or AVIF with a fallback. Set width and height so CLS does not jump. Lazy-load below the fold only. Never lazy-load the LCP image.

A 4000px PNG in a 720px column will beat any cache plugin. If you want that conversion inside Joomla, our JoomlaX WebP/AVIF tools exist for that job. CDN the /images tree after the files are small.

Step 6: Cut JavaScript until INP recovers

Joomla 4+ templates should not ship jQuery for decoration. If the page still loads jQuery, an extension asked for it. Unpublish sliders, live chat, and “add to any” buttons you do not use. One chat widget can wreck INP on mobile.

Do not install three CSS/JS minify extensions. They race, break Web Asset Manager order, and duplicate HTTP requests. Pick one approach: a capable template, or one well-supported optimizer, or Cloudflare’s rocket features, not all three.

Defer non-critical JS. Keep first click handlers light. INP is about the worst interaction on the page, not the first paint only.

Step 7: Use a CDN for bytes, not as a substitute for PHP

Cloudflare, Bunny, or Fastly help static files and TTFB for distant users. Purge after deploys. Page rules that cache HTML for logged-in cookies will leak carts. Cache /media and images aggressively. Be careful with HTML at the edge on Joomla sites that set cookies on first view.

Step 8: Clean the CMS so the cache has less to store

  • Uninstall unused extensions. Disabled plugins still load in some stacks. Uninstall.
  • Keep Joomla on 6.1.3 or 5.4.8. Old 3.x PHP loops are slow and unsafe.
  • Limit modules in the header. Every module is queries and HTML.
  • Turn off debug and uncompressed scripts on production.
  • Database: delete expired sessions, old banner tracks, and leftover #__session bloat if the host shows huge session tables.

What not to do

Habit Result
Progressive cache on a shop Wrong prices or a logged-in module on a guest page
Five “speed” plugins Broken CSS, duplicate jQuery, worse INP
Lazy-loading the logo and hero Worse LCP
Chasing 100 on Lighthouse desktop You ignore mobile field data
Gzip plus Brotli plus a minify CDN plus JCH Unreadable CSS and no way to debug

Key takeaways

  1. Speed up Joomla for LCP, INP, and TTFB, not a vanity lab score.
  2. Conservative cache plus Page Cache for guests beats Progressive cache on personalized sites.
  3. Images and PHP version usually beat another minify extension.
  4. Use the Web Asset Manager. Stop injecting raw script tags in the template.
  5. One optimizer stack. Then re-measure the same URLs.

Frequently asked questions

How do I speed up a Joomla website in 2026?

Measure field Core Web Vitals, raise PHP, enable Conservative Caching and guest Page Cache if the site allows it, compress responses, shrink the LCP image, and remove extra JavaScript. Then retest the same URLs.

What is the difference between Conservative and Progressive Caching?

Conservative caching is the safe default and respects module variation. Progressive caching stores more aggressively and is for sites that look the same to every guest. Do not use Progressive on carts, membership, or personalized modules.

Does Gzip speed up Joomla?

It reduces HTML, CSS, and JS bytes if the server was sending them raw. If Nginx already sends Brotli or Gzip, turning it on in Joomla will not magically double the gain. Check response headers.

Will a caching plugin replace a slow template?

No. Cache serves the same heavy HTML faster the second time. It does not fix a 2 MB hero or 400 KB of jQuery plugins on first view.

Is Joomla 6 faster than Joomla 3?

A current 6.x site on PHP 8.3 with Web Asset Manager is in a different league than Joomla 3 on PHP 7. The CMS version alone is not a PageSpeed plugin. You still have to size images and modules.

Conclusion

Speed work on Joomla is a sequence: measure, host, cache, compress, images, JavaScript. Skip the sequence and you get a graveyard of speed extensions. If you want that sequence run as a project, use Joomla website optimization and keep the site patched under support.