Come velocizzare WordPress

La velocità di un sito web, per fini SEO, è una delle cose fondamentali da prendere in considerazione. Più è veloce il sito e migliore è l’esperienza dell’utente. In questo modo, aumentando la velocità, aumentano esponenzialmente anche visualizzazioni e di conseguenza il posizionamento nei motori di ricerca.

Come velocizzare WordPress

La prima cosa da fare è analizzare il sito per capire qual è la giusta procedura da seguire per velocizzare il tutto.

Per analizzare il sito si possono utilizzare:

Grazie a quesi strumenti si può avere un’indicazione su cosa migliorare.

Tre sono i principali fattori da analizzare quali

  1. TTFB: ovvero il tempo di risposta del server prima di inviare i dati al browser per caricare la pagina. Minore è questo valore migliore è il tempo di caricamento.
  2. Dimensione immagini: più sono leggere le immagini e maggiore è la velocità di caricamento.
  3. Script esterni: più sono gli script che vengono caricati esternamente al sito, maggiore è il tempo di caricamento in quanto deve attingere a risorse esterne.

Per migliorare il tempo di caricamento del proprio sito web sicuramente la scelta del servizio di hosting che deve essere adeguato a ciò che si vuole realizzare. La qualità del servizio è direttamente proporzionale alla velocità del sito. Un buon servizio hosting può offrire piani che permettono di avere un TTFB bassissimo. Non ci si aspetta mai, da un hosting economico, prestazioni stratosferiche e velocità. Preferire un servizio che include sistemi di cache integrati è un’ottima scelta. Su vHosting sono presenti piani con Varnish Cache e Litespeed. A questo link ci sono alcuni suggerimenti per scegliere il servizio hosting.

Per le immagini è suggeribile convertirle tutte in formato JPG per il web con dimensioni non maggiori a 1024*768 (ed è già tanto!). Da evitare formati PNG in quanto pesano maggiormente e rallentano di più il caricamento della pagina. Se si hanno articoli già esistenti e si ha accesso alla shell ssh si può seguire questa guida per alleggerire le immagini.

Utilizzare un sistema di cache può aiutare a migliorare il caricamento del sito. Utilizzare una CDN o plugin specifici può essere un buon modo per aumentare la velocità del sito. Si potrebbe, ad esempio, utilizzare la CDN gratuita di cloudflare, già presente in tutti i piani di vHosting. Inoltre, ci sono plugin di cache come w3Total Cache, WP Super Cache e WP-Rocket. Tra questi sicuramente WP-Rocket permette di avere maggiori prestazioni rispetto ad altri plugin. Questi plugin eseguono anche il minify di JS e CSS. In alternativa si può usare Autoptimize.

Avere un design leggero e pulito può aiutare il caricamento del sito e la sua fruibilità. È preferibile utilizzare temi ottimizzati che permettono di snellire il tempo di caricamento. Senza molti richiami esterni.

Attivare, tramite modifica al file .htaccess, il mod_deflate e il mod_expires è un’ottimo modo per velocizzare il caricamento delle pagine web.

Eccone un esempio

##DEFLATE ##
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
##DEFLATE ##

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
</IfModule>
## EXPIRES CACHING ##

Limitare il caricamento nel DB aiuta a snellirlo e rendere più veloce la lettura/scrittura. Ad esempio, ridurre il numero di revisioni salvate aiuta molto. Inserendo questo codice

define( 'WP_POST_REVISIONS', 4 );

si salveranno solo le ultime 4 revisioni nel DB eliminando il resto.

Si può utilizzare un plugin come WP-Sweep per ripulire il DB da tutto ciò che non è più utile.

Bloccare gli hotlink, ovvero i richiami esterni al proprio sito, è una pratica sicuramente da mettere in atto in quanto i richiami esterni possono rallentare il caricamento del sito.

Inserendo nell’htaccess questo

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?sito.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

Solamente google.com e  sito.com potranno prelevare e riutilizzare le immagini.

Usare l’ultima versione di PHP, oltre che essere maggiormente sicuro, aiuta a snellire il caricamento del sito in quanto le performance di PHP vanno migliorando di aggiornamento in aggiornamento.

[…IN AGGIORNAMENTO…]