Skip to main content

I migliori plugin per velocizzare Joomla: cache, .htaccess e Core Web Vitals

Per velocizzare Joomla in modo efficace nel 2026, non basta installare il primo plugin che compare su Google: serve un metodo. Un sito Joomla lento non è solo un fastidio per chi lo visita, è un problema di business misurabile. Google valuta le performance come fattore di ranking diretto attraverso i Core Web Vitals, e un punteggio PageSpeed sotto 50 su mobile significa meno visibilità organica, più rimbalzi e, in ultima analisi, meno lead qualificati. Per una PMI B2B che investe in SEO, perdere posizioni per colpa della velocità è uno spreco evitabile.

Il problema più comune che incontriamo nei siti Joomla è questo: il webmaster installa due o tre plugin di ottimizzazione a caso, spera che il punteggio salga e, quando non succede, ne installa altri tre. Il risultato è un sito con sei estensioni di performance che si sovrappongono, si contraddicono e a volte si rompono a vicenda. La velocità non migliora, ma il sito presenta nuovi errori JavaScript che prima non c'erano.

Questa guida segue un ordine logico diverso. Prima si capisce cosa misurare (Core Web Vitals e PageSpeed Insights). Poi si interviene sul lato server con gli strumenti nativi di Joomla e con il file .htaccess. Solo dopo, con le basi sistemate, si selezionano i plugin giusti per le ottimizzazioni che restano. Stefano Rigazio, consulente SEO con oltre 25 anni di esperienza su PMI B2B e autore del libro "SEO Joomla!" (Hoepli), usa questo stesso approccio con i suoi clienti: prima la diagnosi, poi l'intervento mirato.

Se vuoi una diagnosi tecnica personalizzata delle performance del tuo sito Joomla prima di procedere in autonomia, contattaci.

Perché la velocità di Joomla conta: core web vitals e ranking Google

Fino al 2020, la velocità era un fattore di ranking indiretto: Google la considerava come segnale di qualità, ma senza metriche precise e verificabili. Con l'introduzione dei Core Web Vitals come fattori di ranking ufficiali, la situazione è cambiata. Ora Google misura performance specifiche e le usa direttamente nell'algoritmo. Sapere cosa misura è il prerequisito per qualsiasi intervento di ottimizzazione.

LCP, INP e CLS: cosa misura Google e perché impatta il posizionamento

Il Largest Contentful Paint (LCP) misura il tempo impiegato dall'elemento di contenuto più grande della pagina (tipicamente l'immagine hero o il titolo principale) per diventare visibile. La soglia verde è inferiore a 2,5 secondi dal primo byte ricevuto. Un LCP alto è quasi sempre causato da immagini non ottimizzate, TTFB elevato (il server risponde lentamente) o risorse bloccanti nel caricamento. La cache lato server, che riduce il TTFB, incide direttamente su questa metrica.

L'Interaction to Next Paint (INP) ha sostituito il First Input Delay (FID) nel marzo 2024. Misura la reattività della pagina a tutte le interazioni dell'utente durante l'intera sessione di navigazione, non solo al primo click. La soglia verde è inferiore a 200 millisecondi. Un INP alto è quasi sempre causato da JavaScript pesante o mal ottimizzato che occupa il thread principale del browser, impedendo risposte fluide ai click. Nessun plugin di cache lo risolve: serve ridurre o differire il JavaScript.

Il Cumulative Layout Shift (CLS) misura la stabilità visiva della pagina: quanto il layout "salta" durante il caricamento perché elementi si spostano. La soglia verde è inferiore a 0,1. Un CLS alto è tipicamente causato da immagini senza dimensioni definite, font web caricati in ritardo o banner pubblicitari inseriti dinamicamente. In Joomla, i template con slider e carousel sono tra i principali responsabili di un CLS elevato.

La distinzione è operativa: nessun plugin di performance risolve tutte e tre le metriche contemporaneamente. Prima di installare qualsiasi cosa, devi sapere quale metrica è critica nel tuo caso.

