Piattaforme
Perché il mio sito WordPress è lento? Cause e soluzioni
Scopri cosa rallenta davvero WordPress, da hosting e plugin a immagini e cache, e risolvilo nell’ordine giusto.
Un sito WordPress lento dipende quasi sempre da una di queste quattro cose: un server che impiega troppo a generare ogni pagina, la mancanza di una cache di pagina, troppo lavoro svolto da plugin e tema, oppure immagini e script pesanti nel browser. La soluzione è capire quale di questi fattori ti sta davvero penalizzando e poi affrontarli in ordine, partendo dalla risposta del server e arrivando per ultimo alle rifiniture del front-end.
Misura prima di cambiare qualsiasi cosa
Andare a tentativi è il modo più costoso per velocizzare WordPress. Prima di disattivare plugin o cambiare hosting, procurati un punto di partenza con cui confrontarti in seguito.
- Dati degli utenti reali: analizza il tuo URL con corewebvitals.page. Se il sito ha abbastanza traffico, vedi i dati sul campo degli utenti reali di Chrome per LCP, INP e CLS. Sono quelli che Google usa per l'esperienza sulla pagina.
- Dati di laboratorio: la sezione Lighthouse sottostante è un singolo caricamento simulato. Serve per individuare le cause, ma il punteggio cambia da un test all'altro.
- Risposta del server: controlla quanto tempo richiede l'HTML stesso.
curl -s -o /dev/null -w "TTFB: %{time_starttransfer}s\n" https://example.com/
Ripeti il comando qualche volta e su diversi tipi di pagina: la homepage, un articolo, un archivio di categoria. Se il primo byte richiede già più di un secondo circa, il problema è lato server e nessun plugin per le immagini lo risolverà. Come riferimento indicativo, web.dev suggerisce di puntare a un TTFB di 0,8 secondi o meno.
Per approfondire la differenza tra dati di laboratorio e dati sul campo e capire come fare un test prima e dopo corretto, leggi la guida su come misurare correttamente la velocità di un sito.
Hosting e tempo di risposta del server
Ogni richiesta WordPress non in cache avvia PHP, carica il core di WordPress, tutti i plugin attivi e il tema, ed esegue da qualche decina a qualche centinaio di query al database. Quanto velocemente succede dipende molto dal server.
Segnali che il collo di bottiglia è l'hosting
- Il TTFB è alto anche su pagine semplici con pochi contenuti.
- Il sito rallenta in modo evidente nelle ore di punta o durante l'invio di una newsletter.
- L'area wp-admin è lenta, anche se non ha nulla a che fare con le risorse del front-end.
- Il pannello del tuo hosting mostra che hai raggiunto i limiti di CPU o memoria.
Cosa puoi fare
- Aggiorna PHP. Le versioni più recenti di PHP sono in genere più veloci e ricevono ancora gli aggiornamenti di sicurezza. Verifica quale versione offre il tuo hosting e prova il sito sulla più recente supportata dai tuoi plugin.
- Aggiungi una object cache persistente. Redis o Memcached tengono in memoria i risultati delle query ripetute al database. Molti hosting gestiti la offrono come semplice opzione da attivare; aiuta soprattutto sulle pagine dinamiche e in wp-admin.
- Passa a un piano o a un hosting superiore se il server è semplicemente sottodimensionato per il tuo traffico. A volte è davvero la risposta giusta, e nessuna ottimizzazione dei plugin sostituisce una CPU sufficiente.
Se il problema principale è il tempo di risposta, la guida dedicata su come ridurre il TTFB affronta passo passo gli interventi su server, applicazione ed edge.
Cache di pagina
Per la maggior parte dei siti WordPress la cache di pagina è la leva più potente in assoluto. Invece di costruire la stessa pagina con PHP e MySQL per ogni visitatore, si serve direttamente una copia già pronta dell'HTML. Il manuale per sviluppatori di WordPress offre una buona panoramica dei diversi livelli di cache (in inglese).
Hai tre opzioni comuni:
| Opzione | Dove si trova la cache | Adatta a |
|---|---|---|
| Plugin di cache | Sul tuo server, come file o in memoria | Siti piccoli, hosting condiviso |
| Cache dell'hosting | Nel web server o nel proxy dell'hosting | Hosting WordPress gestito |
| Cache sull'edge / CDN | Su server vicini ai tuoi visitatori | Visitatori in più regioni, picchi di traffico |
Questi livelli possono lavorare insieme. Quello che conta è che i visitatori anonimi ricevano HTML dalla cache e che le pagine che devono restare personali siano escluse.
Cosa non va messo in cache
- Utenti loggati e wp-admin (WordPress imposta cookie di login e la maggior parte delle cache li salta).
- Anteprime dei commenti e articoli protetti da password.
- Carrello, checkout e pagine account se hai un negozio online. La guida per velocizzare WooCommerce spiega queste regole nel dettaglio.
Verifica che la cache funzioni
Guarda gli header di risposta. La maggior parte delle cache aggiunge un header che indica un hit o un miss:
curl -sI https://example.com/ | grep -i -E "cache|age"
Se ogni richiesta risulta un miss, o se non c'è alcun header di cache, qualcosa sta aggirando la cache. I colpevoli tipici sono un plugin che imposta un cookie a ogni visita, header Cache-Control: no-cache inviati da un plugin di sicurezza, oppure query string provenienti dai link di tracciamento.
Plugin e temi
Il numero di plugin conta meno di quello che fanno. Un solo plugin scritto male può aggiungere più carico di venti plugin piccoli.
Trova quelli che pesano
- Installa Query Monitor su una copia di staging. Per ogni caricamento di pagina mostra query al database, query lente, chiamate HTTP API e hook per singolo plugin.
- Cerca i plugin che fanno richieste HTTP esterne al caricamento della pagina (verifiche di licenza, contatori social, font remoti). Bloccano la pagina mentre aspettano un altro server.
- Disattiva i sospetti uno alla volta sullo staging e misura di nuovo il TTFB. Non farlo su un negozio online in produzione.
Schemi comuni che rallentano i siti
- Page builder che caricano tutto il loro CSS e JavaScript su ogni pagina, anche dove non servono.
- Slider, popup e widget di chat che caricano diversi script nella parte visibile della pagina.
- Plugin di articoli correlati e statistiche che eseguono query pesanti a ogni richiesta.
- Più plugin che fanno lo stesso lavoro (due plugin SEO, due plugin di cache).
Un tema più leggero spesso aiuta più di qualsiasi plugin di ottimizzazione. Se il tuo tema porta con sé un framework enorme che usi appena, quel codice viene comunque eseguito su ogni pagina.
Immagini e media
Le immagini sono di solito la parte più pesante di una pagina WordPress, e l'immagine hero è spesso l'elemento che decide il tuo LCP.
- Carica dimensioni sensate. Una foto da 4.000 pixel scattata con il telefono non c'entra nulla in una colonna di contenuto da 800 pixel. WordPress crea versioni più piccole e usa
srcset, ma solo se il tema le stampa correttamente. - Usa formati moderni. WebP e AVIF sono molto più leggeri di JPEG e PNG a parità di qualità.
- Lazy loading sotto la piega, non sopra. WordPress aggiunge
loading="lazy"in automatico, ma il lazy loading sull'immagine hero ritarda l'LCP. Assicurati che l'immagine principale si carichi subito. - Imposta larghezza e altezza così il browser riserva lo spazio e il layout non salta (CLS).
La guida su come ottimizzare le immagini per il web approfondisce formati, dimensioni e strategia di caricamento.
Database e attività in background
I siti WordPress più vecchi accumulano zavorra che rallenta ogni richiesta non in cache.
- Opzioni in autoload: i plugin salvano le impostazioni in
wp_options, e le voci segnate come autoload vengono lette a ogni richiesta. I plugin eliminati lasciano spesso dietro di sé voci voluminose. Salute del sito, nelle versioni recenti di WordPress, ti avvisa quando i dati in autoload diventano troppi. - Transient scaduti e revisioni degli articoli gonfiano le tabelle. Puliscili con un plugin di manutenzione o con WP-CLI, dopo aver fatto un backup.
- WP-Cron per impostazione predefinita esegue le attività pianificate durante le normali visite alle pagine. Sui siti molto visitati disattivalo in
wp-config.phpe avvialo invece con un vero cron job del server:
define( 'DISABLE_WP_CRON', true );
- Heartbeat API: le schede dell'editor aperte inviano richieste a
admin-ajax.phpa intervalli regolari. Su un hosting debole questo si fa sentire; alcuni plugin di prestazioni ti permettono di ridurne la frequenza.
Risolvi nell'ordine giusto
Lavorare nell'ordine giusto fa risparmiare tempo, perché spesso i primi passi rendono superflui quelli successivi.
- Misura TTFB e Core Web Vitals sui tipi di pagina più importanti.
- Sistema la risposta del server: versione di PHP, object cache, risorse sufficienti.
- Attiva la cache di pagina per i visitatori anonimi e controlla gli header di cache.
- Rimuovi o sostituisci i plugin pesanti e riduci ciò che carica il tema.
- Ottimizza le immagini: dimensioni, formato, niente lazy loading sulla hero.
- Pulisci il database e sposta WP-Cron su un cron del server.
- Misura di nuovo con gli stessi strumenti e le stesse pagine, e confronta.
Se i tuoi visitatori arrivano da più paesi, anche la distanza dal server aggiunge latenza a ogni richiesta, pure con una buona cache sull'origine. È qui che aiuta una cache sull'edge.
Come ti aiuta fast.site
fast.site si mette davanti al tuo hosting WordPress attuale. Mantieni hosting e sito; aggiungi il dominio nella dashboard e punti i tuoi nameserver su fast.site. Da quel momento fast.site gestisce il tuo DNS, quindi assicurati che tutti i record esistenti, compresi i record MX per la posta, siano presenti nella zona DNS di fast.site.
Le visualizzazioni di pagina anonime vengono poi servite da Fast Edge Cache™ tramite server edge vicini ai tuoi visitatori, nelle regioni disponibili con il tuo piano. Un cache HIT non raggiunge mai l'origine, e questo alleggerisce il server nelle ore di punta. Le sessioni degli utenti loggati e wp-admin devono saltare la cache, e l'header di risposta fs-cache mostra HIT, MISS o BYPASS così puoi controllare ogni pagina da solo. Dopo una pubblicazione puoi svuotare la cache di singoli URL dalla dashboard o tramite API, e un cache warmer tiene pronte le pagine chiave.
Sul front-end, fast.site può convertire al volo JPEG e PNG in WebP (AVIF a seconda del piano) e, se vuoi, precaricare l'immagine hero e aggiungere le dimensioni mancanti alle immagini. Trovi i dettagli nella pagina WordPress e nella documentazione sulla cache.
Misura il tuo sito prima e dopo con gli stessi test. Puoi provarlo con una prova gratuita di 7 giorni. Non serve la carta di credito.
Domande frequenti
Perché il mio sito WordPress è lento solo quando sono loggato?
La maggior parte delle cache di pagina salta gli utenti loggati, quindi ogni pagina che vedi viene generata da zero da PHP. La barra di amministrazione e gli script dell'editor aggiungono altro lavoro. Prova in una finestra privata per vedere cosa ricevono davvero i visitatori.
Troppi plugin rallentano WordPress?
Il numero conta meno di quello che fa ciascun plugin. Pochi plugin pesanti che eseguono query lente o chiamano servizi esterni a ogni richiesta costano più di tanti plugin piccoli. Usa Query Monitor su un sito di staging per trovare quelli che pesano.
Basta un plugin di cache?
Per un sito piccolo con visitatori locali, un plugin di cache ben configurato su un hosting decente spesso basta. Se i tuoi visitatori sono distribuiti su più regioni o hai picchi di traffico, una cache sull'edge davanti al server fa risparmiare la distanza e toglie carico all'origine.
Perché l'area di amministrazione di WordPress è lenta?
wp-admin non passa mai dalla cache di pagina, quindi mostra la velocità reale di server, plugin e database. Pagine di amministrazione lente indicano di solito un hosting sottodimensionato, una object cache mancante, troppe opzioni in autoload o un plugin che fa un lavoro pesante a ogni richiesta in admin.
Prova fast.site con il tuo sito
fast.site aggiunge al tuo hosting attuale caching sull’edge, ottimizzazione delle immagini e protezione DDoS. Collega il tuo dominio e misura la differenza sulle tue pagine.
Dai 7 giorni al tuo sito. Lascia decidere ai risultati.
Inizia con il tuo dominio, il tuo traffico e un’idea chiara di ciò che accade dopo.