New Version 1.1.1 What's new
  • Joomla 4.4
  • Joomla 5
  • Joomla 6
  • SP Page Builder
  • Helix Ultimate
  • YOOtheme Pro
  • Any template

Joomla!® EasySpeedThe Joomla speed plugin for Core Web Vitals

JoomlaMax EasySpeed is a Joomla system plugin that makes any Joomla 4.4, 5 or 6 site load faster and improves its Core Web Vitals, without changing how the site looks. On your own server it removes unused CSS, defers render-blocking scripts safely, serves images in WebP or AVIF at the size each screen needs, keeps text still while web fonts load, and answers guests from a built-in page cache before Joomla starts building. It is pure PHP and works on ordinary shared hosting, with no external service, no API key and no Node.js.

  • Starts in measure-only mode
  • Every feature has its own switch
  • Built-in page cache
  • Runs on shared hosting
  • Uninstalls cleanly
The Status tab of EasySpeed 1.1.0 in the Joomla administrator: environment checks for Joomla, PHP, image formats, SP Page Builder, Helix Ultimate and YOOtheme Pro, then a before-and-after table of stylesheet requests, blocking scripts and images without dimensions on the latest page
63 → 99PageSpeed mobile score, joomlamax.com
7.1 s → 1.9 sLargest Contentful Paint, joomlamax.com
The Status tab inside Joomla shows your server's set-up, what EasySpeed changed on the latest page, and what still slows it down.

Measured, not promised

PageSpeed results measured on two live Joomla sites: mobile score from 63 to 99 and from 59 to 98

With EasySpeed on, the mobile Lighthouse score of joomlamax.com rose from 63 to 99, and a magazine home page went from 59 to 98. Both are the median of three Lighthouse 12 mobile runs on 13 Oct 2026; “without” is the same live page with ?easyspeed=off.

Check it yourself: joomlamax.com in Google PageSpeed Insights (mobile) (opens in a new tab)

7 → 0render-blocking files, on both sites
8.4 s → 1.9 sLargest Contentful Paint, magazine home page
0.136 → 0.001Cumulative Layout Shift, magazine home page
−86%image bytes, magazine home page

joomlamax.com: score 63 → 99

SP Page Builder + Helix Ultimate, product pages and a blog

63
Without EasySpeed
99
With EasySpeed
joomlamax.com, mobile lab test, with and without EasySpeed
Mobile, labWithoutWith
Largest Contentful Paint (LCP)7.1 s1.9 s
First Contentful Paint (FCP)5.4 s1.3 s
Render-blocking files70
Page weight1,116 KiB641 KiB
Images218 KiB51 KiB

Scores of the three runs: 63, 89, 62 without · 99, 99, 99 with.

A magazine home page: score 59 → 98

SP Page Builder + Helix Ultimate, with ads, analytics and 40+ images

59
Without EasySpeed
98
With EasySpeed
A magazine home page, mobile lab test, with and without EasySpeed
Mobile, labWithoutWith
Largest Contentful Paint (LCP)8.4 s1.9 s
Cumulative Layout Shift (CLS)0.1360.001
Render-blocking files70
Page weight4,321 KiB1,239 KiB
Images3,393 KiB458 KiB

Scores of the three runs: 59, 55, 59 without · 72, 98, 98 with.

What no plugin can remove for you

Ads, analytics and chat cost points of their own. EasySpeed lists and weighs them but never removes them; the magazine page kept its ads when measured.

Measure your own site

Test your front page three times on PageSpeed Insights’ Mobile tab and note the middle result, then again with ?easyspeed=off added.

The problem

Why Joomla sites are slow, and what EasySpeed does about each cause

Joomla sites are usually slow for the same few reasons: templates, page builders and extensions load code for everything they could show, images and fonts arrive in the wrong size or order, and Joomla rebuilds every page for every visitor.

Unused CSS loaded on every page

One SP Page Builder and Helix Ultimate page we measured loaded about 787 KB of CSS. EasySpeed: one stylesheet with only the rules your pages can use.

Render-blocking scripts that stop the page

EasySpeed: scripts deferred safely, in their original order, and reCAPTCHA loaded when a visitor reaches its form.

Images too big, and the main one loaded last

Many templates lazy-load even the main (LCP) image. EasySpeed: WebP or AVIF copies at several widths, the main image first, missing dimensions added.

Fonts that make text jump

Google counts that jump as layout shift (CLS). EasySpeed: stand-in fonts sized to match yours, and icon fonts cut to the icons used.

Background videos without a poster

One home page’s LCP was 13 to 15 seconds. EasySpeed: a poster, made in your browser, that paints before the video: LCP fell to 6 seconds.

Joomla builds every page, for every visitor

One magazine site took 2.85 to 3.50 seconds a page. EasySpeed: a built-in page cache that sends guests the finished page before Joomla starts: 0.26 to 0.34 seconds.

First visits pay most, and PageSpeed Insights measures them

A new visitor waits for every stylesheet and head script. EasySpeed: on a first visit they are written into the page itself; with a very large stylesheet, first-screen rules come first. New in 1.1

Features

Everything EasySpeed does to speed up your Joomla site

EasySpeed works on every part of a Joomla page that costs time: stylesheets, scripts, images, background videos and fonts, plus the time Joomla spends building each page, which its built-in page cache saves for guests. Every feature has its own switch.

New in 1.1

Only the CSS each page uses

One stylesheet with only the rules your pages use, in their original order, including classes your scripts add later, with no list to maintain.

Stylesheets and first visits
New in 1.1