Il punto di partenza: misura le performance con PageSpeed Insights

Prima di toccare qualsiasi file o installare qualsiasi plugin, apri pagespeed.web.dev e inserisci l'URL della tua homepage. Analizza sia la versione mobile che quella desktop: i punteggi saranno quasi sempre molto diversi, e quello che conta di più è il mobile, perché Google utilizza il mobile-first indexing per determinare il posizionamento.

Nel report, concentrati su tre elementi. Il punteggio complessivo (da 0 a 100) ti dà un'indicazione rapida dello stato generale: sotto 50 è critico, tra 50 e 89 è da migliorare, sopra 90 è buono. Le metriche Core Web Vitals ti dicono esattamente dove si trova il problema: rosso significa sotto la soglia critica, arancione è nella zona da migliorare, verde è nella soglia ideale. Le "opportunità" ti mostrano gli interventi specifici con il risparmio stimato in secondi, ordinati per impatto.

Prendi nota di questi dati prima di procedere. Annota quale metrica è rossa, qual è il peso totale della pagina, quante richieste HTTP vengono generate. Questi sono i tuoi KPI di partenza: ti serviranno per misurare il miglioramento reale dopo ogni intervento e per verificare che i plugin installati stiano effettivamente aiutando, non solo aggiungendo complessità.

Cache lato server in Joomla: il plugin Sistema Cache

Joomla include nativamente un sistema di cache lato server che molti amministratori non attivano mai. La cache lato server riduce il TTFB perché invece di eseguire PHP e interrogare il database a ogni richiesta, Joomla serve una versione già elaborata della pagina — con impatto diretto sull'LCP.

Come attivare il plugin in Estensioni > Plugin > System - Page Cache

La configurazione corretta della cache in Joomla richiede due passaggi distinti che molte guide confondono o invertono. Il primo passaggio avviene in Configurazione Globale → scheda Sistema → Impostazioni cache: qui trovi il selettore "System Cache" con tre opzioni: OFF (cache disabilitata), ON conservativo e ON progressivo. La modalità conservativa è più sicura perché evita la cache per le pagine che richiedono sessioni utente attive (aree riservate, form con token, componenti con logica dinamica). La modalità progressiva è più aggressiva e può aumentare ulteriormente le performance, ma potrebbe causare problemi con componenti che si aspettano comportamenti dinamici. In questa stessa scheda trovi il tempo di cache: il valore predefinito è 15 minuti, che puoi alzare a 60-120 minuti per siti con contenuti che cambiano raramente.

Il secondo passaggio è abilitare il plugin System - Page Cache: vai su Estensioni → Plugin, cerca "System - Page Cache" e impostalo su Abilitato. Questo plugin salva una copia statica HTML di ogni pagina e la serve direttamente senza eseguire PHP né interrogare il database — è questo che abbassa drasticamente il TTFB. Se il sito ha un carrello o aree con sessioni utente, configura le esclusioni nella scheda Avanzate del plugin per evitare di mettere in cache pagine che devono restare dinamiche.

Cache lato client con .htaccess: filesMatch, max-age e mod_expires

La cache lato server fa risparmiare tempo al server. La cache lato client fa risparmiare tempo al browser dell'utente: alla seconda visita, il browser non riscarica le risorse statiche (immagini, CSS, font, JavaScript) perché le ha già in memoria locale. La configurazione avviene nel file .htaccess nella root del sito Joomla. Prima di modificarlo, crea sempre un backup: un errore di sintassi in questo file può rendere il sito irraggiungibile.

Codice .htaccess con FilesMatch e max-age per tipo di file

La direttiva FilesMatch con l'intestazione Cache-Control permette di specificare per quanto tempo il browser deve tenere in cache ogni tipo di risorsa. Il parametro max-age è espresso in secondi. Aggiungi questo blocco nel tuo .htaccess, preferibilmente dopo le direttive di RewriteRule già presenti:

