Velocizzare WordPress: la mega-guida

Da quando ho iniziato a fare blogging nel 2010, da una cosa sono sempre stato ossessionato: velocizzare WordPress.

Più che della velocità in sé, mi sono sempre preoccupato del rapporto fra velocità e qualità del sito.

Se volessi fare il sito web più veloce di sempre non userei nemmeno WordPress, ma un sito web statico con solo HTML e CSS. Sarebbe veloce? Eccome, sarebbe velocissimo. Ma sarebbe un inferno da gestire.

La stessa cosa vale per i blog. Ci sono tantissimi modi per snellire il codice, ma alcuni valgono lo sforzo, altri no.

In questa guida ho voluto includere un po’ tutti i parametri per velocizzare WordPress. Sono presenti tutti quelli che utilizzo io, ma ho messo anche delle cose che ho utilizzato in passato per poi scartarle: si guadagnava sì in prestazioni, ma a discapito dell’usabilità. In questo caso, ho chiaramente segnato la cosa.

Quindi, partiamo dalle basi…

Perché è importante velocizzare WordPress?

Ci sono due ragioni principali:

  1. Esperienza utente
  2. Benefici SEO

Tutte e due, con il tempo, stanno diventando sempre più importanti. Quindi la reattività con la quale si carica un articolo sta diventando fondamentale per qualsiasi business online.

Esperienza utente

Il primo beneficio è l’esperienza utente, e tutto quello che ne deriva.

Non so te, ma a me infastidisce vedere un sito che si carica lentamente. Significa che l’amministratore non si cura della propria infrastruttura e ottimizzazione.

Se si parla di un business basato su internet, già solo questo mi dice molto su quanto siano disposti a investire sulla qualità del servizio.

Ancora prima di leggere la prima riga di testo, ho già un’opinione negativa dell’azienda. Quindi sarò ben poco propenso ad acquistare i servizi, se ne propongono.

Stessa cosa per gli articoli. Se la pagina si carica lentamente, in genere non vado a leggere articoli al di fuori del primo, quello che mi interessa. Proprio perché non ho voglia di stare ad aspettare.

Traffico mobile

Velocizzare WordPress diventa ancora più importante quando si parla di mobile, visto che i telefoni hanno spesso banda limitata, più latenza, meno velocità e meno potenza di calcolo.

Abbiniamo questi fattori a un utente che di solito è poco paziente e sempre di fretta, e abbiamo la ricetta perfetta: un blog lento su mobile fa più danni che altro.

Google è il primo che lo capisce, ed è intervenuto ficcandosi a capofitto nel progetto AMP di cui parleremo più avanti. Questo è un chiaro segnale che ci fa capire quanto la velocità di un sito web sia importante per gli smartphone.

E già che stiamo parlando di Google…

Benefici SEO

Google sottolinea nelle sue linee guide quanto sia importante avere un caricamento veloce, a tal punto da aver creato un tool apposito (PageSpeed).

Non si sa se la velocità di caricamento influenzi direttamente la posizione in SERP o solo indirettamente, ma in qualche modo c’entra. Se dovessi azzardare un’ipotesi, direi che è un fattore di posizionamento diretto.

2 bufale sul velocizzare WordPress

Prima di passare ai veri fattori che impattano sul tempo di caricamento del tuo sito, andiamo a vedere le bufale che girano sul velocizzare WordPress.

Queste sono cose che sento dire spesso in giro, ma non sono vere (o sono vere solo in parte). Di questi fattori puoi anche non preoccuparti.

La distanza del server conta tantissimo

Sui siti web statici, la distanza del server non conta niente. Anche se è in Australia, il caricamento è immediato.

La cosa un po’ cambia con WordPress, dove vengono caricate tantissime risorse in serie e in parallelo (quasi 100 per un blog normale), ma fino a un certo punto.

Se hai un server anche negli Stati Uniti, io non cambierei provider solo per velocizzare WordPress. Impatta di una frazione di secondo, ma non è nulla di apocalittico. Se invece hai un server da qualsiasi parte in Europa, vai tranquillo: quei kilometri in più o in meno non contano niente.

Soprattutto se usi un CDN (trattato a breve), la distanza non conta granché per la velocità di WordPress.

Serve un punteggio Pingdom perfetto