JavaScript deferred safely

Blocking scripts run later, in their original order; scripts the page needs at once stay put. reCAPTCHA waits for its form; AdSense can wait for its ads.

Scripts
New in 1.1

Smaller images in WebP and AVIF, and video posters

WebP copies at several widths, AVIF when switched on, the main image first. Make posters gives background videos a still that paints first.

Images and video
New in 1.1

Fonts that keep text still while they load

Fallback fonts are scaled to your web fonts, so nothing jumps and CLS stays low. Icon fonts such as Font Awesome shrink to the icons used.

Fonts
New in 1.1

A built-in page cache that keeps itself current

Guests get the finished page before Joomla starts. The store fills itself from your sitemap, and saving an article refreshes just the pages it touches.

Page cache
New in 1.1

Built-in adaptations for SP Page Builder, Helix Ultimate and YOOtheme Pro

EasySpeed reads the finished page, so any Joomla template works. These three also get automatic adaptations.

Every Joomla site

Safe to switch on, easy to switch off

A new install only measures; every optimised page is checked before sending. Add ?easyspeed=off to any address to see it without EasySpeed.

Control and safety

Real speed, not score tricks

Your page's own scripts never wait for the visitor to move the mouse. Ads, analytics and chat stay: EasySpeed shows what each costs, and you decide.

Honest speed

New in 1.1 marks what arrived in version 1.1.0, New in 1.1.1 what arrived in 1.1.1. Opt-in marks a feature that is off by default. Every setting explained in the documentation.

How it works

How EasySpeed makes a Joomla page faster, step by step

EasySpeed lets Joomla build each page as usual, then measures it, rebuilds it for speed, checks the result and stores it, so the next guest gets the finished page before Joomla starts. It all runs in PHP on your own server.

Measure what the page uses

After your template and extensions finish, EasySpeed reads which elements, classes, images and fonts the page uses.

Rebuild it for speed

It trims the CSS, defers blocking scripts, offers lighter WebP images and matches fallback fonts.

Check every change

If a structural check fails, the original page goes out and the Status tab says why.

Store the finished page

With Cache pages on, it is kept for the next guest; an edited article clears only the pages that showed it.

Serve it before Joomla starts

Guests get it at once, with their own form token put back in.

Heavy work happens behind the visitor

Filling the store, rebuilding edited pages and making image copies run after the page is sent, on PHP-FPM or LiteSpeed servers.

Stylesheets and first visits

Remove unused CSS from every Joomla page, with nothing for you to maintain

EasySpeed replaces the stylesheets a Joomla page loads with one file that holds only the rules your pages can use, in their original order, so the page looks exactly as before.

One stylesheet, cut to the rules your pages use

  • Classes your scripts add later, found for you. Read from your scripts, so there is no list of dynamic selectors to keep up.
  • Animations and fonts kept. Animations in use, including those only a script names, and every font declaration stay.
  • Shared by pages of the same kind. Your articles or product pages share one smaller file the browser keeps from click to click. New in 1.1
  • Rebuilt by itself. Edit a template stylesheet and there is nothing to clear.

Before: a page we measured, about 787 KB of CSS

  • bootstrap.min.css 190 KB
  • sppagebuilder.css 202 KB
  • font-awesome (Helix Ultimate) 121 KB
  • font-awesome (SP Page Builder) 121 KB
  • template, presets, custom.css +
  • animations, add-on styles +

After: one file, only the rules in use

  • One stylesheet for pages like this rules they use
  • Font Awesome, one copy icons it shows
  • On a first visit inside the page
14 → 1stylesheet files on joomlamax.com
3.1 s → 1.2 suntil a first visit appeared on a slow phone connection, directory site
~400 → 60⁠–⁠150KB of first-screen CSS on a large directory site
1,046 → 804KB stylesheet, directory front page, shared only with its kind

First visits need no other file to appear

A visitor arriving from Google or a PageSpeed Insights test gets the stylesheet and blocking head scripts inside the page. Later clicks use cached files.

New in 1.1

Critical CSS for first visits when a stylesheet is over 400 KB

A first visit gets only the rules its first screen draws with; the rest comes at the end of the page and, since 1.1.1, is fetched once the first picture has been drawn. With only those rules, tested pages looked the same to the pixel at four widths on six sites.

New in 1.1

Transitions held while the rest of the stylesheet arrives

Otherwise every element with a transition animates at once as it lands: over a hundred on one directory listing. Blocking time on a throttled phone fell from 454 to 276 ms.

  • A stylesheet linked twice is bundled once. New in 1.1 One directory front page went from 761 KB to 637 KB.
  • Repeated style blocks and a second Font Awesome removed. Listed on the Status tab.
  • Stylesheets from other domains folded in. Opt-in A copy on your own server is bundled with the rest, so that request disappears.
  • Two short lists for the rare exception: Never remove these classes and Never touch these stylesheets.

Every stylesheet setting explained in the documentation

Scripts

Defer JavaScript safely: the page appears first, and every script still runs

EasySpeed defers the render-blocking JavaScript that stops a browser drawing your Joomla page. Every script still runs by itself, in its original order, and the page's own scripts never wait for the visitor to move the mouse.

Safe defer that reads every script file first

  • Files that code needs at once stay in place. A library the page uses straight away, such as jQuery or React as a UMD file, keeps its place, and so do the files it needs. New in 1.1
  • Ads that write into the page keep working. A document.write tag on your own site or from a known ad server is never deferred. New in 1.1
  • First visits wait for nothing. Scripts the head still needs come inside the page; see stylesheets and first visits.
  • Your exceptions. List them under Never defer these scripts; the Status tab shows every script kept, and why.
