Velocizzare WordPress in 6 semplici mosse!

By | 20 dicembre 2015

Velocizzare WordPress

WordPress è un CMS eccezionale, estremamente versatile e con moltissime estensioni completamente gratuite, tutte queste caratteristiche gli hanno permesso di crescere rapidamente negli ultimi anni e di diventare il CMS più usato sul web.

Unico “neo”, sono le prestazioni, a volte non esattamente eccelse.

Considerando che, Google considera la velocità di caricamento di un sito come un fattore di rank importante, è bene quindi, adoperarsi per ottenere quantomeno delle buone velocità di caricamento.

I passi da seguire sono, nella maggior parte dei casi i seguenti:

– Analisi delle prestazioni
– Ottimizzazione del Database
– Attivazione di compressione e caching del browser
– Minimizzazione di Javascript e Css
– Attivazione della cache del sito
– Ottimizzazione delle immagini

Vediamoli nel dettaglio:

Analisi delle prestazioni

Per cominciare, è bene capire SE e dove andare a intervenire, per questa fase è consigliabile utilizzare Gtmetrix.com, un’applicazione web che analizza l’URL inserito utilizzando due strumenti diversi e conosciutissimi come Google Page Speed e Yslow e che restituisce un rapporto preciso ma anche piuttosto semplice da leggere, registrandosi gratuitamente è possibile anche decidere da quale server testare il nostro sito, possiamo decidere tra Vancouver (il predefinito), Dallas, Hong Kong, Londra, Mumbai, Sidney o San Paolo.

Un’altro strumento importante, che ci permette di comprendere l’impatto dei singoli plugins installati nel sito, è P3 Profiler un plugin che esegue un’analisi completa del caricamento del nostro sito e ci restituisce un report con l’impatto di ogni singolo plugin relativamente alla velocità di caricamento.

Ottimizzazione del database

Il database è un elemento chiave per WordPress e di qualsiasi CMS: durante il caricamento di ogni pagina sono molte le queries che vengono eseguite su di esso, ecco perchè è importante mantenerlo ottimizzato ed evitare sprechi di spazio inutili che si traducono in una maggiore lentezza.

Per questo punto possiamo affidarci a un ottimo plugin di nome Optimize Database After Deleting Revisions Questo plugin permette di ripulire il database da alcuni elementi inutili come un numero eccessivo di revisioni, gli elementi cestinati e i tags non utilizzati; permette inoltre di ottimizzare il database, aumentando a volte, di parecchio, le prestazioni (ricordatevi, nel dubbio, di spuntare l’opzione “optimize InnoDB tables too”), il bello di questo plugin è che permette di automatizzare il processo e di decidere con che frequenza dovrà essere eseguito (un volta al giorno, due volte al giorno etc.).

Possiamo anche ridurre il numero di queries che vengono eseguite sul database andando a inserire nel file wp-config.php queste 2 righe di codice:

define(‘WP_HOME’,’http://miahome’);
define(‘WP_SITEURL’,’http://miosito’);

Attivazione di compressione e caching del browser

La compressione Gzip è una tecnica utilizzata dai server che permette di ridurre la dimensione della pagina da inviare (aumentando di conseguenza la velocità di caricamento), il Caching del browser è, invece, una tecnica che permette di salvare alcuni elementi della pagina, come i css, in locale, in modo che quando verranno richiesti (magari da un’altra pagina) non si renda più necessario il download da remoto, aumentando quindi la velocità.

Per questo punto è sufficiente copiare e incollare nel file .htaccess del proprio sito il codice contenuto in questo file, se invece il vostro Hosting è Aruba, usate questo file e incollate all’inizio del file header.php del vostro tema il codice php:

Minimizzazione di Javascript e Css

Javascript e Css sono file esterni alla pagina che permettono di migliorare notevolmente l’esperienza utente, purtroppo ognuno di questi file, per essere trasferito richiede del tempo in termini di byte e in termini di richieste HTTP (più sono le richieste HTTP, maggiore è il tempo richiesto per caricare la pagina).

Esistono plugin che permettono il “minify” di Javascript e Css, come Autoptimize (che permette anche di comprimere il codice Html) o Merge + Minify + Refresh, entrambi non fanno altro che concatenare insieme i file .js e .css (riducendo le richieste HTTP) e comprimerli.

Attenzione comunque: questi plugin svolgono un lavoro egregio, in alcuni casi però potrebbero creare dei problemi nella visualizzazione del sito o in alcune sue funzionalità, questo richiede una fase di studio approfondita che rimando ad un successivo articolo.

Attivazione della cache del sito

Ogni volta che richiediamo un pagina, il server web interroga il database, una volta che il database ha comunicato i risultati, il server web costruisce con essi l’html della pagina che poi ci invia; questo è un processo che richiede del tempo, attraverso la cache del sito è possibile salvare le pagine HTML cosi realizzate per una successiva richiesta (finchè non saranno cambiate), riducendo cosi i tempi di caricamento.

Per questo punto consiglio, per la maggior parte dei progetti, il plugin Zencache che svolge un lavoro perfetto coniugato con una semplicità di utilizzo estrema: basta attivare il plugin e dimenticarsi della sua esistenza.

Questo plugin, nela sua versione gratuita, ha però alcune “note dolenti”: ad esempio non permette di consegnare il contenuto cachato agli utenti loggati e non ha alcuna funzionalità di autogenerazione della cache (è quindi necessario che “il primo utente” visualizzi le pagine per crearle e farle cachare, è ovvio che questo utente vedrà il sito più lentamente degli altri), se servono caratteristiche simili su può acquistare la versione a pagamento di Zencache o rivolgersi al più complesso (e completo) W3 Total Cache

Ottimizzazione delle immagini

Immagini troppo grandi, possono rendere la dimensione della pagina eccessiva e, di conseguenza, rallentarne vistosamente il caricamento, qui abbiamo 2 soluzioni: o ci ricordiamo di ottimizzare le immagini che caricheremo sul sito di volta in volta, o ci affidiamo a un plugin; in quest’ultimo caso possiamo pensare a Imsanity o a Wp Smush che riducono automaticamente le dimensioni delle immagini mentre vengono caricate, il secondo è utile soprattutto per intervenire su immagini già presenti.

Conclusione

Quelle che ho descritto, sono tecniche base che comunque permettono di ottenere risultati più che apprezzabili nella maggior parte dei progetti, rimando a successivi articoli la descrizione di tecniche più complesse come il caricamento selettivo dei javascript o il rinvio del caricamento degli stessi tramite l’attributo “defer” o “async”.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn