Ottimizzazione definitiva della velocità di WordPress: guida tecnica completa 2026

Il tuo sito WordPress è lento. Lo sai tu, lo sanno i tuoi visitatori e, cosa ancora peggiore, lo sa Google. Ogni secondo di ritardo ti costa conversioni, posizionamenti e entrate. La buona notizia? La maggior parte dei problemi di prestazioni deriva da una stessa manciata di cause e risolverli non richiede una laurea in informatica.

Questa guida copre tutto ciò di cui hai bisogno per trasformare un sito WordPress lento in una vera e propria macchina da velocità. Parliamo di tempi di caricamento inferiori ai 2 secondi e punteggi PageSpeed superiori a 90. Niente fronzoli, niente consigli generici che hai già letto cento volte. Solo tecniche concrete che funzionano davvero.

Mettiamo a posto il tuo sito.


Capire perché WordPress diventa lento

Prima di lanciare plugin sul problema, devi capire cosa sta davvero rallentando il sito. Il core di WordPress è abbastanza efficiente. La lentezza deriva da ciò che ci sovrapponiamo sopra.

I soliti sospetti:

  • Immagini non ottimizzate che divorano banda (spesso 50-70% del peso totale della pagina)
  • Troppi plugin che eseguono query al database e caricano script
  • No caching forcing WordPress to rebuild pages from scratch every time
  • Temi troppo pesanti con funzionalità che non userai mai
  • Disordine nel database dovuto ad anni di revisioni, spam e dati abbandonati dei plugin
  • Risorse che bloccano il rendering costringono i browser ad aspettare prima di visualizzare i contenuti

L’intuizione chiave qui è che l’ottimizzazione della velocità non è una sola cosa. Sono livelli. Ogni livello che ottimizzi amplifica i benefici degli altri. Un sito con un’ottima cache ma immagini pessime sarà comunque lento. Un sito con immagini ottimizzate ma senza cache sarà comunque lento.

You need to address all the layers.


Misurare le tue prestazioni attuali

Non puoi migliorare ciò che non misuri. Prima di cambiare qualsiasi cosa, esegui un benchmark delle prestazioni attuali così da poter monitorare i progressi.

Come puoi vedere, come autori di temi ci preoccupiamo di ottimizzare i nostri prodotti. Di seguito i risultati per il nostro tema Listeo:

Gli strumenti di test di cui hai davvero bisogno

  1. Google PageSpeed Insights (pagespeed.web.dev) ti fornisce le metriche che Google utilizza effettivamente per il posizionamento. La sezione “field data” mostra l’esperienza reale degli utenti, mentre la “lab data” mostra i risultati dei test controllati. Entrambe sono importanti.
  2. GTmetrix (gtmetrix.com) fornisce dettagliati grafici a cascata che mostrano esattamente cosa si carica e quando. Il piano gratuito è sufficiente per la maggior parte delle analisi.
  3. WebPageTest (webpagetest.org) offre test avanzati da più località, con visualizzazioni a pellicola che mostrano come la tua pagina viene renderizzata fotogramma per fotogramma.
  4. Query Monitor è un plugin WordPress per il debugging del backend. Ti mostra quali plugin eseguono query al database lente, quante query effettua ogni pagina e quali script vengono caricati e dove.
  5. Hosting Benchmark Tool – Questo plugin ti permette di valutare a fondo le prestazioni del tuo server di hosting WordPress con metriche dettagliate e oggettive

Come testare correttamente

Esegui almeno 3 test per pagina e utilizza il risultato mediano. Le reti variano, i server hanno momenti buoni e cattivi e i singoli test possono essere fuorvianti.

Esegui i test da posizioni in cui i tuoi utenti si trovano realmente. Se il tuo pubblico è in Germania, testare dalla Virginia non ti dirà molto.

Testa sempre prima le prestazioni su dispositivi mobili. Google utilizza l’indicizzazione mobile-first e i punteggi su mobile sono quasi sempre peggiori rispetto al desktop. Se il tuo punteggio mobile è buono, il desktop si sistemerà da solo.

Pulisci tutte le cache tra un test e l’altro quando apporti modifiche. Questo include la cache di WordPress, la cache del CDN e la cache del browser. Altrimenti stai testando versioni vecchie.


Testa prima il tuo hosting (è fondamentale)

Ecco una verità che la maggior parte delle guide all’ottimizzazione tralasciano: nessuna quantità di caching, compressione delle immagini o modifica del codice può risolvere un hosting lento. Se il tuo server impiega 2 secondi solo per rispondere, è come combattere con una mano legata dietro la schiena.

Prima di passare ore sulle ottimizzazioni, esegui un benchmark del tuo hosting. Devi capire se il limite massimo delle prestazioni è imposto dal server stesso.

Plugin per testare le prestazioni dell’hosting: https://wordpress.org/plugins/wpbenchmark/

Perché le prestazioni dell’hosting contano più di quanto pensi