The Optimisation tab of EasySpeed in the Joomla administrator. Defer blocking scripts, Run SP Page Builder's time zone cookie once the page is idle, Load Google reCAPTCHA when a visitor reaches its form, Faster J-BusinessDirectory search filter and Fetch module scripts at low priority are set to Yes. Load statistics tags after the page has loaded and Run the page's start-up code in small pieces are set to No, and the Never defer these scripts box is empty.
The script options at their defaults; the opt-in features start off.
New in 1.1Only for Joomla's reCAPTCHA captcha plugin

Google reCAPTCHA loads when a visitor reaches the form

Its script, about a megabyte, took 2.2 seconds of a test phone's processor on one front page. Now it starts when the captcha nears the screen or its form is used.

New in 1.1

Joomla's module scripts are fetched at low priority

Bootstrap, the files it imports, the menu and the keep-alive stop competing with your stylesheet and main image, and still run at the same moment. One front page painted half a second sooner.

New in 1.1Opt-in

Statistics tags can start after the page has loaded

Google Tag Manager, its own snippet included, the Meta pixel, Hotjar and others start on the first scroll, tap, key or mouse movement, or about three seconds after load; a very short visit may go uncounted.

New in 1.1Opt-in

Start-up code in small pieces, so a phone answers taps sooner

On a directory listing, blocking time on a throttled phone fell from 276 to 173 ms. It stays off because PageSpeed Insights scored that page one point lower.

Only for SP Page Builder

SP Page Builder's time-zone script waits until the page is idle

Its cookie is for the next page, so it now runs once the browser is idle, or within about three seconds.

New in 1.1Only for J-BusinessDirectory

A faster J-BusinessDirectory search filter

Plain city, region and category names skip the browser's HTML reader, which made a single 600 ms task on one directory site. The filter works as before.

New in 1.1.1Opt-in

Statistics tags and Google AdSense can wait for the visitor

  • Load Google AdSense when an ad comes near the screen. Only for Google AdSense Its script waits until an ad slot is within two screens of the view, or the first scroll, tap or key. AdSense's automatic ads and its consent message wait with it, so without an ad slot near the screen they too appear only after the first touch. Fewer impressions can mean less income.
  • Start the statistics tags: Only on the first touch. Under Load statistics tags after the page has loaded. No timer: the tags wait for the first scroll, tap, key or mouse movement, so a visitor who leaves without touching the page is not counted.

EasySpeed never minifies or combines scripts, never removes tags (why third-party tags stay your call) and never holds the page's own scripts back until a mouse move.

Every script option explained in the documentation

Images and video

WebP and AVIF images at the right size, made on your own server

EasySpeed makes smaller WebP copies of your JPEG, PNG and WebP pictures at several widths, and AVIF copies where your server can, so each browser downloads the size its screen needs. Your original files are never changed.

The right size of picture for every screen

  • WebP at several widths. 400, 800, 1200 and 1600 pixels by default, plus the full size.
  • Made with PHP's own GD library. No image API, quota or per-image fee.
  • Never heavier than the original. A copy is offered only when lighter, with transparency kept.
  • Smaller copies for small spaces. A fixed pixel limit in your stylesheet becomes the sizes hint, so a thumbnail never fetches the banner's copy.
  • Backgrounds too. JPEG and PNG backgrounds in your stylesheets become WebP; older browsers get the original.
The Images tab of EasySpeed in the Joomla administrator: the Prepare every image now panel with a progress bar and counters for processed, renditions written, skipped and failed; a Controls box with the Prepare all images, Stop and Delete and rebuild buttons; and a Background videos box with the Make posters button.
The Images tab: Prepare all images and Make posters.
New in 1.1Opt-in

AVIF where it is smaller, and only where your server can write it

At each width, browsers that show AVIF get the smaller file, AVIF or WebP; photographs came out 10 to 25% smaller on three sites. Your server is tested first and the setting says what is missing; transparent pictures stay WebP. Since 1.1.1, a background check pauses AVIF and serves WebP if the web server starts refusing AVIF; AVIF comes back by itself.

Prepare all images: the whole site in one go

One button makes every copy, heaviest first, in batches that resume where they stopped; stored pages then refresh in the background. New in 1.1

Core Web Vitals: the main image first, nothing that jumps

Lazy loading, with the main image (LCP) first

The main image gets high priority and a preload naming the same copies, so only one file downloads. Images further down load lazily.

One main image for phones, another for desktops

A phone never fetches the desktop's picture first; SP Page Builder, Bootstrap and YOOtheme Pro classes such as uk-hidden@m are read.

Missing width and height added, so nothing jumps

Values your template set are never overwritten, and sliders show only their first slide until their script takes over, so Cumulative Layout Shift (CLS) stays low.

Left alone on purpose: images on other domains, SVG and GIF files, files under about 12 KB, and any tag with data-easyspeed-skip.

Background videos: the poster paints first, the film follows

Each self-playing background video gets a still picture to show first, so a hero video no longer decides when your page appears.

Videos with controls or a player, UIkit's uk-video included, and YouTube or Vimeo embeds are left alone.

  • Posters made in your browser. Make posters saves the clearest frame of the first three seconds as WebP and JPEG. New in 1.1
  • The video starts after its poster, once the page has loaded and it is near the screen. New in 1.1
  • Poster only for visitors who ask for less: reduced motion, Data Saver or 2G. New in 1.1
  • Poster only on phones, under 768 pixels wide. New in 1.1Opt-in