<IfModule mod_headers.c>
  # Immagini — 1 anno
  <FilesMatch "\.(ico|jpg|jpeg|png|gif|webp|svg)$">
    Header set Cache-Control "max-age=31536000, public"
  </FilesMatch>

  # Font — 1 anno
  <FilesMatch "\.(woff|woff2|ttf|eot)$">
    Header set Cache-Control "max-age=31536000, public"
  </FilesMatch>

  # CSS e JavaScript — 1 settimana
  <FilesMatch "\.(css|js)$">
    Header set Cache-Control "max-age=604800, public"
  </FilesMatch>

  # HTML — 3 ore
  <FilesMatch "\.html?$">
    Header set Cache-Control "max-age=10800, public"
  </FilesMatch>
</IfModule>

I valori sono calibrati sulla frequenza di aggiornamento di ciascun tipo di risorsa. Il valore 31.536.000 corrisponde a un anno: immagini e font cambiano raramente, quindi è ragionevole tenerli in cache per lungo tempo. Il valore 604.800 corrisponde a una settimana: CSS e JavaScript vengono aggiornati con i rilasci del template o delle estensioni, quindi una settimana è un compromesso equilibrato. Il valore 10.800 corrisponde a tre ore per l'HTML, che varia con maggiore frequenza in presenza di articoli, news o aggiornamenti di prodotto.

mod_expires come alternativa

Se il tuo hosting non ha mod_headers attivo (puoi verificarlo chiedendo al supporto o controllando i moduli Apache disponibili), puoi usare mod_expires come alternativa funzionalmente equivalente. La sintassi è diversa ma il risultato è lo stesso: dire al browser per quanto tempo mantenere le risorse in cache.

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/jpg "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"
  ExpiresByType text/html "access plus 1 hour"
</IfModule>

Non usare entrambi i blocchi contemporaneamente: scegli uno dei due in base alla disponibilità dei moduli sul tuo server. In caso di dubbio, mod_headers è più flessibile e generalmente preferito.

Compressione testo con mod_deflate

La cache client riduce le richieste al server nelle visite successive. La compressione con mod_deflate riduce il peso dei file trasferiti in ogni richiesta, anche alla prima visita. Il modulo comprime le risorse di testo (HTML, CSS, JavaScript, XML, JSON) prima di inviarle al browser, che le decomprime localmente in pochi millisecondi. La riduzione di peso tipica è del 60-80% su questi tipi di file: un file HTML da 100KB diventa circa 25-35KB in transito. Questo si traduce in un tempo di download inferiore, che contribuisce direttamente a un LCP più basso.

Il codice AddOutputFilterByType DEFLATE

Aggiungi questo blocco nel tuo .htaccess:

<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/json
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE text/xml
</IfModule>

Un dettaglio importante: non includere immagini JPEG, PNG, WebP o GIF in questo elenco. Questi formati sono già compressi internamente: tentare di comprimerli ulteriormente con DEFLATE non produce alcun risparmio e in alcuni casi aumenta marginalmente il peso del file. La compressione è efficace solo sui file di testo non compressi. Per verificare che mod_deflate sia attivo dopo la modifica, usa GTmetrix o Google Chrome DevTools: nella sezione Network, seleziona una risorsa HTML o CSS e controlla che nell'intestazione della risposta compaia "Content-Encoding: gzip".

Minify vs Merge: ridurre il peso o unificare i file?

Quando si parla di ottimizzazione CSS e JavaScript, si usano spesso i termini "minify" e "merge" come se fossero sinonimi. Sono due operazioni distinte che agiscono su problemi diversi e si usano in combinazione.

La minificazione (minify) riduce il peso di un singolo file CSS o JavaScript eliminando tutto ciò che è utile agli sviluppatori ma inutile al browser: spazi bianchi, commenti, rientri, a capo e, nel caso del JavaScript, abbreviando i nomi delle variabili locali. Un file CSS da 80KB può diventare 50-55KB dopo la minificazione. Il numero di richieste HTTP resta invariato: se il sito carica 18 file CSS, dopo la minificazione carica comunque 18 file CSS, solo più leggeri.