Ogni richiesta di pagina inizia dal tuo server. Il browser richiede una pagina e il tuo server deve:

  1. Ricevi la richiesta
  2. Esegui PHP
  3. Interroga il database
  4. Genera la risposta
  5. Rimandalo indietro

Questo accade prima che entri in gioco qualsiasi ottimizzazione del frontend. Un server che impiega 800ms per svolgere questo lavoro significa che la tua pagina non potrà mai caricarsi in meno di 800ms, punto. Nel frattempo, un hosting di qualità completa questa operazione in meno di 200ms.

La differenza tra un economico hosting condiviso e un hosting WordPress adeguato può essere di 500-1500ms su ogni singolo caricamento di pagina. Non è qualcosa che puoi ottimizzare con i plugin.

Come valutare le prestazioni del tuo hosting

Usa uno strumento di benchmark per l’hosting per misurare le prestazioni reali del tuo server su più componenti. A differenza dei semplici test di velocità, un vero tool di benchmark mette sotto stress gli elementi specifici da cui WordPress dipende:

  1. CPU e Memoria – Verifica la velocità con cui il tuo server elabora i dati. Questo influisce sulla velocità di esecuzione di PHP, che determina direttamente quanto rapidamente WordPress genera le pagine. Lo strumento esegue operazioni con grandi quantità di dati di testo e dati binari casuali per misurare la potenza di elaborazione pura.
  2. Filesystem – Verifica le velocità di lettura/scrittura sul disco del tuo server. WordPress legge continuamente i file del tema, i file dei plugin e scrive i file di cache. Filesystem lento = tutto lento. I sotto-test includono capacità di scrittura, velocità di copia dei file e operazioni di I/O su piccoli file.
  3. Database – Questo è un aspetto enorme per WordPress. Lo strumento testa l’importazione di grandi quantità di dati, le query semplici su singole tabelle e le query complesse su più tabelle. Se i test del tuo database ottengono un punteggio basso, il caricamento di ogni pagina ne risente.
  4. Object Cache – Verifica se la cache degli oggetti persistente (Redis/Memcached) è attiva e quanto è veloce. I sotto-test misurano la velocità di scrittura nella cache, la velocità di lettura e le operazioni miste di lettura/scrittura. Se la cache degli oggetti risulta disattivata o lenta, stai perdendo un’importante opportunità di ottimizzazione.
  5. Rete – Verifica la velocità di download dal tuo server. Questo influisce sulla rapidità con cui il server può recuperare risorse esterne e sulla velocità con cui può inviare dati ai visitatori.

Comprendere i tuoi punteggi di benchmark

Lo strumento ti fornisce sia le percentuali per categoria (quanti test sono stati superati) sia i punteggi dei singoli test su una scala fino a 10. Il tuo punteggio del server complessivo combina tutto in un unico numero.

Interpretazione del punteggio:

  • 8-10: Eccellente. Il tuo hosting è solido.
  • 7-8: Bene. C’è margine di miglioramento ma è utilizzabile.
  • 6-7: Mediocre. Il tuo hosting ti sta frenando.
  • Below 6: Scarso. Valuta seriamente di cambiare hosting.

Presta particolare attenzione a questi risultati:

I punteggi del database contano di più per WordPress. Se “Query complesse al database su più tabelle” ottiene un punteggio inferiore a 5, il tuo sito avrà difficoltà con qualsiasi cosa oltre i blog di base. I negozi WooCommerce, i siti con area membri e i blog molto trafficati hanno bisogno di prestazioni solide del database.

Lo stato della cache degli oggetti è critico. Se “Persistent object cache enabled” mostra un punteggio basso o non è disponibile, ti stai perdendo uno dei maggiori vantaggi in termini di prestazioni. Molti hosting economici non offrono affatto Redis o Memcached.

I punteggi del filesystem influiscono sulla cache. I plugin di page caching scrivono migliaia di piccoli file. Se il “Small file IO test” ha un punteggio basso, la tua cache sarà lenta da generare e servire.

Cosa significano i tuoi risultati

Punteggio server 7+: Il tuo hosting è solido. Procedi con le ottimizzazioni di questa guida e vedrai ottimi risultati.

Punteggio server 6: Il tuo hosting è adeguato ma presenta punti deboli. Controlla quali categorie hanno ottenuto il punteggio più basso. Se si tratta del database o dell’object cache, quelle ottimizzazioni specifiche avranno un impatto limitato finché non aggiornerai l’hosting.

Punteggio del server inferiore a 6: il problema è il tuo hosting. Nessuna quantità di ottimizzazioni ai plugin potrà compensare un’infrastruttura fondamentalmente lenta. Devi o:

  • Aggiorna il tuo piano di hosting (condiviso → WordPress gestito)
  • Passa a un servizio di hosting ottimizzato per WordPress
  • Passa a un VPS con una configurazione adeguata