Every image and video setting explained in the documentation

Fonts

Web fonts without invisible text or layout shift

EasySpeed shows text at once in a stand-in font sized to match your web font, so lines do not re-wrap when the real font arrives and Cumulative Layout Shift (CLS) stays low.

Fallback fonts sized to match, so text stays still

  • Text shows before fonts arrive. font-display: block becomes swap; a choice the author made on purpose is kept.
  • Matched on every system. Windows, Mac, Android and Linux, italics included, with nothing fetched.
  • Helix Ultimate and SP Page Builder typography, written in style blocks, gets stand-ins too.
  • True widths, so PageSpeed Insights no longer reports a jump your visitors never get; letters may look slightly softer on Windows.

Without EasySpeed

  • Fonts set to “block” text hidden
  • Stand-in font, other width other line breaks
  • Web font arrives page jumps
EasySpeed

With EasySpeed

  • Text shows at once
  • Stand-in scaled to your font same line breaks
  • Web font arrives no jump

Font Awesome and other icon fonts cut to the icons the page uses

A small copy on your own server holds just the icons the page's stylesheet draws. The full font stays declared, so an icon a script adds later still appears.

On phones, text first and its font a moment later

On a phone's first visit, Google Fonts and other text fonts apply just after the page appears, or within three seconds.

New in 1.1

Font Awesome 7 no longer holds up the first paint on phones

WOFF2-only icon fonts cannot be cut, so on a phone's first visit they apply once the page is drawn. Switch it off if icon-only buttons matter.

80 → 94PageSpeed mobile, one home page, text fonts after first paint
6.8 s → 3.4 ssimulated first paint, a directory page using Font Awesome 7 Pro
168 → 7 KBicon fonts on our test sites (approximate), cut to the icons used

Measured on real Joomla sites; gains depend on your template.

Every font setting explained in the documentation

Page cache

A built-in Joomla page cache that fills itself and refreshes only what changed

EasySpeed's page cache, called the page store, keeps each finished, optimised page and sends it to the next guest before Joomla starts building, so your server answers in a fraction of the time.

~10×faster server answer for a stored page, measured on a live magazine site
5,000pages filled ahead of visitors; the rest are stored on first visit
0cron jobs or crawler services to set up
Opt-in

One switch on the Cache tab, then it runs itself

Turn on Cache pages once your pages look right in Optimise mode; the store then fills, refreshes and tidies itself.

  • Every stored page in view, with Rebuild and Remove for each one.
  • A lifetime you choose, from 12 hours to a year, as a safety net for pages nobody edits.
Every Cache setting, explained
The Cache tab of EasySpeed 1.1.0 in the Joomla administrator: Cache pages, Refresh stored pages in the background and Remove stylesheets no page uses switched to Yes, How long a page stays current set to A month, then the Cached pages panel with tiles for pages stored, cleared by an edit, disk used and still to store, a line saying pages built by an earlier version are being rebuilt in the background, a Find a page box and a list of stored addresses marked fresh, each with Rebuild and Remove buttons
The Cache tab: every stored page with its age, size and state.

Edit an article, and only the pages that showed it are refreshed

Its own page and every list it appeared in are cleared; the rest stay stored. Since 1.1.1, banner, tag and category changes also refresh the pages that show them, modules included. Module, menu, template or plugin changes clear everything.

New in 1.1

Rebuilt within seconds of a save, SP Page Builder included

Saving an article, or a page in SP Page Builder's editor, rebuilds the pages it affects first, on PHP-FPM, FastCGI or LiteSpeed hosting.

New in 1.1

Updates and settings changes no longer empty the store

Stored pages are rebuilt in the background, those nearest the top of your site first, and visitors keep getting the stored copy meanwhile. Only settings such as Mode and Apply to empty it at once.

Filled from your sitemap before anyone asks

It reads the sitemap your robots.txt declares, /sitemap.xml or up to five you name; without one, it follows your own links from the front page.

New in 1.1

Never store these addresses: optimised, but built fresh every time

Search results, a basket or a checkout listed here stay optimised but are built for every visit, unlike Excluded URLs, which switches EasySpeed off.

New in 1.1

Blocked by Cloudflare or a firewall? The Cache tab tells you

A page stopped by a bot check, firewall, 403 or 503 is shown with its reason while visitors keep the earlier copy. The fix: allow your server's own IP address.

  • Safe for forms, shops and member areas. Only guests get stored pages, each carrying that visitor's own form security token.
  • One stored copy, whatever link a visitor followed. Tracking parameters such as utm_*, gclid and, since 1.1, gad_source land on one page.
  • Stored outside Joomla's cache folder, and tidy on disk. A Joomla update never empties the store or loses its progress. New in 1.1
  • Joomla's Clear Cache empties it too (System > Clear Cache > Delete All), unless you switch off Clear stored pages with Joomla's cache. New in 1.1.1
  • Check where a page came from. The response header X-EasySpeed: hit means it came from the store.

Compatibility

Works on every Joomla 4.4, 5 and 6 site, with built-in adaptations for SP Page Builder, Helix Ultimate and YOOtheme Pro

EasySpeed works on the finished page Joomla sends, after every other extension has had its turn, so it suits any template, page builder and extension. Where SP Page Builder, Helix Ultimate or YOOtheme Pro are in use, extra adaptations apply by themselves.