Che sia il tool di Pingdom o il già citato Google PageSpeed, mettiti il cuore in pace: non riuscirai mai a ottenere un punteggio perfetto anche con un’installazione liscia senza plugin.

Questo perché WordPress, di sua natura, è un CMS complesso. È fatto non tanto per essere il più veloce possibile, ma semplice da usare. Quindi la velocità non è delle migliori.

Questi due tool sono fatti per sviluppatori, soprattutto PageSpeed. Vanno a beccare dei problemi di codice in WordPress sui quali non puoi farci niente. O meglio, potresti farci qualcosa, ma è una perdita di tempo colossale anche se ci capisci qualcosa di codice e PHP.

Certo, ci sono dei temi che ottimizzano il codice, ma arrivare a un punteggio perfetto è impossibile. Soprattutto se inizi a usare diversi plugin, che raramente sono scritti tenendo a mente la velocità di WordPress. Ancora peggio se si usano script esterni (tipo il like box di Facebook).

Come velocizzare WordPress: tutti i fattori

Ora che abbiamo dissipato i più comuni falsi miti, andiamo invece a vedere quali siano i veri fattori che influenzano il tempo di caricamento del tuo sito.

In certi argomenti andrò un po’ sul tecnico, ma cercherò comunque di rimanere il più comprensibile possibile anche per i non addetti ai lavori.

Hosting

Chiaramente, per velocizzare WordPress devi scegliere un hosting di qualità.

Dando per scontato che un hosting condiviso va scartato a prescindere, ti rimangono tre opzioni:

  1. VPS
  2. Cloud hosting
  3. Server dedicato

VPS e cloud sono più o meno la stessa cosa, le differenze tecniche al momento non ci interessano. Il cloud è un po’ migliore del VPS classico, ma la sostanza è quella.

Significa avere una macchina virtuale, o server virtuale, che puoi usare solo tu. Fisicamente il tuo sito risiede sulla stessa macchina di altri, ma ha delle risorse e una partizione logica a sé stante (al contrario dell’hosting condiviso, dove tutte le risorse sono condivise).

Il server dedicato invece è una macchina a sé stante, è fisicamente separata e indipendente. Ottima per i siti web con tanto traffico, ma per chi inizia potrebbero essere sovradimensionati (anche perché non constano poco).

Se usi WordPress solo per hobby, puoi anche prendere uno spazio condiviso e via, tanto lo fai per divertimento.

Ma se vuoi fare sul serio, inizia subito almeno con un VPS o cloud. Poi, se l’attività va bene, potrai in un secondo momento passare a dei server dedicati. Considerando che un server dedicato parte dai 150€ al mese (per quelli economici), non è una scelta da prendere alla leggera. E comunque, puoi farlo solo quando hai raggiunto il limite di capacità del VPS.

Ora, per i consigli. Io ho utilizzato per molto tempo Inmotion Hosting, ma sono recentemente passato a Siteground.

Inmotion è un hosting eccellente: supporto straordinario, server veloci, cPanel completo. Ma ha alcuni problemi:

  • Niente supporto per Let’s Encrypt, un servizio gratuito di certificati SSL, o SSL di terze parti.
  • Server solo in USA.

In più Siteground offre anche chicche interessanti come lo staging per WordPress (per rendere le modifiche più semplici e sicure) e Softaculous gratuito, quindi lo sto provando in questi mesi.

DNS professionali

Già che parliamo di server, parliamo anche di domini. Questo è un argomento che scende sul tecnico, se sbagli a impostare i DNS il tuo sito sarà irraggiungibile, e al massimo guadagni una frazione di secondo. Quindi non sei obbligato a cambiarli.

Quando compri un pacchetto hosting, quasi sicuramente ti verrà dato anche il dominio gratuito e i DNS del provider. In realtà, sono tre cose completamente diverse.

I DNS, in particolare, sono quelli che si occupano di tradurre il dominio alfanumerico in un indirizzo IP.

Ad esempio, se scrivo:

https://blog.activepowered.com

I DNS andranno a vedere che questo blog è sul server con indirizzo 185.197.128.217. Manderanno quindi una richiesta a questo indirizzo, chiedendo di mandare al computer richiedente la pagina web.

Questa è un’operazione che richiede del tempo. Se il tuo provider attuale ci mette un secondo a ricercare i DNS e inviare una risposta, tutto il tuo sito si caricherà un secondo più lentamente.