Controlli rapidi del server che puoi fare subito

  • Controlla la versione di PHP (Bacheca → Strumenti → Salute del sito → Info → Server). Utilizzare PHP 8.3+ è fondamentale. PHP 7.4 è significativamente più lento ed è arrivato alla fine del suo ciclo di vita.
  • Verifica la memoria disponibile. Se il tuo hosting limita la memoria PHP a 64MB o 128MB, le pagine complesse ne risentiranno.
  • Verifica la posizione del server. Se il tuo server è negli Stati Uniti ma il tuo pubblico è in Europa, ogni richiesta deve attraversare l’Atlantico. Una CDN aiuta, ma un hosting più vicino è migliore.

Quando Cambiare Hosting

Prendi in considerazione il passaggio se:

  • Il benchmark mostra un TTFB costante superiore a 500ms
  • Le prestazioni variano notevolmente tra un test e l'altro (vicini instabili sull'hosting condiviso)
  • Il tuo host non offre PHP 8.x
  • La cache degli oggetti Redis/Memcached non è disponibile
  • L’assistenza non sa spiegare perché il tuo sito è lento

La differenza di costo tra un hosting economico (5$/mese) e un hosting WordPress di qualità (25–50$/mese) è irrilevante rispetto ai guadagni in prestazioni. Non costruire un sito ottimizzato per la velocità su fondamenta lente.


Caching: Il singolo miglioramento più grande alle prestazioni

If you do nothing else from this guide, set up proper caching. It’s the single most impactful optimization you can make.

Ecco perché: senza caching, ogni richiesta del visitatore ordina a WordPress di eseguire il codice PHP, interrogare il database, assemblare la pagina e inviarla al browser. Questo processo richiede almeno centinaia di millisecondi, spesso molto di più.

Con il caching delle pagine, WordPress costruisce la pagina una sola volta, la salva come HTML statico e fornisce quel file già pre-generato a tutti. Il server deve solo leggere e inviare un file. Parliamo di pochi millisecondi.

Plugin di caching delle pagine che vale la pena usare

  1. WP Rocket (59$/anno) è il punto di riferimento assoluto. Applica l’80% delle ottimizzazioni in automatico non appena viene attivato e offre la migliore esperienza utente. Se il budget lo permette, è quello che consiglio. Dai un’occhiata alle nostre impostazioni consigliate per WP Rocket
  2. LiteSpeed Cache (gratuito) è la migliore opzione gratuita se il tuo host utilizza server LiteSpeed. Include funzionalità per cui altri plugin gratuiti fanno pagare.
  3. FlyingPress (60 $/anno) è una nuova alternativa con un’ottima ottimizzazione per le Core Web Vitals. Vale la pena considerarla se desideri qualcosa di moderno.
  4. WP Super Cache (gratuito) è il plugin di caching ufficiale di Automattic. Leggero e affidabile, anche se con meno funzionalità.
  5. W3 Total Cache (gratuito) è potente ma complesso. Le opzioni di configurazione possono sopraffare i principianti, ma è molto efficace se usato da chi sa dove mettere le mani.

Impostazioni di Caching Critiche

Abilita il precaricamento della cache. Questo genera in background le pagine memorizzate nella cache prima che arrivino i visitatori, così nessuno visualizzerà mai una pagina non in cache.

Crea una cache separata per i dispositivi mobili solo se stai fornendo contenuti diversi agli utenti mobile. Se il tuo sito è responsive (stesso HTML, CSS diverso), non ne hai bisogno. Finiresti solo per raddoppiare lo spazio occupato dalla cache.