Faster SP Page Builder pages: built-in adaptations

  • Main image first, even when the builder marks it lazy, and only the one each screen shows.
  • One Font Awesome, not two, and its animations keep their rules.
  • Time zone cookie script run once the browser is idle. Only for SP Page Builder
  • Background video posters in data-poster paint first. New in 1.1
  • Saves in its editor rebuild the stored page at once. New in 1.1
  • Empty picture fields (url("/")) no longer make browsers fetch your front page. New in 1.1

Faster Helix Ultimate sites: built-in adaptations

  • Unused Chosen widget dropped on Joomla 6 pages that have nothing for it. Only for Helix Ultimate
  • No second Font Awesome, and icons cut to those in use.
  • Typography that does not jump: its typography fonts get size-matched fallback fonts too.

Faster YOOtheme Pro sites: built-in adaptations

  • UIkit visibility classes read, such as uk-hidden@m, so each screen gets the main image it shows.
  • Menus right on a first visit: dropdowns (uk-drop) stay closed and the active item (uk-active) is drawn right. New in 1.1
  • Videos UIkit plays itself (uk-video) are left to UIkit. New in 1.1
  • Detected on the Status tab. New in 1.1

Options made for one extension or service say “Only for”

Their settings say so. Without it they do nothing, so you can leave them on.

  • Load Google reCAPTCHA when a visitor reaches its form Only for Joomla's reCAPTCHA captcha plugin New in 1.1
  • Faster J-BusinessDirectory search filter Only for J-BusinessDirectory New in 1.1
  • Load Google AdSense when an ad comes near the screen Only for Google AdSense Opt-in New in 1.1.1
Every extension-specific option explained in the documentation

Multilingual sites, folders, CDNs and shared hosting

  • Multilingual sites: each language is stored separately, so no visitor gets a page in another language.
  • A site in a folder, such as example.com/site/, works like any other.
  • Cloudflare and other CDNs: no address rewriting needed, and the Server tab tests whether your CDN keeps your files.
  • Ordinary shared hosting: PHP 7.4 or newer with GD for WebP. AVIF is optional, and EasySpeed tests your server first.

Control and safety

Safe to try on a live site: measure first, then decide what EasySpeed may change

EasySpeed starts in Diagnostics mode, which only measures and reports, so you see what it would do before any visitor sees a change.

Safeguards that are on from the first minute

  • Diagnostics mode first. Pages go out unchanged until you switch Mode to Optimise.
  • Every feature has its own switch. The few trade-offs start off, with the honest reason each one starts off.
  • Guests only by default. The administrator, edit forms and page builder editors are never touched.
  • Every page checked before it is sent. If a check fails, the original goes out and the Status tab says why.
  • Steps aside while Joomla's debug mode is on, and on the pages Joomla shows in pop-ups and iframes.
The Plugin tab of EasySpeed 1.1.0 in the Joomla administrator: a description naming SP Page Builder, Helix Ultimate and YOOtheme Pro, Mode set to Optimise, Apply to set to Guests only, Stand down in debug mode and Skip component template requests both set to Yes, and Joomla's Status box showing Enabled
The Plugin tab: Mode, Apply to and two safety switches.

Reports that show what changed and why a page is slow

  • Status tab: before-and-after numbers for the latest page, and each change with what it saved.
  • Diagnostics tab: where build time goes, which modules are rebuilt on every visit, and each statistics or advertising tag weighed.
  • Server tab: compression, browser caching and your CDN checked, with the exact .htaccess or nginx lines for anything missing.
  • Your files checked in the background. While AVIF is on, EasySpeed asks your site in the background (PHP-FPM or LiteSpeed hosting), once a day and whenever .htaccess or web.config changes, for its pictures, stylesheets and fonts; the Server tab names any refusal and the fix. New in 1.1.1
  • Copy report: everything on the Status tab as plain text, ready for a support ticket.
  • Your data stays on your server. EasySpeed contacts another server only when you ask it to.
Every tab and setting explained in the documentation

Your way back, from one page to the whole site

How to undo EasySpeed for one page, one feature, the whole site or for good
You want toDo this
See one page without EasySpeedAdd ?easyspeed=off to its address. Only that request is affected.
Switch one feature offSet its switch to No and save.
Leave a page or a component aloneAdd it to Excluded URLs or Excluded components.
Stop EasySpeed on the whole siteSet Mode to Off. Stored pages are removed too.
Remove it completelyUninstall it. Nothing of EasySpeed is left behind; your content, original images and template stay.
EasySpeed troubleshooting, step by step

Our principle

Honest speed: real improvements for your visitors, not PageSpeed score tricks

EasySpeed makes the page your visitors get faster, and that same page is the one PageSpeed Insights measures.

No “delay all JavaScript until the visitor moves” trick

Deferred scripts still run by themselves, in order, so the first tap finds a working menu, slider or form. No special version for test robots.

Your ads, analytics and chat are your decision

EasySpeed never removes a third-party tag. List the tags on the Diagnostics tab names each statistics and advertising tag a page loads, heaviest first.

Measured on the same page, on and off

Each result compares one live page with EasySpeed on and with ?easyspeed=off, as the median of three Lighthouse runs. See the measured results

Opt-in New in 1.1

Five switches that start off, and the honest reason why

