Logo SEOCAST

Come velocizzare WordPress?

Vuoi migliorare la velocità di WordPress. Il tuo sito è lento e non sai come poterlo ottimizzare al meglio. In questa guida ti spiego alcune attività che puoi svolgere per ridurre i tempi di caricamento del tuo sito web. 

WordPress è un Content Management System tra i più diffusi al mondo. Nel corso del tempo sono stati sviluppati plugin, funzionalità nuove e template di ogni genere. Questa diffusione e crescita esponenziale si è portata dietro una serie di problematiche legate alla velocità di erogazione delle risorse che cercheremo di risolvere!

Parleremo di:

  • ottimizzazione del database;
  • ottimizzazione dei template e delle immagini;
  • sistemi di compressione e cache delle risorse statiche (CSS, Javascript e immagini);
  • gestione della cache per Apache e NGINX tenendo conto delle best practice di Google;
  • sistemi di Content Delivery Network (CDN);
  • plugin utili per aumentare la velocità di caricamento delle risorse;
  • tipologia di hosting e quale scegliere in base al progetto.

Se vuoi partire bene sui motori di ricerca ho preparato un corso per WordPress che ti permette di svolgere tutte le ottimizzazioni necessarie prima di pubblicare il tuo sito on-line. Lo hai già pubblicato? Non ti preoccupare sei sempre in tempo per farle.

Prima di passare alla pratica voglio lasciarti ad un video introduttivo sui diversi punti da migliorare per aumentare la velocità del tuo sito.

Test sulla velocità del tuo sito

Gli strumenti più utilizzati per valutare la velocità di un sito sono tre:

  • GTMetrix
  • Page Speed
  • PingDom

GTMetrix

GTMetrix a mio parere è uno strumento semplice da interpretare e completo nelle metriche sulla velocità. Nella sua versione senza registrazione non si può decidere il server da cui effettuare il test. 

Una volta terminata l'analisi ci restituisce una serie di punteggi (score) che indicando le prestazioni della pagina analizzata,  i tempi di caricamento e le correzioni che si possono effettuare per migliorare la velocità.

Homepage GTMetrix
GTMetrix - Homepage

Google Page Speed

Google PageSpeed Insights è lo strumento messo a disposizione gratuitamente da Google. L'interfaccia è molto semplice e alla fine dell'analisi permette di avere una panoramica delle problematiche e di come risolverle.

Anche Google Page Speed ha degli intervalli che ti fanno capire se il tuo sito deve migliorare poco, molto o e già perfetto!

Gli intervalli sono:

  • 0-49 sei lento
  • 50 - 89 nella media
  • 90 - 10 sei veloce

 Gli intervalli sono uguali sia per il mobile che per il desktop in modo da avere dei termini di paragone. Potresti ritrovarti ad avere un sito veloce per il desktop e lento per il mobile. 

Se sei lento per il mobile è ora di correre ai ripari.

Homepage Google PageSpeed Insights
PageSpeed - Homepage

PingDom

PingDom è un sistema di monitoring ben congeniato sia per l'interfaccia facile e comprensibile sia per il meccanismo di analisi.

È un sistema a pagamento ma puoi provarlo gratuitamente per 14 giorni.

Homepage PingDom
PingDom - Homepage

Quale strumento scegliere?

Un mio personale consiglio è quello di iniziare da Google Page Speed e GTMetrix. Se poi per il tuo progetto hai bisogno di uno strumento più sofisticato che monitori costantemente il tuo business on-line allora puoi utilizzare PingDom.

APACHE e NGINX

Apache e NGNIX sono i web server più diffusi, ognuno con le proprie caratteristiche e punti di forza. In questo articolo voglio mostrarti come configurare alcune ottimizzazioni per la velocità senza dover utilizzare un sistema di CDN. Se sei all'inizio per ridurre i costi potresti scegliere di configurare ed impostare al meglio il tuo web server. Quando il tuo progetto prenderà il volo ed avrai dei guadagni stabili potrai decidere di adottare un sistema di Content Delivery Network per ridurre il carico del tuo server e migliorare ulteriormente la velocità di erogazione delle risorse.

Best Practice

Prima di iniziare le configurazioni del server voglio riportare alcune best practice che consiglia Google.

  • Riduci al minimo il numero di richieste che deve effettuare il client (browser) verso il server
  • Riduci al minimo il numero di byte inviati dal server al client
  • Riduci il numero di script e risorse esterne che le tue pagine richiamano, sono inclusi: script javascript, immagini, video, fogli di stile ecc.
  • Scegli la politica di cache più opportuna per le risorse che compongono il tuo sito

Di seguito ti riporto i valori che indica Google per il caching delle risorse:

  • File immagini: 1 anno
  • Icon:  1 anno
  • Fogli di stile: 1 mese
  • Librerie Javascript: 1 mese
  • File PDF:  1 mese

Apache e .htaccess