Il merge (o concatenazione) fa il contrario: invece di ridurre il peso, riduce il numero di richieste HTTP unificando più file in uno. Se il sito carica 18 file CSS, dopo il merge ne carica 1 o 2. Su HTTP/1.1 questo era un intervento ad alto impatto perché il protocollo apriva una connessione separata per ogni risorsa. Su HTTP/2, che moltiplica le richieste sulla stessa connessione, l'impatto è minore ma ancora presente, soprattutto su hosting condivisi o con latenza elevata.

La strategia corretta nella quasi totalità dei casi è applicare entrambe le operazioni in sequenza: prima minifica, poi unifica. I plugin come JSpeed e JCH Optimize le eseguono in combinazione in un passaggio unico. Il rischio principale del merge è che unire JavaScript in ordine sbagliato rompe le dipendenze tra script e causa errori nel browser. Tutti i plugin seri includono un sistema di esclusioni per gestire i file problematici: usalo senza esitazione quando un componente smette di funzionare dopo l'attivazione del merge.

I migliori plugin per velocizzare Joomla nel 2026

Con le basi configurate (cache lato server, .htaccess, compressione), i plugin di performance completano il quadro gestendo le ottimizzazioni più complesse: minificazione e merge degli asset, lazy loading, ottimizzazione immagini, CDN. Ecco i plugin testati e verificati per Joomla 4 e 5 nel 2026.

JSpeed Professional

JSpeed Professional di J!Extensions Store è la soluzione più completa disponibile per Joomla nel 2026. Non è un semplice aggregatore di CSS e JavaScript: è un sistema di ottimizzazione delle performance a tutto tondo, che copre praticamente ogni aspetto della velocità del front-end.

Tra le funzionalità principali: minificazione e merge di CSS, JavaScript e HTML; lazy loading per immagini, script e iframe; ottimizzazione immagini on-the-fly con ridimensionamento automatico e conversione WebP; CDN rewriting per redirigere le risorse statiche; cache full-page; supporto HTTP/2; precaricamento delle pagine al passaggio del mouse tramite la funzione Instant Page (che riduce il tempo percepito di caricamento); ottimizzazioni .htaccess automatiche; sistema di esclusioni granulare per gestire i conflitti con componenti specifici. La tecnologia proprietaria "Adaptive Contents" genera una versione lightweight della pagina specificamente per migliorare il punteggio PageSpeed, riducendo il peso percepito nel calcolo delle metriche.

JSpeed è il plugin che Stefano Rigazio utilizza e consiglia per i siti Joomla dei clienti PMI che seguiamo: copre in un unico strumento tutto ciò che gli altri plugin coprono separatamente. È un plugin commerciale disponibile su storejextensions.org. Se vuoi sapere come configurarlo in modo ottimale per il tuo sito specifico, contattaci per una consulenza.

JCH Optimize

JCH Optimize è l'alternativa gratuita più diffusa e matura. Disponibile nella Joomla Extensions Directory, unisce e minifica CSS e JavaScript, comprime l'HTML e rimuove i commenti dal markup. Compatibile con Joomla 4 e 5, si configura in pochi minuti con livelli di ottimizzazione progressivi. La versione Pro aggiunge lazy loading e integrazione CDN, ma per la maggior parte dei siti Joomla di PMI la versione gratuita produce già risultati misurabili. Disponibile su extensions.joomla.org.

Cache Cleaner by Regular Labs

Cache Cleaner non ottimizza le performance: le mantiene stabili nel tempo. Il problema della cache Joomla, specialmente in siti con aggiornamenti frequenti di contenuti o estensioni, è che le versioni vecchie rimangono in cache e vengono servite agli utenti anche dopo le modifiche. Cache Cleaner risolve questo problema con una funzione di pulizia accessibile direttamente dalla barra di amministrazione di Joomla con un clic, senza dover navigare nelle impostazioni. Gratuito, compatibile con Joomla 4 e 5, è uno di quegli strumenti che non fa notizia ma che fa risparmiare molte ore di debug su "perché la modifica non appare".

LLFJ – Lazy Load for Joomla!

LLFJ di Viktor Vogel implementa il lazy loading delle immagini: invece di caricare tutte le immagini della pagina al primo accesso, carica solo quelle visibili nel viewport dell'utente. Le immagini sotto la piega vengono caricate dinamicamente mentre l'utente scorre. L'impatto sull'LCP è diretto e misurabile: meno peso caricato al primo accesso significa risposta più rapida per l'elemento principale della pagina. I browser moderni supportano nativamente il lazy loading tramite l'attributo loading="lazy", ma LLFJ garantisce una copertura completa anche per browser meno recenti e offre controllo granulare su quali immagini escludere dal lazy loading. Gratuito, disponibile su extensions.joomla.org.

PCE – Page Cache Extended

PCE di Viktor Vogel è un sistema di cache full-page: genera una copia statica HTML di ogni pagina visitata e la serve direttamente dal file system, bypassando completamente l'esecuzione PHP e le query al database. Il risultato è una riduzione drastica del TTFB, che può passare da 300-800 millisecondi a 20-50 millisecondi per le pagine in cache. Questo è l'intervento più impattante sull'LCP per siti con hosting lento o su server condivisi. L'unico limite riguarda le pagine dinamiche: PCE non deve essere attivato su pagine con sessioni utente, carrelli e-commerce, form protetti da token o contenuti personalizzati per utente loggato. Gratuito, disponibile su extensions.joomla.org.

CDN for Joomla! by Regular Labs

CDN for Joomla! redirige le risorse statiche del sito (immagini, CSS, JavaScript, font) verso un dominio CDN esterno, riducendo la latenza fisica per gli utenti lontani dal server principale. Il plugin è gratuito ma richiede un account CDN esterno (Cloudflare, BunnyCDN o provider equivalente). Per una PMI italiana con visitatori prevalentemente italiani e server in Italia, il guadagno è limitato. Diventa rilevante per siti con presenza internazionale o volumi di traffico elevati. Disponibile su extensions.joomla.org.

OptiPic – ottimizzazione immagini WebP

OptiPic converte automaticamente le immagini del sito in formato WebP senza richiedere di ricaricare manualmente nessun file. Agisce come proxy sulle immagini esistenti: quando un browser compatibile richiede un'immagine, OptiPic serve la versione WebP ottimizzata. La riduzione di peso rispetto a JPEG equivalente è tipicamente del 25-35%. WebP è supportato da tutti i browser moderni e rappresenta il formato di riferimento per le immagini web nel 2026. La versione base include anche un piano CDN integrato, il che lo rende una soluzione interessante per chi non vuole gestire configurazioni CDN separate. Disponibile su extensions.joomla.org.

Cosa eliminare prima di installare plugin di performance

I plugin di ottimizzazione fanno il loro lavoro meglio quando il sito che ottimizzano è già pulito. Prima di installare qualsiasi estensione di performance, dedica un'ora a fare un audit delle estensioni installate: spesso è qui che si trova il guadagno maggiore, senza aggiungere nulla.

Il primo controllo riguarda le estensioni disabilitate ma non disinstallate. In Joomla, un plugin disattivato non esegue la sua logica principale, ma il framework carica comunque il file durante l'inizializzazione. Disinstallare un'estensione che non usi più ha un impatto misurabile sul tempo di bootstrap di Joomla. Se hai estensioni che non usi da mesi, rimuovile completamente.

Il secondo controllo riguarda i template con elementi grafici pesanti. Slider, carousel con animazioni CSS/JavaScript e effetti parallax sono tra le cause più frequenti di un CLS alto e di un INP elevato. Disabilitarli o sostituirli con soluzioni più leggere può far guadagnare 10-20 punti su PageSpeed senza installare nulla.