EasySpeed features that are off by default: what each gives and why it starts off
SwitchWhat it givesWhy it starts off
Load statistics tags after the page has loadedAnalytics and similar tags start on the first scroll, tap, key or mouse movement, or a few seconds after load; you can drop the timer (Only on the first touch).A visit that ends before the tags start may not be counted. With Only on the first touch, that is any visit without a touch, and PageSpeed Insights no longer runs these tags at all, so its score no longer shows what they cost your visitors.
Load Google AdSense when an ad comes near the screen New in 1.1.1AdSense starts when an ad slot nears the screen, or on the first scroll, tap or key.Fewer ad impressions can mean less income.
Run the page's start-up code in small pieces173 ms of blocking time instead of 276 on a directory listing.PageSpeed Insights scored that page one point lower.
Use AVIF where acceptedPhotographs 10 to 25% smaller; the lighter of AVIF and WebP is sent.It needs PHP 8.1 or newer with AVIF support, and about four times the server work of WebP.
Poster only on phonesPhones show the background video's poster and never download the video.It changes what phone visitors see.
Every switch explained in the documentation

Comparison

How EasySpeed compares with other Joomla speed plugins

EasySpeed differs from other Joomla speed plugins in how much it does for you: it finds the CSS each page needs without a hand-kept list, keeps text still while fonts load, makes images on your own server and refreshes only the cached pages an edit changed.

Joomla speed plugins compared feature by feature: EasySpeed 1.1, JCH Optimize Pro and JSpeed
FeatureEasySpeed 1.1JCH Optimize ProJSpeed
PriceEUR 49 per year, every feature includedUSD 55 per year; a free edition is also availableEUR 49.99, one year of updates
Joomla versions4.4, 5 and 64, 5 and 63, 4, 5 and 6
Works with any Joomla templateYesYesYes
Built-in adaptations for SP Page Builder & Helix UltimateYes, applied automatically where they are used; YOOtheme Pro has its own adaptations tooGeneral-purposeGeneral-purpose
Removing unused CSSPer page and automatic: class names that scripts add later are read from the scripts themselves, and pages of the same kind share one smaller file“Reduce Unused CSS”, which requires “Optimize CSS Delivery”; classes added by JavaScript are entered by hand as “CSS Dynamic Selectors”“Above-the-Fold CSS” and “Assets Removal”
CSS for the first paintFirst visits get the page's reduced stylesheet inside the page; when it is over 400 KB, the first screen's rules (critical CSS) come at once and the rest once the first picture is drawn“Optimize CSS Delivery” (critical CSS)“Above-the-Fold CSS”
Page cacheBuilt in: fills itself from your sitemap; an edit rebuilds only the pages that showed it, SP Page Builder saves included; refreshed in the background after updates and settings changes; every stored page listed with Rebuild and RemovePage Cache plugin with a recache crawler; Pro can serve cached pages through .htaccessAsset caching for return visits
Web fontsText shows before fonts arrive; fallback fonts sized to match, so text does not jump; icon fonts cut to the icons the page usesdisplay=swap, preload and preconnect for Google FontsNot detailed in the feature list
ImagesWebP made on your own server, plus opt-in AVIF (the smaller file is sent); srcset at several widths; the main image chosen per screen width; posters for background videos“Optimize Images” with JCH's Image API; next-gen formats; properly sized imagesWebP and AVIF converted in real time; srcset generation
CDN address rewritingNot needed with proxy CDNs such as Cloudflare, so no rewriting; the Server tab checks whether your CDN keeps your filesYesYes

The EasySpeed column describes version 1.1.1 (13 October 2026); the others come from each vendor's own website, documentation and Joomla Extensions Directory listing, checked on 28 September 2026. Products change, so check each vendor for current details. JCH Optimize and JSpeed are trademarks of their respective owners.

Need a free edition, Joomla 3 support or file addresses rewritten to a separate CDN domain? The table shows which plugin offers it. Use one optimisation plugin at a time. Every EasySpeed setting explained in the documentation

At a glance

EasySpeed at a glance: requirements, compatibility and licence

JoomlaMax EasySpeed 1.1.1, updated on 13 October 2026, is a Joomla system plugin for Joomla 4.4, 5 and 6 on PHP 7.4 or newer. It works with any template and extension, runs in plain PHP on ordinary shared hosting, and costs EUR 49 a year with every feature, updates and 12 months of support.

What your site needs

EasySpeed requirements and compatibility
Joomla4.4, 5 and 6
PHP7.4 or newer
ImagesWebP needs PHP's GD extension, which most hosts include. AVIF is optional: PHP 8.1 or newer with GD AVIF support and a server that sends .avif files as image/avif; EasySpeed tests this.
TemplatesAny Joomla template, from Cassiopeia to commercial frameworks and your own. Built-in adaptations for Helix Ultimate and YOOtheme Pro.
Page buildersAny, because EasySpeed works on the finished page. Built-in adaptations for SP Page Builder.
ExtensionsAny. The options that serve one extension or service say so: Joomla's reCAPTCHA plugin, J-BusinessDirectory and Google AdSense.
HostingOrdinary shared hosting; pure PHP, no Node.js, no external service, no API key. Background work needs PHP-FPM/FastCGI or LiteSpeed.
CDNCloudflare and other CDNs; no address rewriting to a separate CDN domain
LanguagesMultilingual sites and sites installed in a folder; settings screens in English

Version, licence and support