Apache è uno dei web server più diffusi sugli hosting condivisi. Le configurazioni più particolari le puoi svolgere solo se gestisci ed hai i permessi di amministratore di sistema altre invece puoi farle all'interno del tuo spazio di hosting. 

Accedi al tuo server, di solito tramite un account FTP (File Transfer Protocol). Spostati nella root del dominio e apri il file .htaccess

All'interno di questo file inserisci le seguenti direttive. Grazie a queste istruzioni il server inserirà nell'header della risposta un istruzione per la cache del browser.

ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"

Se hai altri formati aggiungi la direttiva con il Content-Type (es. image/jpg) della risorsa.

Abilitare il protocollo HTTP/2

Per abilitare il supporto alla versione 2 del protocollo HTTP devi poter accedere alla configurazione del Virtual Host del tuo server Apache.

A questo punto abilita il modulo http2, digitando:

a2enmod http2

Non ti rimane che riavviare il server tramite il comando service, systemctl o apachectl. Con apachectl devi digitare apachectl restart.

Nel file VirtualHost dovrai inserire le seguenti istruzioni

Protocols h2 http/1.1 
ServerAdmin info@nomedominio.com
ServerName nomedominio.com
...

Adesso riavvia nuovamente Apache digitando apachectl restart

NGINX e File di configurazione

NGINX è meno diffuso e se vuoi utilizzare questo web server solitamente e perché sai quello che vuoi, hai un VPS e sai di potercela fare da solo. Per effettuare le medesime configurazioni che hai svolto su Apache devi aprire il file di configurazione del virtualHost che trovi in:

 /etc/nginx/sites-enabled/nomedominio