Quindi, puoi controllare con Pingdom (o con Ultratools) il tempo di risposta dei server. Se è troppo alto, puoi cambiarli con un altro servizio professionale. Io consiglio Amazon Route 53, che è quello che uso per tutti i miei siti web.

Il tema utilizzato

Un tema ottimizzato è fondamentale per velocizzare WordPress. Senza di quello, tutto il resto non conta.

Qui non bisogna risparmiare, e puntare fin da subito su un tema di qualità e ben scritto. Un tema mal ottimizzato, anche se bello esteticamente, farà andare WordPress alla velocità di un mattone con le ruote quadrate.

Qui ci sono diverse alternative. La più comune e sicura è utilizzare un tema Genesis, un po’ costoso ma ormai lo standard per i temi WordPress.

Genesis è veloce e ottimizzato, oltre ad essere una gioia per gli occhi. Il codice è un po’ particolare, quindi se ti piace smanettare potresti metterci un po’ ad abituartici, ma la curva di apprendimento ripida è un piccolo prezzo da pagare. Io uso quasi sempre Genesis.

Un’altra alternativa è Thrive Themes. Personalmente non l’ho mai usato, ma conosco quelli di Thrive e sono dei geni di WordPress. Quindi mi aspetto che i loro temi siano eccellenti.

L’altra alternativa è Divi: anche questo non l’ho mai provato, ma ne parlano tutti bene e le pagine si caricano in un lampo, oltre ad avere un pannello di amministrazione impressionante.

Troppi plugin installati

I plugin vanno dosati col contagocce.

Anche solo un plugin di troppo rallenta il sito, visto che raramente vengono scritti bene (per mantenere WordPress veloce).

Quando si può fare una modifica via codice invece che via plugin, è meglio il primo metodo. Ad esempio per mettere il box “mi piace” di Facebook.

Per ogni Plugin, chiediti sempre: mi serve proprio? Se non è fondamentale, eliminalo.

Ecco i plugin che stiamo usando in questo momento sul blog di Active Powered:

  • Gravity Forms per i form di contatto.
  • Advanced Recent posts per i post correlati e recenti.
  • Antispam Bee per lo spam dei commenti.
  • Instant Articles for WordPress per gli Instant Articles di Facebook.
  • Optimizepress per le landing page.
  • SEOZoom come plugin per la SEO.
  • Subscribe to Comments Reloaded per iscriversi ai commenti.
  • Thrive Leads per il lead capture.
  • W3 total cache per il caching (trattato a breve).
  • Yoast SEO per integrare SEOZoom.
  • AMP for WP per le pagine AMP.

Un discreto numero, ma non tantissimi. Per vedere quanto rallentano il tuo sito i plugin, puoi usare P3 profiler.

Usare un CDN

Un sito che ha tanti visitatori ha bisogno di un CDN.

Il CDN è uno strumento che serve per distribuire il contenuto del nostro blog (immagini, file CSS e JS, e altro) su diversi server, e in questo modo velocizzare WordPress.

In poche parole il servizio CDN legge automaticamente i file sul nostro server, e li clona sui server del servizio stesso. Fatta una piccola modifica su WordPress, si può far scaricare video e immagini dai server del CDN piuttosto che dal nostro server.

Visto che i server del CDN sono in genere più veloci e vicini all’utente del server originario (il tuo), questo processo velocizza WordPress.

Il CDN più utilizzato è Cloudflare, anche perché è gratuito. Ma io uso Amazon Cloudfront perché ha un’infrastruttura che scala molto meglio sui grandi volumi a prezzi accettabili.

Ci sarebbe molto altro da dire sui CDN. Ad esempio, c’è il dibattito fra CDN pull e CDN push. Per sintetizzare: cambia pochissimo, fregatene. Piazza un CDN sul tuo WordPress, e sei a posto.

Una volta creata una distribuzione CDN, bisogna dire a WordPress di andare a prendere i file da lì invece che dal nostro server, altrimenti non serve a niente. Questo si può fare con un plugin di caching, di cui parliamo adesso…

Plugin di caching

Un altro componente imprescindibile per velocizzare WordPress.

Caching significa dire al browser dell’utente che ci visita di salvare sulla memoria interna il CSS e le immagini del sito web. In questo modo, la prossima volta che l’utente visita una pagina del blog, andrà a pescare la maggior parte degli elementi dalla memoria invece che richiederli dal server. Il che è molto più veloce.