EasySpeed version, licence, price, updates and support
ProductJoomlaMax EasySpeed, a Joomla system plugin, listed in Joomla as System - JoomlaMax EasySpeed
Version1.1.1, updated . First released on (1.0.0).
What it doesUnused CSS removed per page, critical CSS for first visits, scripts deferred safely, WebP and AVIF images, fonts that keep text still, and a built-in page cache. Each feature has its own switch.
Safe startStarts in Diagnostics mode, which only measures. Guests only by default; the administrator, edit forms and page builder editors are never touched.
LicenceGNU General Public License version 2 or later
PriceEUR 49 a year, every feature included, no add-ons
UpdatesOne click in Joomla's own updater, with your Download ID from joomlamax.com
Support12 months included. Copy report on the Status tab gathers your versions and what EasySpeed did.
After the yearThe plugin keeps working; a renewal brings new versions and support
DocumentationEvery setting explained, with a quick start, troubleshooting and the changelog
DeveloperJoomlaMax

Documentation

Every EasySpeed setting explained in plain words

The EasySpeed documentation explains every setting, tab by tab: what it does, its default, when you might change it and what to watch out for. It starts with a quick start that takes you from Diagnostics mode to a filled page cache, and it is written for site owners, not only developers.

  • Quick start. Twelve steps in order: measure, check your server, switch on Optimise, prepare images and video posters, and turn on the page cache.
  • Settings reference. Every option on every tab, with a search box: type fonts, defer or AVIF to find the setting you need.
  • Troubleshooting. Common problems and their fixes, from a menu that will not open or an advert that stays empty to a page store that fills slowly.
  • FAQ, glossary and changelog. Direct answers, page speed terms such as LCP and CLS in plain words, and what changed in each version.
  • What’s new in 1.1.1 (13 October 2026): stylesheets fetched after the first picture, tags and AdSense that can wait, banner and category edits that reach stored pages at once, and AVIF paused if the server refuses it.
The Stylesheets tab of EasySpeed 1.1.0 in the Joomla administrator with its defaults: a note headed The largest single saving on most pages, then Build a stylesheet per page, Read class names from scripts, Bundle a stylesheet linked twice only once, Give new visitors a page that needs no other file to appear, Let the browser start drawing sooner, the two On phones options for text and icon fonts, Let text show before fonts arrive, Keep text still when fonts arrive and Lay text out at the fonts' true widths, all set to Yes
The Stylesheets tab with its defaults. The documentation explains each switch: what it does, its default and when to change it.

FAQ

Frequently asked questions about the EasySpeed Joomla speed plugin

Direct answers to what Joomla site owners ask before they install EasySpeed: compatibility, hosting, the page cache, images, scores and price.

What is JoomlaMax EasySpeed?

EasySpeed is JoomlaMax’s speed plugin for Joomla 4.4, 5 and 6: a system plugin that optimises each page on your own server, so it reaches visitors sooner and does better on Core Web Vitals while looking exactly the same. It trims and merges your CSS, defers blocking JavaScript safely, serves right-sized WebP or AVIF images, keeps text still while web fonts load, and answers guests from its own page cache.

Does EasySpeed work with my template and extensions?

Yes. EasySpeed keeps no list of supported templates or extensions: it works on whatever page Joomla produces, so Cassiopeia, a commercial framework, your own template and any mix of extensions are handled the same way. Options that serve a single extension, such as Joomla’s reCAPTCHA captcha plugin, J-BusinessDirectory or Google AdSense, are labelled “Only for” in the settings and do nothing on a site without it.

Does EasySpeed work with YOOtheme Pro, SP Page Builder and Helix Ultimate?

Yes. All three get built-in adaptations on top of what every site gets, and they apply by themselves wherever the product is in use. SP Page Builder: lazy main images, sections built per device, background video posters, its time-zone script, its animations and saves in its editor. Helix Ultimate: a duplicate Font Awesome, its typography fonts and the Chosen widget on Joomla 6. YOOtheme Pro: UIkit visibility classes, dropdown menus and the active menu item on a first visit, and videos UIkit plays itself. Every adaptation is described in the compatibility section.

Does EasySpeed support Joomla 6?

Yes. EasySpeed 1.1.1 supports Joomla 4.4, Joomla 5 and Joomla 6 on PHP 7.4 or newer, and the screenshots on this page were taken on a Joomla 6 site. If your Joomla or PHP version is too old, the installer stops and tells you which version is needed.

Does EasySpeed run on shared hosting?

Yes, that is what it is built for. All the work happens in PHP inside Joomla, and WebP copies only need PHP’s GD extension, which most hosts include; the Status tab tells you whether yours has it. On PHP-FPM/FastCGI or LiteSpeed hosting, EasySpeed also works in the moments after a visitor has their page, filling the cache from your sitemap and rebuilding edited pages within seconds. Without that, pages are stored as guests first open them.

Does EasySpeed work with Cloudflare or another CDN?

Yes. EasySpeed works behind Cloudflare and other CDNs, and the Server tab checks whether your CDN actually keeps your files. Let the CDN keep stylesheets, scripts, images and fonts, and leave whole pages to EasySpeed's page cache, because its pages differ with the visitor's browser and with whether they have just arrived. Since version 1.1, the Cache tab tells you when a bot check or firewall challenges your own server; allow your server's IP address and /media/plg_system_easyspeed/. EasySpeed does not rewrite file addresses to a separate CDN domain.

Do I still need Joomla's page cache or another optimisation plugin?

No. When you switch on EasySpeed's Cache pages, switch off Joomla's System - Page Cache plugin, because two page caches make it hard to know which copy a visitor got. EasySpeed's store keeps a separate copy for each image format and language, puts each visitor's form security token into the page and clears only the pages an edit changed. Use one optimisation plugin at a time as well. If you keep another one for something else, switch off its overlapping features: combining or minifying CSS and JavaScript, lazy loading by script, image conversion and page caching.

Does EasySpeed convert images to WebP and AVIF?