Escludi le pagine dinamiche dalla cache. Questo include:

  • /cart/*
  • /checkout/*
  • /my-account/*
  • Qualsiasi pagina con contenuti specifici per l’utente

Imposta una scadenza di cache adeguata. Per la maggior parte dei siti, 24 ore funzionano bene. I siti di notizie potrebbero preferire una durata più breve, mentre i siti statici possono impostare una durata più lunga.

Enable Object Caching with Redis, Memcached, or Docket

La cache di pagina gestisce le richieste del frontend. La cache degli oggetti gestisce il backend memorizzando in RAM i risultati delle query al database.

Pensala così: anche con la cache delle pagine, gli utenti connessi, le pagine di amministrazione e i contenuti dinamici continuano a interrogare costantemente il database. La cache degli oggetti fa sì che WordPress controlli prima la memoria (microsecondi) prima di interrogare MySQL (millisecondi).

Ecco il punto: non puoi semplicemente abilitare Redis o Memcached da solo. Il tuo provider di hosting deve supportarlo a livello di server. Controlla il pannello di controllo del tuo hosting o contatta l’assistenza per verificare se la cache degli oggetti è disponibile nel tuo piano. Molti hosting condivisi non la offrono, mentre gli hosting WordPress gestiti e i provider VPS di solito sì.

Una volta che hai verificato che il tuo host lo supporta:

  • Per i server LiteSpeed: il plugin LiteSpeed Cache include un sistema di object caching integrato
  • Per Redis: installa il plugin Redis Object Cache
  • Per Memcached: utilizza il plugin W3 Total Cache o un plugin simile con supporto Memcached

Nessun Redis o Memcached disponibile? Prova Docket Cache. È una cache degli oggetti basata su file che funziona su qualsiasi tipo di hosting senza requisiti a livello di server. Non raggiunge le prestazioni di Redis, ma è decisamente meglio di non avere alcun object caching e non richiede alcuna configurazione del server.


Ottimizzazione delle immagini: dimezzare il peso della pagina

Le immagini sono solitamente gli elementi più pesanti in qualsiasi pagina. Una singola immagine hero non ottimizzata può pesare più di tutto il tuo HTML, CSS e JavaScript messi insieme.

L'obiettivo è ottenere dimensioni dei file ridotte senza perdita di qualità visibile. Le tecniche di compressione moderne sono straordinariamente efficaci in questo.

Compressione: con perdita vs senza perdita

La compressione lossy rimuove in modo permanente alcuni dati dell’immagine. A livelli di qualità del 60-90%, la differenza visiva è impercettibile per l’occhio umano, ma le dimensioni dei file si riducono del 40-70%.

La compressione senza perdita mantiene tutti i dati dell’immagine ma ottimizza il modo in cui vengono archiviati. Riduzioni più contenute (10-30%) ma nessuna perdita di qualità.

Per le foto e la maggior parte delle immagini web, la compressione con perdita all’80-85% di qualità rappresenta il punto di equilibrio ideale.

Plugin per l’ottimizzazione delle immagini

  1. ShortPixel (4,99 $/mese per 5.000 immagini) eccelle nella compressione PNG e offre la migliore qualità complessiva. Include CDN gratuito.
  2. Imagify (4,99 $/mese per 10.000 immagini) funziona perfettamente con WP Rocket e produce eccellenti risultati JPG.
  3. EWWW Image Optimizer offre un’ottimizzazione locale gratuita (più lenta, utilizza le risorse del tuo server) oppure un’elaborazione cloud economica (0,003 $/immagine).
  4. Optimole adotta un approccio diverso con l’ottimizzazione al volo e una CDN integrata. Gratuito per siti con meno di 5.000 visitatori al mese.

Tutti questi possono ottimizzare automaticamente le immagini al momento del caricamento e ottimizzare in blocco le immagini esistenti. Esegui l’ottimizzazione in blocco durante le ore di basso traffico, poiché è molto intensa in termini di risorse.


Lazy Loading fatto bene

Il lazy loading rimanda il download delle immagini finché gli utenti non scorrono vicino ad esse. Questo fa risparmiare banda e velocizza il caricamento iniziale della pagina, ma c’è un problema: applicare il lazy loading alla tua hero image rovina il punteggio LCP. L’elemento Largest Contentful Paint deve caricarsi immediatamente, non aspettare lo scroll.

I buoni plugin di ottimizzazione gestiscono questo automaticamente.

  1. WP Rocket rileva le immagini above-the-fold ed esclude il loro caricamento differito (lazy loading). Puoi anche escludere manualmente specifiche immagini tramite classe CSS o nome file in Impostazioni → WP Rocket → Media.
  2. Perfmatters ti permette di escludere le immagini per URL, classe o di impostare un numero di immagini da ignorare (ad es. “salta le prime 3 immagini”).
  3. FlyingPress dispone di un rilevamento automatico dell’immagine LCP. Identifica il tuo elemento LCP ed esclude tale elemento dal lazy loading senza richiedere alcuna configurazione.
  4. LiteSpeed Cache includes an “Exclude LCP Image” option that does exactly what it says.

Se la tua immagine LCP viene ancora caricata in modo lazy (PageSpeed Insights ti avviserà di questo), cerca un’opzione “Escludi dal lazy load” nel tuo plugin di caching e aggiungi il nome file o la classe CSS della tua immagine hero.



Ottimizzazione del database: eliminare anni di disordine

I database di WordPress accumulano dati inutili nel tempo. Le revisioni degli articoli si accumulano, i plugin lasciano dati abbandonati e i transient scadono senza essere puliti. Questo sovraccarico rallenta le query e spreca spazio di archiviazione.

Usa un plugin per la pulizia del database

Non intervenire manualmente sulle query SQL quando i plugin gestiscono tutto in modo sicuro e automatico.

WP-Optimize (gratuito) è l'opzione più popolare. Pulisce:

  • Revisioni degli articoli
  • Bozze automatiche
  • Articoli nel cestino
  • Commenti spam e nel cestino
  • Transitori scaduti
  • Postmeta orfane

Puoi eseguire le pulizie manualmente oppure programmarle ogni settimana/mese. Inoltre, ottimizza le tabelle del database con un solo clic.

WP-Sweep (gratuito) è un’alternativa più leggera che si concentra esclusivamente sulla pulizia, senza funzionalità extra. Ottimo se desideri qualcosa di minimale.

Advanced Database Cleaner (gratuito con la versione pro) offre il controllo più granulare. Rileva le tabelle orfane dei plugin eliminati e ti permette di vedere esattamente cosa viene rimosso prima dell’eliminazione.

Set your plugin to run automatically:

  • Settimanale: elimina i commenti spam, le transients scadute, gli elementi nel cestino
  • Mensile: elimina le vecchie revisioni, ottimizza le tabelle

Limita le revisioni d’ora in poi

WordPress salva revisioni illimitate per impostazione predefinita. Ripulirle è utile, ma prevenire l’accumulo è ancora meglio.

Perfmatters ha un’impostazione “Limit Post Revisions” in cui puoi definire un numero (5 è ragionevole) oppure disattivarle del tutto.

If you prefer not to use a plugin for this, add to wp-config.php:

define('WP_POST_REVISIONS', 5);

Verifica dei dati caricati automaticamente (Avanzato)

Questo è un caso in cui un controllo manuale vale la pena. Le opzioni autoload vengono caricate a ogni singola richiesta di pagina e dati autoload sovraccarichi sono un killer nascosto delle prestazioni.

Esegui questo in phpMyAdmin o nel tuo strumento di gestione del database:

sql

SELECT SUM(LENGTH(option_value)) / 1024 / 1024 AS autoload_mb 
FROM wp_options 
WHERE autoload='yes';

Sano: sotto 800KB. Problema: oltre 1MB. Critico: oltre 2MB.

Trova i colpevoli:

sql

SELECT option_name, LENGTH(option_value) / 1024 AS size_kb 
FROM wp_options 
WHERE autoload='yes' 
ORDER BY LENGTH(option_value) DESC 
LIMIT 20;

I colpevoli più comuni includono vecchie regole di reindirizzamento, impostazioni di plugin abbandonati e opzioni del tema gonfie. Advanced Database Cleaner Pro può individuare e correggere i problemi di autoload tramite la sua interfaccia, se preferisci non toccare SQL.


Disattivare le funzionalità inutili di WordPress

WordPress carica diverse funzionalità di default che molti siti non richiedono. Ognuna di queste aggiunge JavaScript, CSS o carico di elaborazione.

Il modo semplice: usa Perfmatters

Perfmatters (24,95 $/anno) è progettato apposta per questo. Un solo plugin, semplici interruttori, fatto.

Scheda Script Manager:

  • Disable emojis
  • Disable embeds (oEmbed)
  • Disable XML-RPC
  • Disable RSS feeds
  • Disable REST API links
  • Remove jQuery Migrate
  • Remove dashicons for logged-out users

Extras tab:

  • Heartbeat control (disable, or reduce frequency)
  • Limit post revisions
  • Disable self-pingbacks
  • Remove shortlink
  • Remove RSD link
  • Disable Google Maps API
  • Disable password strength meter

Tu spunti le caselle, salvi, fatto. Niente codice, niente functions.php, nessun rischio di rompere qualcosa.

Alternativa: controlla prima il tuo plugin di caching

Prima di acquistare un altro plugin, verifica cosa il tuo plugin di caching offre già:

WP Rocket (Impostazioni → Media → Embeds) ti consente di disattivare gli embed.

LiteSpeed Cache (Ottimizzazione pagina → Tuning) include opzioni per la rimozione delle query string, l’ottimizzazione dei Google Fonts e il controllo dell’heartbeat.

FlyingPress include opzioni per disabilitare le emoji, rimuovere il CSS inutilizzato e ritardare il JavaScript.

Potresti avere già queste funzionalità e non saperlo.

Alternativa gratuita: Code Snippets

Se non vuoi acquistare Perfmatters e il tuo plugin di caching non copre ciò di cui hai bisogno, usa il plugin gratuito Code Snippets per aggiungere piccole funzioni PHP senza toccare i file del tuo tema.

Disattiva Heartbeat (o rallentalo):

php

add_filter('heartbeat_settings', function($settings) {
    $settings['interval'] = 60; // Slow to 60 seconds instead of 15
    return $settings;
});

Disable Emojis:

php

remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');

Disable XML-RPC (via .htaccess is more secure):

apache

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
</Files>

Ma onestamente, Perfmatters a 25$ all’anno vale il prezzo solo per la comodità e la sicurezza che tutto sia fatto correttamente.


Analisi dei plugin: individuare i killer delle prestazioni

I plugin sono la variabile più imprevedibile nelle prestazioni di WordPress. Un plugin scritto male può aggiungere centinaia di millisecondi al caricamento di ogni pagina.

Identificazione dei plugin lenti con Query Monitor

Query Monitor (gratuito) è essenziale per diagnosticare i problemi di prestazioni dei plugin. Installalo temporaneamente, naviga sul tuo sito e verifica:

Query per componente: mostra le query al database per plugin. Cerca i plugin che eseguono oltre 50 query o singole query che richiedono più di 0,01 secondi.

Script e stili: mostra quali plugin caricano JavaScript e CSS e su quali pagine. Questo rivela i plugin che caricano asset su tutto il sito anche se servono solo su pagine specifiche.

Categorie di plugin ad alte prestazioni richieste

Alcune tipologie di plugin sono note per causare problemi di prestazioni:

  1. I page builder (Elementor, Divi, WPBakery) aggiungono un notevole overhead. Sono comodi, ma hanno un prezzo.
  2. I plugin di condivisione sui social spesso caricano script da molteplici servizi di terze parti.
  3. I plugin di statistiche che tracciano tutto martellano il database con operazioni di scrittura.
  4. I slider e i caroselli caricano librerie JavaScript pesanti.
  5. I plugin “tutto-in-uno” cercano di fare qualsiasi cosa, caricando componenti di cui potresti non avere bisogno.

Questo non significa che tu non possa usare questi plugin. Semplicemente sii consapevole dei compromessi.

Caricamento condizionale dei plugin

Molti plugin caricano i loro CSS e JavaScript su ogni pagina, anche quando non sono necessari. Contact Form 7 che si carica sulla tua homepage. Script di WooCommerce sugli articoli del blog. Lightbox delle gallerie su pagine senza gallerie.

Asset CleanUp (gratuito) analizza ogni pagina e mostra tutti i file CSS/JS caricati. Puoi disabilitare file specifici per singola pagina, per tipo di contenuto o a livello di sito.

Perfmatters Script Manager fa la stessa cosa con un’interfaccia più pulita. Puoi vedere tutti gli script e i fogli di stile e disabilitarli tramite interruttori.

Risparmio di esempio:

  • Disattiva Contact Form 7 ovunque tranne che nella tua pagina Contatti
  • Disabilita gli script di WooCommerce sulle pagine non-shop
  • Disable slider scripts on pages without sliders
  • Disabilita gli script dei commenti sulle pagine in cui i commenti sono disattivati

Questo da solo può eliminare 10-20 richieste HTTP per pagina sui siti più pesanti.


Ottimizzazione JavaScript

Il JavaScript che blocca il rendering è uno dei problemi di prestazioni più comuni. La soluzione è rimandare o ritardare gli script in modo che non blocchino il rendering della pagina.

Il tuo plugin di caching se ne occupa. Cerca queste impostazioni:

  1. WP Rocket: File Optimization → JavaScript Files → “Load JavaScript deferred” and “Delay JavaScript execution”
  2. FlyingPress: JavaScript → “Defer JavaScript” e “Delay JavaScript”
  3. LiteSpeed Cache: Page Optimization → JS Settings → “Load JS Deferred”
  4. Perfmatters: Assets → “Defer JavaScript” e “Delay JavaScript”

Ritardare il JavaScript è particolarmente potente. Impedisce l’esecuzione degli script finché non avviene un’interazione dell’utente (movimento del mouse, scroll o clic). Analitiche, widget di chat e script social non hanno bisogno di essere eseguiti finché qualcuno non interagisce davvero con la pagina.

Se riscontri problemi dopo aver abilitato il defer: alcuni temi e plugin contengono JavaScript scritto male che si interrompe quando viene differito. Il tuo plugin avrà un campo di esclusione in cui puoi elencare gli script specifici da continuare a caricare normalmente. jQuery è il più comune che necessita di essere escluso.

CSS Optimization

Il CSS critico estrae gli stili necessari per il contenuto above-the-fold e li inserisce inline. Il resto viene caricato senza bloccare il rendering.

  • WP Rocket: File Optimization → CSS Files → “Optimize CSS delivery” (generates critical CSS automatically)
  • FlyingPress: CSS → “Generate Critical CSS”
  • Perfmatters: CSS → “Remove Unused CSS” (generates used CSS per page)
  • LiteSpeed Cache: Page Optimization → CSS Settings → “Generate Critical CSS”

Rimuovere il CSS inutilizzato va ancora oltre. Invece di limitarsi a dare priorità al CSS above-the-fold, analizza ogni pagina e crea un foglio di stile minimale che contiene solo il CSS effettivamente utilizzato. Questo può ridurre il payload CSS del 70-90% sulle pagine che caricano fogli di stile del tema appesantiti.


Configurazione CDN: distribuzione dei contenuti più veloce a livello globale

Una CDN (Content Delivery Network) memorizza nella cache i tuoi contenuti su server edge globali. I visitatori scaricano le risorse dalla posizione più vicina invece che dal tuo server di origine.

Cloudflare: La Migliore Opzione Gratuita

Il piano gratuito di Cloudflare offre:

  • CDN globale con oltre 300 edge location
  • Certificato SSL gratuito
  • Protezione DDoS
  • Ottimizzazioni di base (minificazione, compressione Brotli)

Cloudflare APO (5 $/mese) memorizza nella cache intere pagine WordPress sull’edge, non solo le risorse statiche. Questo è il singolo miglior upgrade di performance per i siti con pubblico distribuito geograficamente.

Speed → Optimization:

  • Auto Minify: Enable for CSS, JS, HTML (or disable if your caching plugin handles this)
  • Brotli: Enable
  • Early Hints: Enable
  • Rocket Loader: Disable (conflicts with most caching plugins)

Caching:

  • Caching Level: Standard
  • Browser Cache TTL: Respect Existing Headers
  • Tiered Cache: Enable

Network:

  • HTTP/3: Enable

CDN alternativi

BunnyCDN (a partire da 0,01 $/GB) offre un eccellente rapporto qualità-prezzo con 119+ PoP. Usalo con il plugin BunnyCDN o CDN Enabler per un’integrazione semplice con WordPress.

KeyCDN (minimo $0,04/GB) offre analisi in tempo reale e una configurazione semplice.

Se stai già utilizzando WP Rocket, include RocketCDN (8,99 $/mese) basato su StackPath e che si integra alla perfezione.


Ottimizzazioni lato server

Alcune ottimizzazioni avvengono a livello di server, al di fuori di WordPress.

PHP Version

PHP 8.2 o 8.3 offre un miglioramento delle prestazioni superiore al 30% rispetto a PHP 7.4. Controlla la tua versione in Bacheca → Strumenti → Salute del sito → Info → Server.

L’aggiornamento è prestazioni gratuite. La maggior parte degli hosting ti permette di cambiare la versione di PHP dal pannello di controllo. Basta verificare prima che i tuoi plugin siano compatibili (ormai quasi sicuramente lo sono).

GZIP and Brotli Compression

La compressione riduce le dimensioni dei file basati su testo di 70-90%.

Buone notizie: il tuo plugin di caching probabilmente se ne occupa già.

WP Rocket abilita automaticamente GZIP. LiteSpeed Cache sui server LiteSpeed lo gestisce in modo nativo. La maggior parte degli hosting WordPress gestiti abilita la compressione a livello di server.

Per verificare che la compressione sia attiva, esegui il tuo sito con GTmetrix. Se GZIP/Brotli è abilitato, lo vedrai nel Waterfall sotto le intestazioni Content-Encoding.

Se la compressione non è abilitata, aggiungi questo a .htaccess:

apache

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

Brotli offre una compressione migliore del 20% rispetto a GZIP. Cloudflare abilita Brotli gratuitamente. In caso contrario, è necessaria una configurazione a livello di server.

PHP Memory Limits

Se visualizzi schermate bianche o errori di timeout su pagine complesse, potresti aver bisogno di più memoria. Aggiungi in wp-config.php:

php

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Core Web Vitals: le metriche che interessano a Google

I Core Web Vitals sono le metriche di esperienza utente di Google che influiscono direttamente sul posizionamento nei risultati di ricerca:

  • LCP (Largest Contentful Paint): Velocità di caricamento del contenuto principale. Obiettivo: ≤2,5 secondi
  • CLS (Cumulative Layout Shift): Quanto si sposta il layout della pagina durante il caricamento. Obiettivo: ≤0.1
  • INP (Interaction to Next Paint): Rapidità con cui la pagina risponde all’input dell’utente. Obiettivo: ≤200ms

Ottimizzare il LCP

LCP misura quando il più grande elemento visibile termina il caricamento. Di solito si tratta della tua hero image, di una miniatura video o di un grande blocco di testo.

Il tuo plugin di ottimizzazione può gestire automaticamente il LCP:

WP Rocket: Enable “Preload critical images” in the Media tab. WP Rocket automatically detects and preloads the LCP image.

FlyingPress: Has automatic LCP detection built-in. No configuration needed.

Perfmatters: Aggiungi l’URL della tua immagine hero nel campo “Preload” oppure utilizza la funzione Critical Images.

Se PageSpeed segnala ancora problemi con il LCP, controlla:

  • La tua immagine hero è troppo grande? Comprimila.
  • La tua hero image viene caricata in modo pigro (lazy load)? Escludila (vedi la sezione sul lazy loading).
  • Il tuo server è lento? Nessun plugin risolve un hosting lento.

Correzione della CLS

CLS misura gli spostamenti di layout imprevisti. Gli elementi che si muovono mentre la pagina si carica irritano gli utenti.

Specifica sempre le dimensioni delle immagini:

html

<img src="photo.jpg" width="800" height="600" alt="Description">

WordPress gestisce questo automaticamente per le immagini della Libreria Media a partire dalla versione 5.5.

Riserva spazio per i contenuti dinamici:

css

/* Ad containers */
.ad-slot {
    min-height: 250px;
}