I plugin di caching moderni fanno molto di più ormai, come minificare il codice per renderlo più leggero e caricare le risorse da un CDN, ma sono impostazioni automatiche delle quali tu non devi sapere niente.

Sul fronte gratuito, il plugin migliore è W3 Total Cache. Ottimo, e il minimo indispensabile per velocizzare WordPress.

A pagamento, c’è WP Rocket. Dai test che ho fatto sembra essere leggermente migliore di W3 Total Cache, ed è sicuramente più facile da configurare. Ma sono tutti e due eccellenti, quindi comprerei solo WP Rocket solo se vuoi spremere ogni centesimo di secondo da WordPress. Altrimenti, W3 basta e avanza.

Design responsive

Senza mezzi termini, un design responsive è obbligatorio.

Google ha già detto che un design non responsive viene penalizzato nelle SERP da smartphone, che comprende la metà del traffico mondiale. In più un sito non responsive da è atroce da leggere su mobile.

Questo non è di per sé un consiglio per velocizzare WordPress, quanto un consiglio per velocizzare la lettura e migliorare l’esperienza mobile. Se usi uno dei temi consigliati sopra, sarai già pronto a partire.

AMP

Il progetto AMP invece serve proprio a velocizzare il caricamento delle pagine su mobile.

Significa togliere quasi tutti gli elementi di una pagina, e lasciare solo il contenuto e del CSS per la formattazione. Molti tag e CSS non sono accettati in AMP.

Ma a cosa serve?

Google ha aderito in pieno ad AMP, e le pagine che rispettano questo standard vengono segnate come tali nella SERP. E cosa più importante, vengono spinte più in alto dall’algoritmo dandoti più visibilità.

Il bello è che le pagine AMP si caricano istantaneamente. Il brutto è che non puoi mettere popup, lightbox, sidebar, optin box e un sacco di altre cose. Quindi non è detto che vadano bene per tutti. A volte, un semplice design responsive è sufficiente.

E se cerchi “velocizzare WordPress” su Google da smartphone, la pagina dei risultati porterà direttamente alla versione AMP.

Puoi ottenere questo risultato con una serie di plugin. Quello che usiamo noi qui è AMP for WP, che è quello che ha più opzioni. Ti consente di mettere solo un logo e un menù come elementi di branding, e poco più. Ma se per te velocizzare WordPress è fondamentale, può essere un’opzione.

Ottimizza le immagini

Se usi tante immagini, saranno quelle le parti più pesanti del tuo sito. Se questo è il caso (puoi verificarlo con il già citato Pingdom), puoi usare Smush.it per ottimizzarle.

Senza scendere di qualità o risoluzione, riduce la dimensione del file.

Oltre a questo, ovviamente, riduci la dimensione delle immagini! Il formato PNG è ottimo per mantenere una buona qualità, e non fare mai immagini più grandi di quanto serve. Se vuoi mostrare un’immagine 300×300 in mezzo al post, piuttosto che caricarla di dimensioni quadruple e rimpicciolirla via CSS o HTML, cambia la risoluzione con un programma come GIMP.

Conclusione

Questi sono tutti i trucchi che ho imparato in questi anni per velocizzare WordPress.

Implementando questi consigli otterrai già un buon punteggio di ottimizzazione, e dovresti avere già un sito più veloce della media.

Se così non fosse, usa Pingdom per diagnosticare quale sia il problema. È il server? Sono i DNS? Carichi troppe risorse o sono troppo pesanti? Cerca di capirlo e porre rimedio. Altrimenti commenta qui sotto con il risultato (o il link a un articolo WordPress) e vediamo di capire insieme. 😉

Perché velocizzare WordPress è importante adesso, e lo sarà ancora di più in futuro. Sia per migliorare l’esperienza degli utenti, il che impatta sul successo del tuo business (se si basa sul blog), sia per posizionarti meglio con Google.

Il primo passo

Per iniziare subito, usa il tool di Pingdom e fai il test su un articolo del tuo blog (non la home page), e seleziona il server in europa (Svezia). Poi scrivi qui sotto:

  1. Tempo di caricamento (load time)
  2. Risorse caricate (requests)
  3. Dimensione della pagina (page size)

Fare un confronto con gli altri utenti ti aiuterà a capire a che punto sei, e quanto puoi migliorare.