I trucchi che
ti permetteranno di velocizzare
il caricamento delle pagine del tuo
sito Web e portarlo in vetta a Google
Redazione PMI-dome |
05 novembre 2010
Google lo ha ufficialmente ammesso:
la velocità è un fattore determinante
per il posizionamento di
un sito. Per questo motivo, e per venire
incontro alle esigenze degli
esperti
SEO, il colosso di Mountain View ha
introdotto all’interno del
Webmaster Tools
un nuovo strumento chiamato
Page
Speed che permette di analizzare
i problemi di performance di una
pagina Web in modo intuitivo e direttamente
dal browser
Mozilla Firefox (Figura
1).
Lo strumento, oltre a segnalare i
potenziali problemi, fornisce anche dei
suggerimenti e delle funzioni per risolverli.
Alcune delle pecche riscontrabili
con
Page Speed sono facilmente risolvibili
durante
la fase di design del frontend
di un sito, mentre altre necessitano
di qualche conoscenza in più a livello
di sistema. Andando più nel dettaglio, i
fattori che possono dipendere dalle configurazioni
del sistema sono:
• caching;
• compressione.
Quelle relative al
frontend e alla strutturazione
del sito, invece, sono:
• riduzione delle risoluzioni DNS e
dei Redirect;
• minificazione dei file CSS/JS/HTML;
• ottimizzazione delle immagini;
• ordine di caricamento degli elementi
della pagina;
• parallelizzazione e la riduzione delle
richieste HTTP.
Ma, andiamo con ordine e analizziamo in
dettaglio uno per uno tutti questi aspetti.
Figura 1
- Funzione
sperimentale
del Webmaster
Tool per
il controllo
delle prestazioni
del sitoCaching
La stragrande maggioranza delle
pagine Web includono delle risorse
come
file JavaScript, CSS, immagini che
compongono il layout del sito e altre tipologie
di file che vengono modificate
di rado. Nonostante queste risorse cambino
raramente, ad ogni richiesta della
pagina Web vengono comunque nuovamente
scaricate, e questo va ad aumentare
il tempo di caricamento della pagina.
L’HTTP caching permette di
salvare
la risorsa nel browser dell'utente che
visita il sito oppure nei
Proxy dei provider,
con il risultato che la risorsa in cache
non verrà più servita dal sito Web,
ma direttamente dal PC utente oppure
dal proxy. Questo offre un doppio vantaggio:
riduce il round-trip time eliminando
moltissime richieste HTTP necessarie
a ottenere tutte le risorse, e
di conseguenza riduce notevolmente la
dimensione complessiva della risposta
del server; la riduzione del peso totale
della pagina per ogni visitatore di ritorno
di riduce notevolmente anche l’uso
della banda e i costi di del vostro sito.
CompressioneLa
compressione delle pagine Web
può essere ottenuta utilizzando
i sistemi di
compressione gzip o deflate.
Tutti i moderni browser oggi in
circolazione, infatti, supportano la
compressione dei file HTML, CSS e JavaScript,
e dunque permettono di inviare
in Rete dei file più piccoli senza
però perdere nessuna informazione. Il
processo di compressione avviene lato
server tramite l’abilitazione di alcuni
moduli oppure utilizzando degli
script appositi. La compressione
è consigliata per risorse non troppo
piccole in quanto tale processo ha un
suo carico sulla macchina. La soluzione
ideale, quindi, è quella di combinarlo
con dei meccanismi di caching.
Altro aspetto da tenere a mente è
quello di evitare la compressione dei
file in formato binario (come immagini,
video, archivi e pdf) e quindi praticamente
già compressi.
Riduzione?Nel tempo di scaricamento della
pagina influiscono in modo notevole
anche il
numero di risoluzioni
DNS e il numero dei redirect. La
risoluzione
DNS altro non è che il tempo
impiegato dal browser per identificare
la provenienza di ogni singolo
hostname che serve le risorse, a cui si
aggiunge il ritardo causato dal roundtrip
time. L’utilizzo di molti
Widget
all’interno della pagina, dunque, causa
un forte aumento delle risoluzioni
DNS. Di conseguenza è bene utilizzare
i widget con consapevolezza e solo se
portano un beneficio effettivo ai visitatori.
Stesso discorso vale ovviamente
anche per i redirect: è consigliabile
cercare di includere risorse che poi
non rimandano ad altre risorse. Va detto
che, in alcuni casi, come ad esempio
siti che includono molte risorse quali
immagini e video, si possono trarre
benefici dall’utilizzo di diversi hostname,
perché il tempo di risoluzione DNS
viene compensato dalla parallelizzazione
del download di più risorse. Occorre
quindi fare le giuste valutazioni
in base ad ogni singola esigenza.
ParallelizzazioneCome consigliato da Google, il numero
ottimale di host da utilizzare
è tra 1 e 5 (distribuiti in modo che
ci sia 1 host principale e 4 da cui scaricare
le risorse “cacheable”) e il rapporto
tra numero di host e risorse deve
essere di 1 a 6. Dunque, mai impiegare
più hostname se il numero di risorse
utilizzate dalla pagina è inferiore a 6.
Ad esempio: è possibile ipotizzare che
un sito che utilizza un CSS, un Javascript
e 6 immagini non trarrebbe beneficio
nell’usare un ulteriore hostname
che sarebbe giustificabile nel caso
in cui le risorse divenissero 12.
Figura 2 -
Esempio di
parallelizzazione
e corretto
ordinamento