/* Embeds */
.video-container {
    aspect-ratio: 16 / 9;
}

Il caricamento dei font provoca CLS. Se il testo rifluisce visibilmente quando si caricano i font personalizzati, hai uno spostamento del layout legato ai font. Consulta la sezione Ottimizzazione dei Font.

Migliorare l'INP

INP misura la rapidità con cui la tua pagina risponde alle interazioni degli utenti durante l’intero ciclo di vita della pagina.

Abilita “Ritarda JavaScript” nel tuo plugin di caching. Questo impedisce agli script non essenziali di bloccare il main thread fino a quando l’utente non interagisce.

WP Rocket: “Delay JavaScript execution” in File Optimization

FlyingPress: “Delay JavaScript”

Flying Scripts (plugin standalone gratuito): ritarda gli script fino all’interazione dell’utente

Un DOM di grandi dimensioni danneggia anche l’INP. Se la tua pagina contiene migliaia di elementi HTML (comune con i page builder), le interazioni risulteranno lente. Semplifica i tuoi layout dove possibile.


Ottimizzazione dei font

I web font possono avere un impatto significativo su prestazioni e stabilità visiva. L’obiettivo è caricarli in modo efficiente senza causare spostamenti del layout.

Ospitare localmente Google Fonts

Usare Google Fonts direttamente comporta lookup DNS aggiuntivi e potenziali problemi di conformità al GDPR.