Yes. EasySpeed makes WebP copies of the large images on your site at several widths (400, 800, 1200 and 1600 pixels by default), on your own server, and each browser picks the size that fits its screen. AVIF is opt-in: switch on Use AVIF where accepted and, if your server passes EasySpeed's test, browsers that show AVIF get whichever file is smaller, with transparency kept. Your original files are never changed, browsers that cannot show WebP get the original, and Prepare all images makes every copy at once.

Does EasySpeed remove unused CSS and generate critical CSS?

Yes, both, without an outside service and without a list of selectors to maintain. Unused rules are dropped from the merged stylesheet, while class names your scripts add later, such as a menu’s open state, survive because EasySpeed reads the scripts. First-time visitors get that stylesheet inside the page. When it is over 400 KB, only the first screen’s rules (the critical CSS) come at once and the rest follows: on a large directory site, about 60 to 150 KB for the first screen instead of about 400 KB.

Will EasySpeed break my site, my forms or my shop?

EasySpeed checks every optimised page before it is sent: if a structural check fails, the visitor gets the page exactly as Joomla built it, and the Status tab gives the reason. It starts in Diagnostics mode, which only measures, works for guests only by default and gives every feature its own switch. Logged-in visitors never get stored pages, each guest's form security token is put back into the page, and login, registration and Smart Search are excluded by default. Add pages that show something personal to a guest, such as a basket, to Never store these addresses, and add ?easyspeed=off to any address to compare it with the original.

Will EasySpeed improve my PageSpeed Insights score?

On both live Joomla sites we publish, yes: the mobile Lighthouse score went from 63 to 99 and from 59 to 98 with EasySpeed switched on. No plugin can honestly promise your number, though. If your score stays lower, the cause is usually something no page optimiser controls, such as a slow server, a CDN that caches nothing or heavy third-party tags, and the Server and Diagnostics tabs point it out. The real-visitor data in PageSpeed Insights covers the last 28 days, so it catches up a few weeks after the lab score.

Does EasySpeed remove ads, Google Analytics or chat?

No. EasySpeed never removes third-party tags, because that decision is yours. List the tags on the Diagnostics tab shows which statistics and advertising tags a page loads, so you can weigh their cost. Ad scripts on your own site that write into the page, and the tags of known ad servers, are never deferred, and any other advert script can be added to Never defer these scripts. If you choose to, Load statistics tags after the page has loaded (off by default) starts Analytics, Tag Manager, the Meta pixel and similar tags on the first interaction or a few seconds after the page has loaded, or only on the first interaction, and Load Google AdSense when an ad comes near the screen (also off) starts AdSense when an ad slot nears the screen.

Does EasySpeed work on multilingual Joomla sites?

Yes. The page cache keeps a separate copy of each page for each language. A Joomla site installed in a folder works the same as one at the top of the domain. EasySpeed's own settings screens are in English.

How much does EasySpeed cost, and what happens when the year ends?

EUR 49 a year buys every feature, with no add-ons, one-click updates in Joomla through your Download ID and 12 months of support. If you do not renew, nothing stops: the installed version goes on working, and you simply stop receiving new versions and support.

What is new in EasySpeed 1.1.1?

Version 1.1.1, released on 13 October 2026, fetches the rest of a large stylesheet after a first visit’s first picture has been drawn, so that picture shows sooner. Statistics tags, Google Tag Manager’s own snippet included, can wait for the visitor’s first touch, and Google AdSense for an ad to come near the screen (both off by default). Banner, tag and category changes reach stored pages at once, Joomla’s Clear Cache can empty the store, and a background check pauses AVIF if the web server refuses it. It also fixes Joomla’s message box, which EasySpeed had stopped from closing. Version 1.1.0 (1 October 2026) brought critical CSS, video posters, YOOtheme Pro adaptations, opt-in AVIF and background refreshes of stored pages. The EasySpeed changelog lists every change.

What happens if I uninstall EasySpeed?

Everything EasySpeed created is removed: stored pages, generated stylesheets, image copies, video posters and its reports. Your content, original images, template and other extensions are untouched, and Joomla builds pages exactly as it did before. Lines you added to .htaccess from the Server tab stay, because they are ordinary server settings.

More answers are in the documentation FAQ, and fixes for common problems in the EasySpeed troubleshooting guide.

Simple Joomla licence

EasySpeed price: EUR 49 a year with every feature

EUR 49 / year

Everything EasySpeed does, with a year of updates and support. Version 1.1.1, updated .

  • All features, no add-ons: page cache, unused CSS and critical CSS, safe script defer, WebP and AVIF images, font fixes
  • Joomla 4.4, 5 & 6, any template, with built-in adaptations for SP Page Builder, Helix Ultimate and YOOtheme Pro
  • One-click updates in Joomla with your Download ID
  • 12 months of support
  • Runs on your own server: pure PHP, ordinary shared hosting, no external service or API key

EasySpeed keeps working after the year ends. Renew only for new updates and support. Licensed under the GNU GPL version 2 or later.

Get started

Your Joomla site, fast from the first visit

Install EasySpeed, let it measure your pages in Diagnostics mode, and switch to Optimise once you like what it reports. Each feature can be turned off on its own, and ?easyspeed=off shows any page without it, so you stay in control from the first minute.

  • Version 1.1.1, updated
  • Joomla 4.4, 5 and 6
  • No external service or API key
  • Keeps working after the year ends
  • Plugin
  • EUR 49.00
Image

Production-ready Joomla extensions and expert development services to help you build better, faster.

Products

Services