Inserire il valore http2. Se hai il tuo server in ascolto sulla porta 443 dovrai aggiungere al blocco server il valore http2, in questo modo:

 server { 
 listen 443 ssl http2; 
 ... 

Adesso riavvia NGINX però prima guarda che le configurazioni siano corrette digitando il comando:

 nginx -t 

A questo punto non ti rimane che riavviare il server digitando:

service nginx restart

Attivazione della compressione

La compressione è un altro elemento utile per l'ottimizzazione della velocità di WordPress. La puoi attivare sia sul server che su un'infrastruttura CDN.

Attivare la compressione su Apache

Per attivare la compressione dei file sul tuo server Apache inserisci le seguenti direttive nel file .htaccess.

AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

A questo punto non ti rimane che riavviare Apache tramite il comando apachectl restart.

Attivare la compressione su NGINX

Per attivare la compressione devi andare nel file di configurazione di NGINX.

Accedi al server e modifica il file seguente:

 nano /etc/nginx/nginx.conf

A questo punto aggiungi le seguenti direttive.

gzip on;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/javascript text/xml \ 
application/xml application/xml$

Adesso riavvia il server digitando service nginx restart

Fai qualche test

Apri la bash oppure il vostro subsystem su Windows e digitate:

 curl -I -L nomedominio.com

Nel mio caso digito:

 curl -I -L https://seocast.it

Il mio server risponde quello che ti ho riportato nell'immagine qui sotto.

[Immagine]

Adesso sei sicuro che eroghi le risorse con il protocollo HTTP v2.

Un ultimo test. Accedi a questo strumento on-line HTTP Compression Test che ti indica se la compressione è attiva o meno.

Hosting

L'hosting è un elemento a cui inizialmente si presta poca attenzione ma che con il tempo diventa uno degli elementi limitanti per un progetto di business.

Limitante perché molte configurazioni ed ottimizzazioni possono essere fatte solamente se si ha un discreto margine di azione cosa che diventa difficile sugli hosting condivisi per ovvie ragioni di convivenza tra i domini ospitati sulla stessa macchina.

Come valutare le performance di un hosting?

Alcune metriche di valutazione sono:

  • le caratteristiche del servizio offerto
  • l'infrastruttura che dichiarano sul loro sito
  • capacità del network e quindi banda in ingresso e in uscita
  • il numero di siti che ospitano per server, se decidi di scegliere un hosting condiviso. Tieni conto che in molti casi devi procurarti questa informazione valutando i risultati che ti restituisce questo tool DNSLytics

Quali utilizzo per i progetti personali o dei miei clienti?

Come hosting utilizzo solitamente dei Virtual Private Server che configuro da zero. Ad ogni modo ti elenco alcune società di hosting a cui mi appoggio per i servizi condivisi in base al budget del progetto e all'orizzonte temporale.

Servizi di hosting condivisi:

  • Serverplan: ottimo servizio e assistenza
  • OVH: discreto servizio e assistenza, i prezzi sono bassi
  • Siteground: discreto servizio e assistenza, i prezzi sono bassi

 Servizi su cui attivare un VPS:

  • Serverplan: ottimo servizio e ottima assistenza, prezzi un po' cari
  • Digital Ocean: ottimo servizio e ottima assistenza
  • Amazon AWS: ottimo servizio e discreta assistenza
  • OVH: discreto servizio e buona assistenza
Come consiglio personale se hai un business on-line inizia fin da subito a fare le cose per bene e ad investire qualche soldo in più per un VPS, i cui prezzi sono scesi molto negli ultimi anni. Ti darà la possibilità di fare tutte le configurazioni di cui hai bisogno e ti permetterà di sperimentarne di nuove.

Content Delivery Network (CDN)

Una content delivery network è un infrastruttura hardware e software che ti permette di erogare più velocemente le risorse statiche (CSS, javascript, immagini, PDF ecc.) tutte quelle risorse a cui non occorre un web server per essere interpretate. In questo video ti spiego brevemente come funziona e perché può tornare utile per migliorare la velocità di WordPress. 

Diagramma infrastruttura di una Content Delivery Network
Content Delivery Network (CDN)

Servizi di CDN

Esistono diverse società che offrono questo servizio. Di seguito te ne elenco alcune che utilizzo per i miei progetti personali e per i miei clienti.

Utilizzo Amazon CDN e per alcuni progetti CloudFare o MaxCDN che tra l'altro è stata acquisita da StackPath.

Configurazione CDN con Amazon AWS

Configurare una CDN è abbastanza semplice con Amazon. Avrai bisogno di un minimo di conoscenze sistemistiche perché devi creare un sotto-dominio per il puntamento alle risorse statiche. Le attività da svolgere sono:

  1. Creare un sotto dominio es. cdn.nomedominio.it
  2. Accedere ad Amazon AWS, creare un bucket S3 ed una rete di distribuzione CloudFront
  3. Accedere alla sezione Zone DNS del tuo hosting ed inserire un record CNAME
  4. Puntare il DNS al dominio della rete di distribuzione CloudFront. Sarà qualcosa del tipo xy232811.cloudfront.com

Una volta svolto questi passaggi non ti rimane che lasciare propagare i DNS e accedere alle tue risorse statiche digitando cdn.nomedomini.it/file.png.

Migliorare la velocità di WordPress

I punti sui cui concentrarsi per aumentare la velocità sono due. Il tema e il plugin. Per il tema ti consiglio di sceglierne uno a pagamento che sia già SEO Friendly. Per quanto riguarda invece i plugin ti consiglio di installarne il meno possibile e solo se strettamente necessari. Molte volte mi ritrovo con siti che hanno installato di tutto senza utilizzarli e dimenticandosi di disattivarli.

Un consiglio è quello di disattivare tutti i plugin e prima di riattivarli chiederti: mi serve realmente o ne posso fare a meno? Vedrai che riattiverai solo quelli necessari al corretto funzionamento del tuo sito.

Plugin di Cache

Plugin di caching delle risorse ce ne sono molti. Quello più diffuso è W3 Total Cache. In questo articolo ti parlo di entrambi anche se per esperienza personale preferisco utilizzare Swift Perfomance Lite. Se vuoi imparare ad utilizzarlo ti rimando al corso per WP in cui ne parlo.

  • W3 Total Cache
  • Swift Performance Lite

Entrambi i plugin hanno tutte le funzionalità di base che ci occorrono per ottimizzare la velocità. Ti permetteranno di integrare un servizio di CDN esterno, di abilitare una cache software, di effettuare il minify del codice (riduzione dei byte del file) e accorpamento delle risorse in modo da ridurre il numero di richieste HTTP.

W3 Total Cache

Come prima attività dovrai ricercarlo trai i plugin ed installarlo. Una volta terminata l'installazione accedi alle configurazioni e ....

Swift Performance Lite

Anche per questo plugin dovrai installarlo e configurarlo. Trovi tutte le spiegazioni e come fare in questo corso base per WP. Ti spiego le diverse impostazioni e quali dovresti attivare.

Questo plugin è molto interessante perché ti permette di effettuare ottimizzazioni anche a livello di Database. Ottimizzerà le query più ricorrenti permettendoti di migliorare il tempo tra la richiesta dell'utente e la risposta del server

Compressione delle immagini

La compressione delle immagini è un'attività che ti permette di ridurre le dimensioni dei file che carichi. Con il servizio di Content Delivery Network e uno script o plugin che ti comprima le immagini riuscirai a ridurre le dimensioni del file ed erogarle all'utente molto più velocemente.

Un plugin che ti consiglio di installare è sviluppato da TinyPNG il noto servizio di compressione on-line delle immagini.

Prossimi STEP

Ottimizzare WordPress non richiede molto tempo ma ti permette di ottenere diversi vantaggi in termini di tasso di conversione che si traduce in aumento di fatturato per il tuo business. Consulta il corso SEO di base per Wordpress, che trovi su SEOCAST, per migliorare tutti gli elementi essenziali e creare delle fondamenta solide per il tuo sito!

  • Logo pagamenti paypal

SEOCAST è una proprietà di FALISPA SNC - P.IVA IT2634010025 | REA 201241 - Copyright 2018