Plugin che effettuano l’auto-hosting automaticamente:

  1. OMGF (gratuito) – Analizza il tuo sito, scarica i Google Fonts e li ospita in locale. Imposti e ti dimentichi di averlo.
  2. WP Rocket – scheda Media → interruttore “Ospita Google Fonts localmente”. Un clic.
  3. Perfmatters – Assets → attiva/disattiva “Google Fonts locali”.
  4. LiteSpeed Cache – Page Optimization → Tuning → “Google Fonts Async”

Precarica i font critici

Il preloading indica ai browser di scaricare i font in anticipo, prima che l’analisi del CSS li individui.

È probabile che il tuo plugin di ottimizzazione gestisca già questo:

  • WP Rocket: precarica automaticamente i font utilizzati above the fold quando abiliti “Ottimizza l’erogazione del CSS”.
  • Perfmatters: Aggiungi gli URL dei font al campo Preload.
  • FlyingPress: Precaricamento automatico dei font quando il CSS critico è abilitato.

Precarica manualmente solo se il tuo plugin non lo gestisce. Aggiungi uno o due file di font critici (non tutti):

html

<link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin>

Riduci i file dei font

Ogni peso e stile di font è un file separato. Chiediti: usi davvero Regular, Medium, Semi-bold, Bold E Italic?

