Quando si tratta di gestire un sito web, la velocitร รจ uno dei fattori piรน importanti.
Unย sito WordPress lentoย puรฒ danneggiare non solo l’esperienza utente, ma anche il posizionamento sui motori di ricerca, con un impatto negativo diretto sul traffico e sulle conversioni.
Come forse saprai i siti che funzionano meglio sono veloci.
Fortunatamente, con le giuste contromisure, รจ possibile velocizzare un sito WordPress senza compromettere la funzionalitร . Avere un sito WordPress veloce non รจ impossibile se si seguono le giuste linee guida e si effettuano le opportune ottimizzazioni.
In questo articolo, esamineremo le cause piรน comuni della lentezza di WordPress e forniremo consigli eย best practicesย per ottimizzare le prestazioni del tuo sito web.
Dalla scelta di temi e plugin, alla configurazione della cache, fino allโottimizzazione del database e del codice, copriremo ogni aspetto per rendere la tua installazione diย WordPressย il piรน veloce possibile.
Indice
- Perchรฉ WordPress รจ lento? Cause comuni e come risolverle
- Perchรฉ la velocitร del sito รจ importante?
- Web Vitals: misura e ottimizza la velocitร del tuo sito WordPress
- Scegliere i migliori Temi e Plugin per migliorare le prestazioni di WordPress
- Ottimizzazione del database WordPress
- Gestire la cache e ottimizzare il codice HTML, JS e CSS in WordPress
- Ottimizzazione delle immagini per WordPress
- Consigli per migliorare le prestazioni di WordPress
- Come scegliere un hosting performante per WordPress
- Conclusione
Perchรฉ WordPress รจ lento? Cause comuni e come risolverle
WordPress, essendo un sistema di gestione dei contenuti (CMS) molto versatile, permette di costruire praticamente qualsiasi tipo di sito web.
Tuttavia, proprio questa flessibilitร puรฒ portare aย problemi di performance se non si adotta un approccio consapevole all’ottimizzazione di struttura e contenuti del sito web.
Principali cause della lentezza di WordPress
Le cause che determinano la lentezza di WordPress possono essere molteplici.
Il problema principale di WordPress – e di molti altri CMS – consiste nell’uso intensivo del database.
WordPress utilizza costantemente il database per gestire contenuti, utenti, commenti e altro.
Ogni pagina generata dal sito richiede diverse query al database, il che comporta un rallentamento della navigazione, soprattutto se le interrogazioni al database sono numerose e complesse.
Per siti “piccoli” e con poco traffico questo potrebbe non essere un problema particolarmente evidente, ma su siti complessi e/o con parecchio traffico, l‘uso intensivo del database puรฒ portare ad un forte degrado dei tempi di risposta delle pagine sino, nei casi piรน critici, al blocco del sito web stesso a causa dell’incapacitร del server di rispondere a tutte le richieste in entrata!
Oltre a questo problema, per cosรฌ dire intrinseco alla natura stessa di WordPress, le cause piรน comuni che determinano la lentezza dei siti sviluppati con questo CMS sono:
- Uso di temi non ottimizzati: temi pesanti con molto codice superfluo, o che caricano risorse non necessarie, possono rallentare il sito in modo significativo.
- Uso di plugin di scarsa qualitร : sebbene i plugin offrano funzionalitร aggiuntive, alcuni di essi possono essere “scritti male” o creare conflitti, aumentando i tempi di caricamento delle pagine e creando instabilitร al sito web.
- Uso di un numero eccessivo di plugin: i plugin sono utili, ma ogni volta che ne aggiungiamo uno al nostro sito, il caricamento risulta “appesantito”. ร importante selezionare con cura i plugin da utilizzare, mantenendo attivi solo quelli necessari e disinstallare gli altri.
- Mancata (o inadeguata) implementazione della cache (vedremo piรน avanti cos’รจ e perchรฉ รจ importante).
- Hosting economici o di bassa qualitร : la scelta dell’hosting รจ importante per la sicurezza e la velocitร di un sito sviluppato con WordPress e dovrebbe essere ponderata con la dovuta attenzione.
Oltre a questi tanti altri problemi, grandi e piccoli, possono incidere sui tempi di caricamento. Vedremo tra poco quali sono questi problemi e come risolverli.
Perchรฉ la velocitร del sito รจ importante?
Un sito web veloce รจ essenziale non solo per offrire ai visitatori una esperienza di navigazione gradevole, ma anche per migliorare la visibilitร sui motori di ricerca e incrementare le conversioni. Vediamo perchรฉ.
Velocitร e SEO
Google considera la velocitร del sito un importante fattore di ranking. In poche parole: i siti piรน veloci tendono a essere premiati nei risultati di ricerca, mentre quelli lenti possono essere penalizzati. Strumenti come Google PageSpeed Insights, Lighthouse o GT Metrix possono aiutarti a monitorare le prestazioni del sito e individuare problemi e opportunitร di miglioramento.
Velocitร e User Experience (UX)
Se un sito richiede troppo tempo per caricarsi, gli utenti potrebbero abbandonarlo prima ancora di vedere il contenuto. La bounce rate (percentuale di rimbalzo) aumenta notevolmente quando il sito รจ lento, con conseguente diminuzione del tempo medio di permanenza sulla pagina.
Velocitร e Conversioni
Che tu gestisca un e-commerce o un blog, un sito piรน veloce contribuisce a migliorare il tasso di conversione. Diversi studi dimostrano che anche un ritardo di un secondo nel caricamento puรฒ ridurre le conversioni del 7%. Per le aziende online, questo si traduce in perdite significative.
In altre parole un sito veloce รจ un sito che genera piรน lead e produce piรน vendite.
Web Vitals: misura e ottimizza la velocitร del tuo sito WordPress
I Core Web Vitals sono un insieme di metriche che Google utilizza per valutare la qualitร dellโesperienza utente su un sito web. Comprendere e ottimizzare queste metriche รจ cruciale per migliorare le prestazioni del nostro sito WordPress.
Cosa sono i Core Web Vitals?
Si tratta di un insieme di metriche che determinano quanto un sito web รจ performante e soddisfacente dal punto di vista dell’esperienza di navigazione. I tre fattori principali sono:
- LCP (Largest Contentful Paint): Misura il tempo necessario per caricare l’elemento piรน grande visibile nella viewport. Un valore LCP accettabile รจ sotto i 2,5 secondi.
- FID (First Input Delay): Misura il tempo che passa tra la prima interazione dell’utente (come un click) e la risposta del browser. Un buon FID รจ sotto i 100 millisecondi.
- CLS (Cumulative Layout Shift): Valuta la stabilitร visiva della pagina, misurando quanto gli elementi della pagina si spostano durante il caricamento. Un CLS accettabile รจ inferiore a 0,1.
Un sito WordPress non ottimizzato avrร sicuramente dei “cattivi punteggi” in una o piรน di queste metriche.
Una precisazione: in questo articolo non ci occuperemo specificamente di ottimizzazione per i Web Vitals ma ci concentreremo esclusivamente sulla velocitร di caricamento.
Fermo restando che il miglioramento di questo aspetto del sito avrร degli impatti super-positivi sui Web Vitals, questi ultimi considerano anche altri fattori, come CLS, che non attengono esclusivamente alla velocitร e che quindi, in questa sede, non prenderemo in considerazione.
Scegliere i migliori Temi e Plugin per migliorare le prestazioni di WordPress
Non tutti i temi e plugin sono uguali dal punto di vista della “qualitร ” del codice. Alcuni possono essere fantastici, ma altri possono compromettere seriamente le prestazioni (e, a volte, anche la sicurezza) del tuo sito.
Come scegliere un tema ottimizzato
- Utilizza temi leggeri: Evita temi con troppe funzionalitร integrate. Temi leggeri come Astra, Neve, Kadence o GeneratePress sono buoni punti di partenza per chi desidera sviluppare un sito WordPress veloce.
- Utilizza temi aggiornati: il tema, come i plugin, deve essere aggiornato con una certa frequenza: evitare temi molto vecchi o che non vengono aggiornati da parecchio tempo perchรฉ, sicuramente, non sono un buon punto di partenza nella costruzione del tuo sito WordPress.
- Evita temi multi-funzionali: Temi che includono molti plugin integrati o visual builder possono essere piรน lenti da caricare. Se utilizzi un tema multi-funzionale, verifica che ci sia un’opzione per disattivare le funzionalitร non necessarie.
Come scegliere i giusti plugin
- Scegli plugin popolari e costantemente aggiornati: Plugin mal codificati possono compromettere la sicurezza e la velocitร . Usa plugin popolari (con molte installazioni), aggiornati di recente e ben recensiti. Diversamente da quello che si potrebbe pensare il fatto che un plugin sia gratuito non significa che sia “peggiore” di uno Premium (a pagamento).
- Usa solo i plugin che ti servono davvero: Ogni plugin aggiunge codice e, pertanto, puรฒ rallentare il tuo sito web. Seleziona con cura ciรฒ che effettivamente ti serve e disattiva (o meglio elimina!) quelli superflui.
Ottimizzazione del database WordPress
Il database รจ il cuore del tuo sito WordPress, ma se non รจ mantenuto pulito e ottimizzato, puรฒ diventare un collo di bottiglia per le prestazioni del tuo sito.
Il database di WordPress tende, nel tempo, a crescere piรน del dovuto ed a raccogliere dati inutili, come revisioni dei post, transient scaduti e tabelle residue di plugin non piรน attivi.
Questo “gigantismo” del database puรฒ comportare un degrado delle prestazioni, quindi รจ importante prendersi cura della base dati su cui poggia il sito effettuando una manutenzione periodica dei dati.
Principali azioni per ottimizzare il database
- Elimina o riduci le revisioni dei post: WordPress salva automaticamente diverse revisioni di ogni post e pagina, accumulando dati inutili nel database. Puoi limitarle le revisioni aggiungendo una regola nel file
wp-config.php
(vedremo piรน avanti come fare) o utilizzando plugin specifici per l’ottimizzazione. - Pulisci i transient scaduti: I transient sono dati temporanei utilizzati per migliorare le prestazioni del sito, ma una volta scaduti possono rimanere nel database pur essendo, di fatto, inutili.
- Elimina i dati di plugin disattivati: Quando disattivi un plugin, alcune tabelle o opzioni rimangono nel database. Installa un plugin di pulizia per eliminare questi dati non necessari oppure, se hai le giuste competenze, utilizza phpMyAdmin per una pulizia manuale di tabelle e record inutili.
Importante: assicurati di fare sempre un backup del database prima di effettuare operazioni di pulizia per evitare di perdere dati importanti qualora qualcosa vada storto.
Limitare le revisioni
Le revisioni di WordPress sono una funzionalitร che consente di salvare automaticamente le versioni precedenti di post e pagine mentre li modifichi. Ogni volta che salvi una modifica, WordPress crea una nuova revisione, consentendoti di tornare indietro a una versione precedente del contenuto.
Sebbene questa funzione sia utile, l’accumulo di numerose revisioni puรฒ appesantire il database, riducendo le prestazioni del sito, specialmente su siti con molti articoli o contenuti (abbiamo giร parlato piรน sopra dell’importanza di un database ottimizzato).
Per evitare che il database si riempia eccessivamente di revisioni, รจ possibile limitare il numero massimo di revisioni che WordPress conserva per ogni post o pagina. Questo puรฒ essere fatto aggiungendo una semplice configurazione nel file wp-config.php
del tuo sito WordPress:
/* Limita il numero di revisioni salvate per post */
define( 'WP_POST_REVISIONS', 5 );
In questo esempio, WordPress salverร solo le ultime 5 revisioni per ciascun post o pagina. Ovviamente il numero di revisioni da mantenere puรฒ essere personalizzato a piacimento. Se non vuoi che WordPress salvi alcuna revisione, puoi disattivarle completamente impostando il valore suย false
:
/* Disattiva completamente le revisioni */
define( 'WP_POST_REVISIONS', false );
Se il tuo sito ha giร accumulato molte revisioni, puoi eliminarle per alleggerire il database. Puoi farlo manualmente tramite query SQL o utilizzare plugin come WP-Optimize o Advanced Database Cleaner per rimuovere le revisioni inutilizzate in modo sicuro.
Gestire le opzioni in autoload
La gestione delle opzioni in autoload fa parte delle ottimizzazioni legate al database di WordPress. Le opzioni in autoload in WordPress sono impostazioni che vengono caricate automaticamente ogni volta che una pagina del sito viene visualizzata. Queste opzioni vengono generate sia dal core di WordPress che da temi e plugin, i quali hanno accesso a questa risorsa per archiviare dati necessari al loro funzionamento.
Queste opzioni sono memorizzate nel database nella tabella “wp_options” e contrassegnate per essere caricate automaticamente in fase di esecuzione (autoload = yes) oppure no.
Sebbene il caricamento automatico delle opzioni possa migliorare le prestazioni quando usato correttamente, perchรฉ i dati sono disponibili e non devono essere richiesti al database, un numero eccessivo di opzioni in autoload o un peso complessivo troppo elevato dei dati in esse memorizzati puรฒ comportare un rallentamento del sito e trasformarsi, pertanto, in un problema.
Per questo motivo gli sviluppatori di WordPress consigliano di mantenere il peso totale delle opzioni in autoload al di sotto degli 800KB. Quando tale soglia viene superata lo strumento integrato per il monitoraggio dello “Stato di saluto” di WordPress segnalerร il problema come “critico”.
Purtroppo non รจ infrequente che i siti web superino questa soglia. Ma come รจ possibile che le opzioni in autoload diventino un problema?
Questo dipende, principalmente, da temi e plugin. Se le opzioni di WordPress hanno un peso limitato, infatti, quelle caricate da temi e plugin possono essere ingombranti! Inoltre capita spesso che temi e plugin ormai disattivati o cancellati lascino la loro traccia tra le opzioni continuando ad appesantirle con dati ormai inutili.
Per gestire le opzioni in autoload รจ possibile utilizzare plugin come Advanced Database Cleaner o WP Optimize, che permettono di identificare le opzioni non necessarie e di rimuoverle in modo sicuro. Questi strumenti consentono di visualizzare quali opzioni vengono caricate automaticamente e il loro peso, offrendo la possibilitร di ripulire le opzioni autoload inutilizzate.
In alternativa, รจ possibile gestire le opzioni in autoload direttamente tramite phpMyAdmin, ma questa soluzione รจ consigliata solo agli utenti piรน esperti. Accedendo al database, รจ possibile eseguire la seguente query SQL per identificare le opzioni autoload piรน pesanti:
SELECT option_name, option_value, LENGTH(option_value) AS size
FROM wp_options
WHERE autoload = 'yes'
ORDER BY size DESC;
Questa query mostrerร le opzioni caricate automaticamente, ordinate in base alla loro dimensione. Una volta identificate le opzioni non necessarie, puoi modificarle direttamente (impostando autoload su “no”) o rimuoverle se non sono piรน utilizzate, riducendo cosรฌ il carico complessivo sul sito.
I migliori plugin per prendersi cura del database di WordPress
WP-Optimize
WP-Optimize รจ un plugin completo che consente di pulire, comprimere e ottimizzare il database WordPress, migliorando le prestazioni del sito. Offre anche funzioni di cache, compressione delle immagini e vinificazione del codice sorgente per ridurre i tempi di caricamento. Il plugin รจ disponibile in versione Free con funzionalitร limitate oppure in versione Pro, in abbonamento, per chi desidera migliori livelli di performance ed ottimizzazione per il proprio sito WordPress.
Advanced Database Cleaner
Advanced Database Cleaner รจ uno strumento potente per la manutenzione del database WordPress, che consente di rimuovere dati inutilizzati come revisioni di post, commenti spam e transitori, aiutando a mantenere il database leggero e performante. Il plugin รจ disponibile in versione Free con funzionalitร limitate. La versione PRO, che costa poche decine di dollari, sblocca diverse funzionalitร interessanti come l’identificazione di opzioni, tabelle e cron job “orfani” (cioรจ di plugin non piรน utilizzati) che possono essere eliminati senza problemi.
Gestire la cache e ottimizzare il codice HTML, JS e CSS in WordPress
La cache รจ una delle tecniche piรน efficaci per migliorare le prestazioni di un sito WordPress. Memorizzare in cache le pagine o gli oggetti permette di ridurre il carico sul server e migliorare i tempi di caricamento delle pagine per gli utenti.
Prima di addentrarci negli aspetti tecnici, perรฒ, รจ utile fare una piccola introduzione per spiegare meglio cos’รจ la cache e a cosa serve, per comprendere l’importanza di una sua corretta gestione in WordPress.
Cos’รจ la cache?
In informatica, la cache รจ un sistema che salva temporaneamente copie dei dati frequentemente utilizzati per consentirne un accesso piรน rapido in futuro. In pratica, la cache memorizza le informazioni in modo che possano essere recuperate velocemente senza dover ripetere processi complessi ogni volta.
Un esempio comune รจ la cache del browser, che conserva file come immagini, fogli di stile e script relativi ai siti web visitati. Quando un utente torna su un sito, il browser puรฒ caricare questi file direttamente dalla sua cache locale, invece di scaricarli nuovamente dal server remoto. Questo accelera la navigazione e riduce il carico sul server.
Diverse tipologie di cache
Tuttavia, la cache del browser non รจ l’unica tipologia di cache che puรฒ migliorare le prestazioni di un sito web. Un altro tipo cruciale รจ la cache lato-server.
Quando un utente visita un sito dinamico, come quelli realizzati tramite WordPress, il server deve eseguire una serie di operazioni per generare e restituire la pagina web richiesta. Questi processi includono l’esecuzione di codice PHP, l’interrogazione del database ed il caricamento di file come immagini, CSS e JavaScript. Senza una cache, queste operazioni devono essere ripetute ogni volta che la pagina viene richiesta, comportando una lavoro inutile per il server.
La cache lato-server crea e conserva versioni statiche delle pagine: quando un utente richiede una pagina giร visitata, il server puรฒ restituire la versione in cache, riducendo significativamente il tempo di caricamento e il numero di risorse necessarie ad esaudire la richiesta. Questo approccio diminuisce le query al database e riduce l’uso di risorse PHP, alleggerendo il server e migliorando i tempi di risposta complessivi.
All’interno di un sito WordPress, esistono diversi tipi di cache che possono essere implementati per migliorarne le prestazioni: la cache degli oggetti, la cache delle pagine e la cache CDN. Vediamoli uno ad uno.
Cache degli oggetti persistenti
La cache degli oggetti persistenti รจ un tipo di cache che memorizza dati complessi, come i risultati di query al database o calcoli costosi, per evitare di ripeterli inutilmente.
Questi “oggetti persistenti” sono tipicamente informazioni che non cambiano frequentemente, ma che vengono richieste spesso. Esempi di oggetti persistenti includono impostazioni del sito, risultati di interrogazioni al database o dati di sessione dell’utente.
ร importante precisare che WordPress integra nativamente una cache degli oggetti, ma questa funziona solo a livello di singola pagina. L’obiettivo รจ impedire che lo stesso processo venga eseguito piรน volte durante il rendering della pagina. Invece di ripetere continuamente la stessa operazione, il sistema salva il risultato nella cache degli oggetti per riutilizzarlo durante lo stesso caricamento della pagina.
Tuttavia, questo approccio รจ limitato. Un’implementazione piรน estesa della cache degli oggetti, su piรน pagine o sezioni del sito, potrebbe ridurre notevolmente il carico di lavoro del server ed i tempi di risposta (TTFB), migliorando cosรฌ le prestazioni complessive del sito.
Su siti semplici o con poco traffico, la cache degli oggetti puรฒ essere considerata meno rilevante. Tuttavia, su siti complessi, con molte interazioni e query ripetitive โ come un e-commerce โ la cache degli oggetti puรฒ migliorare significativamente le prestazioni. Ad esempio, informazioni come dettagli sui prodotti o sugli ordini possono essere salvate in cache, evitando di dover interrogare continuamente il database.
Per implementare una cache degli oggetti persistenti in WordPress, solitamente si utilizzano strumenti comeย Redisย o Memcached, che memorizzano questi dati direttamente in memoria, consentendo un recupero rapido.
Se questi strumenti non sono disponibili, รจ possibile utilizzare plugin comeย Docket Cache, che converte gli oggetti persistenti in semplici oggetti PHP utilizzandoย Zend OP Cache, garantendo comunque ottimi risultati.
Cache delle pagine
La cache delle pagine salva versioni statiche delle pagine generate dinamicamente da WordPress. In questo modo, per gli utenti non loggati, il server puรฒ servire direttamente queste copie senza dover elaborare nuovamente i dati ogni volta. Questo รจ particolarmente utile per ridurre i tempi di caricamento su siti con molto traffico, riducendo al contempo il carico sul server per preservarne le risorse.
Implementare una corretta strategia di caching in WordPress รจ fondamentale per ottenere tempi di caricamento piรน rapidi, ridurre il carico sul server e migliorare l’esperienza utente, soprattutto su siti con elevato traffico.
Perchรฉ implementare sia la cache degli oggetti che quella delle pagine?
La cache degli oggetti e la cache delle pagine sono due strumenti distinti ma complementari per ottimizzare le prestazioni di un sito WordPress. Implementarle entrambe consente di affrontare diversi tipi di richieste e ottimizzare sia le interazioni dinamiche che il caricamento delle pagine statiche.
Cache degli oggetti ottimizza le operazioni a livello di database, riducendo il numero di query eseguite ripetutamente. Questo รจ particolarmente utile in siti con molte operazioni dinamiche, come gli e-commerce o le piattaforme che richiedono l’interrogazione continua del database per mostrare informazioni sempre aggiornate (es. dati utente, dettagli sugli ordini, ecc.). La cache degli oggetti aiuta a:
- Alleggerire il carico sul database, diminuendo il numero di query ripetitive.
- Migliorare il tempo di risposta per operazioni dinamiche.
- Ottimizzare le sezioni del sito che mostrano contenuti dinamici come carrelli, wishlist e profili utente che non beneficiano della cache delle pagine.
Cache delle pagine, invece, si occupa del rendering delle pagine generate dinamicamente e le trasforma in versioni statiche. Questo significa che gli utenti non loggati o che interagiscono con contenuti come pagine e articoli possono accedervi molto piรน velocemente. La cache delle pagine aiuta a:
- Ridurre il tempo di caricamento delle pagine statiche per gli utenti anonimi.
- Diminuisce significativamente il carico sul server, poichรฉ evita di rigenerare la stessa pagina per ogni richiesta.
- Offrire un’esperienza utente piรน fluida, soprattutto su siti con elevato traffico.
Implementare entrambi i tipi di cache permette di ottimizzare al massimo le prestazioni del sito in diversi scenari:
- Efficienza per contenuti dinamici e statici: Mentre la cache degli oggetti velocizza le interazioni dinamiche con il database, la cache delle pagine ottimizza il rendering delle pagine statiche per ridurre i tempi di caricamento.
- Riduzione globale del carico sul server: La cache delle pagine riduce il carico durante la generazione di pagine statiche, mentre la cache degli oggetti allevia la pressione sul database per le richieste dinamiche.
- Maggiore scalabilitร : Su siti con molte interazioni e traffico elevato, l’uso combinato delle due cache migliora la scalabilitร , consentendo al sito di gestire piรน visitatori contemporaneamente senza rallentamenti significativi.
In sintesi, la cache degli oggetti migliora le prestazioni legate ai dati dinamici e alle query, mentre la cache delle paginesi occupa di servire rapidamente le pagine statiche. Utilizzare entrambe le tecniche garantisce un miglioramento globale delle prestazioni del sito, riducendo il carico del server e offrendo un’esperienza utente piรน fluida e veloce.
Cache CDN
La cache CDN (Content Delivery Network) distribuisce i contenuti statici del sito, come immagini, file CSS e JavaScript, su diversi server sparsi in tutto il mondo. Quando un utente accede al sito, la CDN consegna i file dal server piรน vicino all’utente, riducendo la latenza e velocizzando il caricamento della pagina. Questo tipo di cache รจ particolarmente utile per siti con pubblico globale.
Oltre a migliorare la velocitร del sito, una CDN offre anche una maggiore sicurezza. Molti servizi CDN, come Cloudflare o Akamai, includono funzionalitร di protezione avanzate, come mitigazione degli attacchi DDoS, firewall applicativi (WAF) e protezione dalle minacce di rete. Queste soluzioni non solo ottimizzano la distribuzione dei contenuti, ma migliorano anche la sicurezza complessiva del sito, rendendolo piรน robusto e meno vulnerabile agli attacchi.
Ottimizzazione del codice HTML, CSS e JavaScript per WordPress
Il codice di un sito WordPress – che include HTML, CSS e JavaScript – puรฒ essere ottimizzato per ridurre il tempo di caricamento e migliorare le prestazioni generali con effetti tangibili sotto forma di miglioramento dei punteggi Web Vitals.
Minimizzazione del codice HTML
La minimizzazione del codice HTML consiste nel rimuovere spazi bianchi, commenti e caratteri non necessari dal sorgente della pagina web. Questo processo riduce la dimensione complessiva dei file e accelera il caricamento della pagina. Plugin come Autoptimize offrono strumenti per automatizzare questo processo, rendendo il codice HTML piรน leggero e veloce da caricare.
Ottimizzazione del CSS
Il CSS controlla l’aspetto del tuo sito, ma caricare file CSS troppo grandi puรฒ rallentare notevolmente il sito.
Molti temi WordPress caricano fogli di stile enormi per stilizzare ogni possibile implementazione, ma spesso il codice realmente utilizzato รจ solo una piccola frazione di quello effettivamente caricato. Questo si traduce in uno spreco di risorse e in pagine web piรน pesanti, che caricano dati non necessari.
Un’altra situazione comune riguarda fogli di stile complessi che contengono codice effettivamente utilizzato nella pagina, ma che potrebbe essere caricato in un secondo momento perchรฉ si riferisce a porzioni di pagina non immediatamente visibili all’utente. Il termine above the fold indica la parte di pagina visibile senza scorrere, mentre below the fold si riferisce alla parte visibile solo dopo lo scroll dell’utente.
Per ottimizzare il caricamento del CSS e risolvere questi problemi, puoi adottare le seguenti soluzioni:
- Rimozione del codice CSS inutilizzato: Il codice CSS che non viene utilizzato puรฒ essere eliminato per ridurre le dimensioni del file. Strumenti come PurgeCSS o plugin come WP Rocket offrono funzionalitร per rilevare e rimuovere il CSS superfluo.
- Elaborazione e caricamento del CSS Critico (Critical CSS): Il caricamento di una versione ridotta del CSS necessaria per il rendering iniziale della pagina (Critical CSS) migliora il tempo di caricamento percepito dallโutente. Plugin come Autoptimize offrono questa funzionalitร integrata, consentendo di caricare solo il CSS essenziale per la parte di pagina visibile subito (above the fold), mentre il resto del CSS viene caricato successivamente.
Ottimizzazione del JavaScript
I file JavaScript possono spesso rallentare il caricamento delle pagine, soprattutto se non vengono gestiti correttamente. Ecco alcune tecniche per ottimizzarli e migliorare le prestazioni complessive del sito:
- Minimizzazione: Riduci le dimensioni dei file JavaScript eliminando commenti, spazi vuoti e caratteri non necessari. Strumenti come Autoptimize o Fast Velocity Minify automatizzano questo processo, permettendo di ridurre il peso complessivo dei file JavaScript, velocizzando il caricamento.
- Caricamento Asincrono e Differito: Utilizza gli attributi
defer
easync
per ottimizzare il caricamento degli script. L’attributodefer
assicura che il JavaScript venga caricato in background, permettendo il rendering completo della pagina prima che gli script vengano eseguiti. L’attributoasync
, invece, carica gli script in parallelo con l’HTML, ma li esegue non appena sono pronti, riducendo il tempo di blocco del rendering della pagina. Queste tecniche sono particolarmente utili per file JavaScript non critici.
Implementando queste tecniche di ottimizzazione del JavaScript, รจ possibile migliorare significativamente la velocitร di caricamento delle pagine e l’esperienza utente complessiva.
Ottimizzazione delle risorse di rete
Uno dei fattori principali che possono causare il rallentamento di un sito WordPress รจ l’uso eccessivo di risorse di rete, come file CSS, Javascript e font. Ogni volta che una pagina web carica una risorsa esterna (sia che sia ospitata sullo stesso server che su un server remoto) il browser deve effettuare una richiesta HTTP aggiuntiva.
Questo processo aggiunge latenza e puรฒ aumentare significativamente i tempi di caricamento, soprattutto quando le risorse in questione sono di tipo render-blocking, cioรจ impediscono il caricamento completo della pagina fino a quando non sono state completamente scaricate.
Utilizzare risorse locali – Se una risorsa, come uno script o un file CSS, puรฒ essere ospitata direttamente sul server del sito invece di essere caricata da un server esterno, รจ consigliabile farlo. Caricare risorse localmente riduce la dipendenza da server esterni e abbassa il rischio che un eventuale ritardo nella risposta del server remoto rallenti l’intero sito. Questo รจ particolarmente importante per le risorse critiche, che influenzano il rendering della pagina. Alcuni plugin con WP Rocket sono in grado di scaricare ed includere in pagina eventuali script remoti.
Concatenazione di CSS e JavaScript – Un altro modo per ridurre il numero di richieste HTTP di risorse ospitate sul nostro server รจ concatenare i file CSS e JavaScript. La concatenazione consiste nell’unire piรน file in uno solo, riducendo cosรฌ il numero di richieste necessarie per caricare tutte le risorse del sito. Ad esempio, se il tuo sito carica diversi fogli di stile CSS, unendoli in un unico file ridurrai notevolmente il tempo di caricamento. La stessa cosa vale, ovviamente, per i Javascript. Strumenti come WP Rocket e Autoptimize possono automatizzare questa operazione.
Incorporazione diretta di CSS e JavaScript – Un’altra tecnica efficace per ridurre il numero di richieste HTTP delle risorse locali รจ l’incorporazione diretta di CSS o JavaScript critici all’interno del codice HTML della pagina, eliminando cosรฌ la necessitร di caricare file separati. Questa tecnica, nota anche come inline CSS/JavaScript, รจ particolarmente utile per piccoli blocchi di codice essenziali per il rendering della pagina. Tuttavia, รจ consigliabile non abusarne, in quanto potrebbe rendere il codice HTML piรน pesante e difficile da gestire se si incorporano troppe risorse.
Utilizzare font standard o incorporare font localmente – L’uso eccessivo di font esterni, come Google Fonts, puรฒ causare rallentamenti nel caricamento del sito, soprattutto se vengono caricati diversi stili o varianti non necessari. Ogni richiesta di font, infatti, aggiunge latenza e richiede una connessione esterna, rallentando il caricamento delle pagine.
Per migliorare le prestazioni del sito, una soluzione efficace รจ quella diย utilizzare font standard, giร presenti sui dispositivi degli utenti, come Arial, Helvetica o Times New Roman. Questi font non richiedono alcuna richiesta di rete, poichรฉ sono integrati nei sistemi operativi. In alternativa, puoiย incorporare i font localmenteย sul server del tuo sito, riducendo il numero di richieste HTTP e rendendo il caricamento piรน veloce e affidabile. Questa pratica consente anche di mantenere il controllo sulle prestazioni e sulla personalizzazione dei font, senza dipendere da server esterni. Un ottimo plugin per ottimizzare l’uso dei Google Font รจ OMGF (Optimize My Google Font).
Abilitare la compressione GZIP
Oltre alla minimizzazione del codice, la compressione dei file รจ un’altra tecnica essenziale per ridurre i tempi di caricamento. La compressione GZIP รจ uno dei metodi piรน efficaci per ridurre la dimensione dei file HTML, CSS e JavaScript durante il trasferimento dal server al browser.
GZIP comprime i file prima che vengano inviati dal server, riducendone le dimensioni anche fino al 70%. Una volta ricevuti, i file vengono decompressi dal browser dell’utente, migliorando significativamente le prestazioni del sito, soprattutto su connessioni lente.
Molti plugin di ottimizzazione, come W3 Total Cache o WP Rocket, includono l’opzione per abilitare automaticamente la compressione GZIP, rendendone l’implementazione molto semplice. Tuttavia non รจ indispensabile un plugin per abilitare questa funzionalitร .
Per abilitare la compressione GZIP, infatti, รจ sufficiente aggiungere il seguente codice al file .htaccess
del tuo sito:
# Abilita GZIP Compression
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css text/javascript application/javascript application/json
Combinando la minimizzazione del codice HTML con la compressione GZIP, รจ possibile ottenere pagine piรน leggere e tempi di caricamento notevolmente ridotti, migliorando cosรฌ l’esperienza utente e le prestazioni generali del sito.
I migliori plugin per la gestione della cache e l’ottimizzazione di WordPress
WordPress dispone di tantissimi plugin per la gestione dei vari tipi di cache e per migliorare le performance mediante l’ottimizzazione del codice sorgente. Solitamente i plugin per la cache integrano anche funzioni di ottimizzazione del codice, pertanto li trattiamo unitamente.
Un discorso a parte riguarda la cache degli oggetti. Per questa tipologia di cache, infatti, solitamente si utilizzano plugin appositi, non essendo questo tipo di cache normalmente integrata nei plugin di ottimizzazione che vi presenterรฒ di seguito (unica eccezione รจ W3 Total Cache che, tra le varie funzionalitร , integra anche questo tipo di cache).
Questi i plugin piรน popolari per la gestione della cache degli oggetti persistenti:
- Redis Object Cache: Plugin che integra Redis per memorizzare i dati della cache degli oggetti in memoria. Attenzione: per utilizzarlo รจ necessario che il proprio hosting provider abbia implementato Redis sui propri sistemi.
- SQLite Object Cache: Plugin che utilizza l’estensione SQLite3 di PHP per la gestione degli oggetti persistenti; รจ una valida alternativa per i piani hosting che non supportano Redis o Memcached.
- Docket Cache: Ottimizza l’archiviazione degli oggetti persistenti utilizzando la cache opcache di PHP. Una soluzione quasi universalmente supportata essendo opache presente sulla maggior parte dei web-server.
Per quanto riguarda la cache delle pagine e l’ottimizzazione del codice sorgente, come dicevamo, il ventaglio delle opzioni รจ decisamente piรน ampio:
WP Rocket
Uno dei plugin di cache piรน popolari, WP Rocket รจ facile da configurare e offre funzionalitร avanzate come la cache delle pagine, la compressione GZIP e l’ottimizzazione di CSS e JavaScript.
Progettato per WordPress e sempre aggiornato per stare al passo con i piรน recenti standard sulle prestazioni web, WP Rocket migliora nettamente le prestazioni complessive del sito web raggiungendo punteggi migliori su PageSpeed Insights anche senza effettuare configurazioni avanzate. La gran parte delle ottimizzazioni, infatti, viene effettuata automaticamente.
W3 Total Cache
Un plugin molto completo che offre cache delle pagine, degli oggetti, del database e supporto per CDN. Ideale per utenti avanzati che desiderano un maggiore controllo sulla cache. Disponibile in versione Free con alcune funzionalitร limitate. La versione PRO comprende funzionalitร avanzate come la rimozione del codice CSS e JS inutilizzato, il caricamento ritardato degli script non essenziali, la conversione delle immagini in WebP, il lazy loading delle mappe di Google e molto altro.
FastPixel.io
FastPixel รจ un plugin cloud-based per WordPress che ottimizza le prestazioni del tuo sito, accelerandolo in modo semplice e veloce. Include funzionalitร avanzate come ottimizzazione delle immagini, minificazione di HTML/CSS/JS, creazione di Critical CSS, caching e supporto per CDN. Offre anche compressione delle immagini WebP, lazy loading e miglioramenti per Core Web Vitals, garantendo tempi di caricamento rapidi e un’esperienza utente ottimale. Facile da configurare, รจ adatto sia per principianti che per professionisti.
WP Super Cache
Sviluppato dal team di WordPress, questo plugin offre una soluzione di caching semplice ed efficace, generando versioni statiche delle pagine per gli utenti non loggati. Offre tantissime funzioni ma non รจ semplicissimo da configurare se non si hanno le giuste competenze.
WP Fastest cache
WP Fastest Cache รจ un plugin per WordPress che migliora la velocitร e le prestazioni del sito, ottimizzando il tempo di caricamento delle pagine attraverso l’utilizzo di sistemi di caching e di ottimizzazione del codice sorgente. Gli amministratori possono facilmente gestire la cache e i file minificati CSS e JS tramite l’interfaccia del plugin.
ร possibile escludere la cache per pagine o post specifici, impostare un timeout per la cache e configurare o meno l’attivazione della cache su dispositivi mobili o per utenti loggati. Il plugin supporta SSL e l’integrazione con CDN come Cloudflare, migliorando ulteriormente le prestazioni del sito. Tra le altre funzionalitร vi sono la compressione Gzip, il caching del browser e la minificazione di HTML e CSS per ridurre il peso delle pagine e accelerare i tempi di caricamento.
E’ disponibile sia in versione free che pro con un numero maggiore di funzionalitร .
Autoptimize
Autoptimize รจ un plugin per WordPress che ottimizza il codice del sito combinando, minificando e comprimendo file CSS, JavaScript e HTML, migliorando la velocitร di caricamento e il punteggio SEO. Nella versione free non integra la gestione della cache.
Offre anche la possibilitร di caricare gli script in modalitร asincrona o differita, evitando che blocchino il rendering della pagina. La funzione “Critical CSS” permette di caricare solo gli stili essenziali per il rendering iniziale, aumentando ulteriormente la velocitร .
Nella versione gratuita, il CSS critico deve essere configurato manualmente, mentre la versione PRO genera automaticamente gli stili necessari. Compatibile con altri plugin di cache, Autoptimize รจ unโottima soluzione per chi desidera ottimizzare il proprio sito per renderlo piรน veloce e performante.
Ottimizzazione delle immagini per WordPress
Le immagini rappresentano spesso una parte significativa del peso totale di una pagina web. Ottimizzare le immagini รจ fondamentale per ridurre i tempi di caricamento di un sito WordPress, migliorando cosรฌ le prestazioni complessive e l’esperienza utente.
Utilizzare immagini di dimensioni appropriate
Uno degli errori piรน comuni รจ caricare immagini con risoluzioni molto piรน alte del necessario. Assicurati di ridimensionare le immagini prima di caricarle su WordPress, in base alle dimensioni effettive in cui verranno visualizzate. Evitare immagini sovradimensionate riduce notevolmente il peso dei file e consente di non saturare lo spazio web acquistato con file di dimensioni eccessive.
N.B. Un ottimo plugin gratuito che impedisce che vengano caricate immagini “gigantesche” รจ Imsanity. Non รจ un vero e proprio plugin per l’ottimizzazione delle immagini ma compie, in modo efficace, operazioni basiche affinchรฉ non vengano caricate sul server immagini dal peso veramente eccessivo.
Convertire le immagini in formati moderni
Il formato WebP รจ un formato di immagine moderno sviluppato da Google, che offre una compressione piรน efficiente rispetto a JPEG e PNG, mantenendo un’alta qualitร visiva. Questo formato consente di ridurre significativamente il peso delle immagini senza perdita di qualitร percettibile. Convertire le immagini in WebP puรฒ migliorare notevolmente le prestazioni del sito.
Esistono diversi plugin per WordPress, come ShortPixel, EWWW Image Optimizer e Imagify, che permettono di convertire automaticamente le immagini in WebP al momento del caricamento. Questi plugin offrono anche la possibilitร di conservare i file originali come fallback, garantendo la compatibilitร con i browser che non supportano ancora WebP.
Compressione delle immagini
La compressione delle immagini รจ un processo fondamentale per ridurre le dimensioni dei file senza compromettere la qualitร visiva. Esistono due tipi principali di compressione:
- Compresssione lossless: Riduce le dimensioni delle immagini senza alcuna perdita di qualitร , mantenendo intatti tutti i dati dell’immagine.
- Compresssione lossy: Riduce maggiormente le dimensioni delle immagini, sacrificando una minima parte della qualitร visiva, che spesso non รจ percepibile dall’utente.
Lazy Loading delle immagini
Il Lazy Loading รจ una tecnica che consente di caricare le immagini solo quando diventano visibili nella finestra di visualizzazione dell’utente. Invece di caricare tutte le immagini immediatamente, vengono caricate progressivamente mentre l’utente scorre la pagina, riducendo il tempo di caricamento iniziale.
WordPress ha integrato nativamente il lazy loading a partire dalla versione 5.5, ma plugin come WP Rocket o A3 Lazy Load offrono opzioni avanzate per configurare e ottimizzare questa funzionalitร , migliorando ulteriormente la velocitร del sito.
I migliori plugin per l’ottimizzazione delle immagini su WordPress
Sono numerosi i plugin che consentono di comprimere automaticamente le immagini, convertirle in formati piรน recenti (come WebP) e di ottimizzarne l’utilizzo nel sito mediante diverse tecniche.
Questi strumenti aiutano a ridurre drasticamente il peso complessivo delle immagini senza perdita di qualitร visibile, migliorando i tempi di caricamento della pagina e, di conseguenza, l’esperienza dell’utente e il ranking SEO.
ShortPixel
ShortPixel Image Optimizer รจ un potente strumento di ottimizzazione delle immagini per siti web che consente di migliorare le prestazioni del tuo sito riducendo il peso delle immagini senza comprometterne la qualitร . Grazie a tecniche avanzate di compressione, ShortPixel permette di ottimizzare JPEG, PNG, GIF e PDF, offrendo una migliore esperienza utente e tempi di caricamento piรน rapidi, il che contribuisce positivamente anche al posizionamento SEO.
Compatibile con WordPress, ShortPixel รจ facile da installare e offre opzioni di compressione lossless o lossy, permettendoti di scegliere il livello di ottimizzazione piรน adatto alle tue esigenze. Inoltre, รจ in grado di convertire automaticamente le immagini in formato WebP e AVIF, piรน leggeri e performanti per l’utilizzo sul web. Il plugin รจ perfetto per chi desidera un sito veloce e ottimizzato, mantenendo una qualitร visiva eccellente.
Imagify
Imagify รจ un plugin per WordPress progettato per ottimizzare le immagini del tuo sito web, migliorando la velocitร di caricamento e l’esperienza utente. Facile da usare, permette di comprimere le immagini in modo efficiente senza compromettere la qualitร , offrendo tre livelli di ottimizzazione: Normale, Aggressivo e Ultra, per adattarsi alle diverse esigenze.
Compatibile con WooCommerce, NextGen Gallery e altri plugin, Imagify converte anche le immagini in formato WebP e Avif garantendo prestazioni ottimali. Offre la possibilitร di ottimizzare immagini giร caricate nella tua libreria e di ridurre automaticamente quelle caricate in futuro, contribuendo a migliorare la SEO e a mantenere il tuo sito veloce e performante.
EWWW Image Optimizer
EWWW Image Optimizer รจ un plugin per WordPress che permette di ottimizzare le immagini del tuo sito web in modo automatico e senza perdita di qualitร . Grazie a diverse tecniche di compressione, riduce il peso delle immagini, migliorando la velocitร di caricamento del sito e l’esperienza dell’utente. ร compatibile con tutti i formati di immagini comuni e supporta la conversione in WebP per unโulteriore ottimizzazione.
Il plugin offre funzionalitร come lโottimizzazione delle immagini giร presenti nella libreria media e la compressione delle immagini caricate in tempo reale. Inoltre, EWWW Image Optimizer รจ dotato di opzioni avanzate per la gestione di immagini su CDN, rendendolo una scelta efficace per chi vuole migliorare la SEO e le prestazioni del proprio sito WordPress.
Consigli per migliorare le prestazioni di WordPress
Oltre alle ottimizzazioni piรน comuni, ci sono alcuni semplici accorgimenti che possono migliorare le prestazioni del tuo sito WordPress.
Non caricare file Audio e Video direttamente in WordPress
Caricare file audio e video direttamente su WordPress puรฒ sembrare una soluzione semplice, ma non รจ consigliato se si hannoa cuore le prestazioni del proprio sito web. I file audio e video occupano molto spazio e richiedono molta larghezza di banda per essere trasmessi. Se il tuo sito riceve un gran numero di visitatori, infatti, la trasmissione di questi file puรฒ sovraccaricare il server, saturare la banda disponibile e rallentare l’intero sito.
Per evitare problemi di prestazioni e ottimizzare l’esperienza utente, รจ meglio ospitare i tuoi file multimediali su piattaforme dedicate e poi incorporarli in WordPress.
- Video: Utilizza piattaforme come YouTube o Vimeo per caricare i video. Queste piattaforme non solo offrono uno streaming ottimizzato, ma forniscono anche strumenti di personalizzazione, opzioni di privacy e la possibilitร di incorporare facilmente i video nelle tue pagine WordPress tramite un semplice link o codice embed.
- Audio: Per l’audio, piattaforme come SoundCloud o Spotify offrono soluzioni affidabili per ospitare e condividere tracce audio, podcast e altro, senza gravare sul server del tuo sito.
Incorporare file audio e video da piattaforme esterne riduce il carico sul server, migliora la velocitร del sito e garantisce una migliore esperienza di fruizione dei contenuti multimediali, essendo queste ultime ottimizzate per lo streaming (a differenza di WordPress che non lo รจ).
Disabilitare WP-Cron
Il gestore di attivitร pianificate integrato in WordPress, WP-Cron, esegue regolarmente attivitร pianificate, ma su siti con molto traffico puรฒ generare problemi di performance. In pratica, ogni volta che viene caricata una pagina del sito, WordPress verifica se รจ necessario eseguire qualche attivitร pianificata.
Su siti a basso traffico, questa procedura non crea particolari problemi ma su siti con parecchio traffico si rivela inefficiente. Per risolvere il problema รจ possibile disabilitare WP-Cron e sostituirlo con cron job a livello di server per un’esecuzione piรน efficiente.
Per disabilitare WP-Cron e sostituirlo con un cron job a livello di server, segui questi passaggi:
Il primo passo รจ disabilitare WP-Cron. Questo si puรฒ fare modificando il file wp-config.php
del tuo sito WordPress. Aggiungi la seguente riga di codice:
define('DISABLE_WP_CRON', true);
Questa riga disattiva il sistema di cron interno di WordPress, impedendo che venga eseguito ad ogni richiesta HTTP.
Una volta disabilitato WP-Cron, รจ necessario creare un cron job sul server che esegua le attivitร pianificate di WordPress a intervalli regolari.
Questo un esempio di stringa per impostare l’attivitร pianificata ogni 5 minuti:
*/15 * * * * wget -q -O - https://www.tuosito.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1
I vantaggi dell’uso di un cron job a livello di server sono molteplici: le attivitร pianificate vengono eseguite in modo piรน regolare e affidabile e si evita di sovraccaricare il sito eseguendo WP-Cron ad ogni caricamento di pagina con un notevole guadagno di performance, specialmente su siti con molto traffico.
Disabilitare le Emoji e l’API REST
WordPress carica automaticamente i file delle emoji e attiva l’API REST per impostazione predefinita, anche se non necessari per tutti i siti. Disabilitare queste funzionalitร puรฒ ridurre il numero di richieste HTTP e migliorare i tempi di caricamento.
Come scegliere un hosting performante per WordPress
La scelta di un hosting performante รจ fondamentale per garantire velocitร e stabilitร al tuo sito WordPress. Non tutti i provider sono uguali nรฉ tantomeno offrono le stesse prestazioni, perciรฒ รจ importante scegliere con attenzione.
Un provider con servizi di bassa qualitร puรฒ influire negativamente sul rendimento del sito web riducendone le performance e persino la sicurezza (ma questa รจ un’altra questione).
Caratteristiche chiave di un hosting performante:
- Supporto per PHP 8+: scgeli provider che utilizzano versioni recenti di PHP per garantire prestazioni piรน elevate ed una maggior sicurezza.
- Supporto per SSL e HTTP/2: Assicurati che il provider supporti SSL (ormai tutti i provider lo fanno offrendo certificati gratuiti di tipo Let’s Encrypt) e HTTP/2, entrambi essenziali per un sito veloce e sicuro.
- Meglio optare per hosting ottimizzati per WordPress: provider comeย SiteGround,ย Kinstaย eย WP Engineย offrono hosting specificamente ottimizzati per WordPress, con caching integrato e server scalabili per blog, siti web ed e-commerce che possono crescere nel tempo senza preoccuparsi dei “colli di bottiglia” legati alla prestazioni dei server o della rete.
- Meglio una VPS: Se il tuo progetto sviluppa parecchio traffico, optare per una VPS rispetto ad un classico shared hosting puรฒ fare la differenza in termini di performances. Se non potete permettervi una VPS valutate soluzioni hosting con risorse garantire in termini di CPU e RAM.
- Soluzioni con CDN integrata: Un hosting che offre integrazione con una CDN, come Cloudflare o KeyCDN, riduce la latenza e migliora la distribuzione dei contenuti globalmente.
Investire in un hosting di qualitร รจ uno dei passi piรน importanti per garantire le migliori prestazioni al tuo sito WordPress. Per maggiori informazioni vi invitiamo a leggere il nostro articolo dedicato ai migliori hosting per WordPress.
Conclusione
Lavorare sulle performance del tuo sito WordPress รจ molto importante: siti lenti e con blocchi piรน o meno frequenti non sono apprezzati nรฉ dagli utenti nรฉ dai motori di ricerca.
Trasformare un comune sito WordPress in un sito web veloce e performante non รจ sempre facilissimo, ma se seguirai con attenzione i suggerimenti che hai trovato in questo articolo sono sicuro che i risultati potrebbero sorprenderti.