Il terzo controllo riguarda le dipendenze JavaScript legacy. Joomla 4 e 5 includono jQuery nativamente nel core. Qualsiasi plugin o template di vecchia generazione che carica una propria versione separata di jQuery sta aggiungendo 30-90KB di codice duplicato. Lo stesso vale per MooTools: era la libreria JavaScript di riferimento per Joomla 2.5 e 3.x, ma in Joomla 4+ è deprecata. Se hai estensioni che la caricano ancora, è probabile che siano incompatibili con Joomla 4/5 e vadano sostituite.

Per un'analisi completa delle estensioni installate e la loro compatibilità con Joomla 4 e 5, il team Enthous offre assistenza tecnica specializzata su Joomla, con audit delle estensioni e piano di migrazione. Per chi vuole capire l'impatto SEO di questi interventi sulle performance organiche del sito, la nostra consulenza SEO Joomla parte sempre da un'analisi tecnica delle metriche di velocità.

Piano d'azione: da dove iniziare

Ottimizzare le performance di un sito Joomla richiede ordine, non velocità. Fare tutto insieme senza misurare è il modo più sicuro per non capire cosa ha funzionato e cosa ha causato problemi. Il piano che usiamo con i nostri clienti si articola in quattro fasi, ognuna con un tempo stimato e un obiettivo chiaro.

La prima fase è la misurazione: dieci minuti su PageSpeed Insights, sia mobile che desktop. Annota i punteggi di partenza, identifica le metriche rosse (LCP, INP, CLS) e leggi le opportunità segnalate. Tutto il lavoro successivo deve essere valutato rispetto a questi numeri di partenza.

La seconda fase è la pulizia: disinstalla le estensioni inutilizzate, rimuovi o disabilita slider e carousel pesanti, verifica la presenza di jQuery o MooTools duplicati. Dedica un'ora a questa fase prima di installare qualsiasi altra cosa. Su molti siti Joomla di PMI, solo questa fase porta a guadagni di 10-20 punti senza aggiungere nulla.

La terza fase è la configurazione del server: attiva il plugin Sistema Cache in modalità conservativa, aggiungi il blocco mod_deflate nel file .htaccess, configura la cache client con FilesMatch o mod_expires. Sono trenta minuti di interventi senza costo che agiscono su TTFB, peso di trasferimento e richieste del browser nelle visite successive.

La quarta fase è l'installazione dei plugin: inizia con JSpeed Professional se vuoi una soluzione completa in un unico strumento, oppure con JCH Optimize se preferisci partire dal gratuito. Configura, testa manualmente tutte le sezioni del sito (homepage, articoli, form), verifica che nessun componente abbia smesso di funzionare, usa il sistema di esclusioni per i file problematici. Infine, ri-misura su PageSpeed Insights e confronta i nuovi punteggi con quelli di partenza.

Se vuoi saltare la fase di trial and error e avere una diagnosi tecnica personalizzata delle performance del tuo sito Joomla con un piano di intervento prioritizzato, contattaci: analizziamo i Core Web Vitals, identifichiamo i colli di bottiglia specifici del tuo sito e ti consegniamo un blueprint operativo pronto da eseguire.

Autore

Stefano Rigazio

25+ anni nel digital per far crescere aziende B2B ed ecommerce senza gonfiare i costi. Strategia, AI, SEO e automazioni “utili” per migliorare conversioni e processi.
Metodo concreto, dati alla mano: ottimizzo ciò che hai già e lo faccio rendere di più.

Agenzia Accreditata Sonosicuro
PrestaShop Expert
Stefano è un autore Hoepli
Certificati Connection Manager

Ultimi articoli pubblicati


Invia la tua richiesta

Compilate il modulo, senza impegno, spiegando di cosa avete bisogno e sarete ricontattati, nel più breve tempo possibile, per parlarne in tutta tranquillità.

Termini di servizio *
Indirizzo

13043 Cigliano (VC)

Via Salussolia, 23

Contatti

Tel: 3400032218

Email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.