La maggior parte dei siti può cavarsela con 2-3 file di font (Regular, Bold, magari Italic). Rimuovi gli altri nelle impostazioni del tema o di caricamento dei font.

I font variabili combinano tutti i pesi in un unico file. Google Fonts fornisce i font variabili in modo predefinito quando disponibili. Un file invece di cinque.

Impostazioni di visualizzazione dei font

Usa font-display: swap per mostrare immediatamente il testo di fallback mentre i font personalizzati vengono caricati (evita il testo invisibile).

Usa font-display: optional per ottenere i migliori punteggi CLS. Il browser ha una finestra di tempo molto breve per usare il font personalizzato; se non viene caricato in tempo, il fallback rimane in modo permanente. Nessuno spostamento di layout.

La maggior parte dei plugin per i font ti permette di scegliere questa impostazione. OMGF ha un menu a tendina per font-display. Perfmatters ti consente di impostarla per ogni font.


Ecco come funziona in genere un sito WordPress ben ottimizzato:

Se il budget lo consente: WP Rocket + ShortPixel

WP Rocket (59$/anno) gestisce in un unico plugin l’80% dell’ottimizzazione della velocità:

  • Page caching
  • Browser caching
  • GZIP compression
  • JavaScript defer/delay
  • CSS optimization and critical CSS
  • Lazy loading with LCP protection
  • Database cleanup
  • Preloading and prefetching
  • Local Google Fonts

Per la maggior parte dei siti, WP Rocket da solo è sufficiente. Non hai bisogno di Perfmatters oltre a questo, a meno che tu non voglia il Script Manager per un controllo granulare.

ShortPixel (4,99 $/mese) o Imagify (4,99 $/mese) per l’ottimizzazione delle immagini. WP Rocket non lo include.

Opzione economica: plugin gratuiti

Puoi ottenere risultati simili con plugin gratuiti, ma con un po' più di configurazione:

  • LiteSpeed Cache o WP Super Cache (caching)
  • EWWW Image Optimizer (image optimization)
  • Asset CleanUp (script management)
  • OMGF (local Google Fonts)
  • Flying Pages (prefetching)
  • WP-Optimize (database cleanup)

Più plugin da gestire, ma costo zero.

For Debugging

Query Monitor (gratuito) – Installalo temporaneamente per diagnosticare i problemi. Rimuovilo dopo.


Errori Comuni da Evitare

Eseguire più plugin di caching – vanno in conflitto. Scegline uno e configurarlo correttamente.

Ottimizzazione eccessiva – Passare ore a limare 50 ms quando non hai sistemato le basi. Prima gli interventi ad alto impatto.

Ignorare il mobile – I punteggi desktop non contano se il 60% del tuo traffico è da mobile.

Non testare dopo le modifiche – Ogni ottimizzazione può potenzialmente rompere qualcosa. Testa a fondo.

Utilizzare plugin di “ottimizzazione” che aggiungono zavorra – Alcuni plugin pubblicizzati per la velocità in realtà rallentano i siti. Misura le prestazioni prima e dopo.

Ossessionarsi con i punteggi perfetti95 contro 100 raramente fa la differenza per gli utenti. Concentrati sul tempo di caricamento reale e sull’esperienza utente.

Non controllare prima l’hostingNessun plugin può risolvere un server fondamentalmente lento. Esegui un benchmark del tuo hosting prima di trascorrere ore sull’ottimizzazione.

Purethemes