Mercoledi 18 Luglio 2018
MarketingQuando l’ottimizzazione SEO è anche questione di millisecondi

Quando l’ottimizzazione SEO è anche questione di millisecondi

L’ottimizzazione SEO passa anche per il page load time che è il tempo impiegato per scaricare e visualizzare una pagina web nel browser.


Pierangelo Polito

A cura di: Pierangelo Polito Autore Inside Marketing

Quando l’ottimizzazione SEO è anche questione di millisecondi

Ottimizzare un sito web per la SEO è un’attività che richiede il giusto bilanciamento tra gli elementi che costituiscono il “mondo del web”, ovvero chi cerca (utente), chi aiuta a cercare (motore di ricerca) e la fonte (il sito). Uno degli elementi principali relativi all’ottimizzazione del sito è il page load time che a sua volta può essere “suddiviso” in sottoargomenti, tra cui vi è la voce “server”. Riuscire a trovare il giusto setting del server (hardware/software) può permettere di migliorane le performance, in particolare riguardo agli hosting che, diversamente dalle soluzioni VPS, cloud o server dedicato, hanno delle limitazioni nelle configurazioni.

Dunque, scegliere l’hosting  più adatto diventa fondamentale per poter ottimizzare la velocità di caricamento delle pagine.

Per approfondimenti su: "ottimizzazione di un sito web"
Come ottimizzare un sito con il neuromarketing e le scienze cognitive

Cos’è il page load time?

Il page load time è una metrica delle prestazioni dei siti web che influisce direttamente sul coinvolgimento degli utenti; essa indica, inoltre, quanto tempo impiega una pagina a caricarsi completamente nel browser dopo che un utente fa click su un link o effettua una richiesta.
Secondo alcune stime, il tempo medio di caricamento di una pagina web corrisponde a 2,5 secondi per la versione desktop e a 3-4 secondi per il mobile.

page load time schema

Fonte: https://www.maxcdn.com/one/visual-glossary/page-load-time/

Tuttavia, esistono diversi fattori che influiscono sul tempo di caricamento della pagina:

  • server di hosting (configurazione e hardware);
  • larghezza di banda in transito;
  • design e coding della pagina web
  • numero, tipo e peso degli elementi sulla pagina.

Altri fattori, poi, includono la posizione dell’utente, il dispositivo e il tipo di browser.

È possibile, comunque, individuare per macrocategorie gli elementi che determinano il valore del page load time, come mostrato dalla seguente infografica.

page-load-time-factor

Quanto è veloce il mio sito?

Per provare ad avere un’idea dei tempi di caricamento delle proprie pagine web esistono diversi strumenti da poter utilizzare:

Altro dato che può essere di aiuto – ma più semplice e solo indicativo – è presente nella search console di Google: accedendo dal menu scansione a statistiche di scansione, tra i vari grafici che appaiono vi è quello che indica il tempo che lo spider di Google impiega per avere accesso alla pagina del proprio sito e riporta una tabella di valori in base all’unità di tempo.

google-search-console

SEO: non solo keyword e semantica

È ormai un dato di fatto che la velocità di un sito – in particolare per quanto riguarda il mobile, ma non va sottovalutata per il desktop – è uno dei fattori di ranking per Google che contribuisce a scalare la SERP. Il 17 gennaio 2018 l’azienda ha dichiarato che nel mese di luglio 2018 verrà introdotto lo speed update, un aggiornamento che avrà effetto principalmente sulle ricerche da mobile. Un passo davvero importante che va a completare un percorso che iniziato nel 2010 quando Google aveva imposto la velocità di caricamento come elemento primario ai fini del posizionamento nella SERP in versione desktop.

Perché è così importante la velocità di caricamento di un sito (principalmente da mobile ma anche da desktop)? La risposta sembra abbastanza scontata, perché a nessuno piace attendere, eppure secondo l’ultimo report di Google (febbraio 2017) “Mobile page speed new industry benchmarks” in realtà non lo è.

mobile-page-speed-new-industry-benchmarks

Come si legge nel documento, infatti, «per il 70% delle pagine analizzate sono occorsi circa 7 secondi perché il contenuto visual above the fold venisse visualizzato sul display, mentre sono stati necessari più di 10 secondi per caricare completamente il contenuto visual above and below the fold». Questo è un problema perché, considerando che il tempo di caricamento della pagina può variare da 1 secondo a 7 secondi, in base a ciò che è stato rilevato da una rete neurale messa a punto dall’azienda, «la probabilità di un rimbalzo dell’utente del sito mobile aumenta del 113%». Inoltre, dopo aver analizzato 900mila landing page di mobile ads di 126 diversi paesi è emerso che «la maggior parte dei siti mobile è lenta e sovraccarica di elementi».

La comunicazione browser/server

Gli elementi del page load time che riguardano il server, come riportato nella seconda infografica, sono:

  • riduzione del tempo di risposta;
  • caching header;
  • utilizzo di CDN;
  • compressione dati.

Per comprendere al meglio queste voci occorre fare una piccola premessa, in maniera semplificata, sul modo in cui vengono visualizzati i siti nel browser. Ogni volta che si digita oppure si clicca su un link, il browser invia una “richiesta” all’url indicato; la richiesta arriva al server – dove è ospitato il sito – che “risponde” inviando al browser la pagina richiesta. La pagina, poi, può essere “statica” (cioè non richiede alcuna elaborazione sul server prima di essere inviata) o “dinamica” (cioè richiede delle elaborazioni sul server, come per esempio l’interrogazione di un database).

Il browser che riceve la pagina (dinamica o statica) “legge” il codice contenuto in questa e inizia a richiamare tutti gli “elementi statici” (foto, css, javascript, font, etc.) – cioè invia altre richieste al server – per ogni elemento necessario ad arrivare al risultato finale che è la pagina come la si vede infine.

Per fare un esempio: una pagina web con una gallery che contiene 10 foto, 1 foglio css, 2 file javascript per essere visualizzata nel browser effettua in totale 14 richieste (13 elementi + se stessa); se 10 persone visitassero la pagina nello stesso momento, 10 browser invierebbero 14 richieste ed il server dovrebbe rispondere singolarmente a ognuna di loro.

È necessario, allora, considerare anche il tempo impiegato per inviare i contenuti durante ogni fase di richiesta/risposta; questo dipende da alcuni fattori tra cui la dimensione dei file (un file di 1MB necessita di più tempo di un file di 500kB). Da ciò ne consegue che più un server deve “lavorare” per rispondere ed elaborare richieste, più sarà il tempo necessario per ognuna di esse. Questo può generare una percezione negativa sia nell’utente, che visualizzerà la pagina lentamente, sia negli spider dei motori di ricerca.
Dunque, riuscire ad alleggerire il “carico di lavoro” del server, in particolare per l’hosting dove vi sono risorse hardware limitate, è importante e per fare ciò è possibile prestare attenzione ad alcuni accorgimenti.

Come scegliere l’hosting più adatto?

Scegliere un hosting non è sempre una cosa semplice. Bisognerebbe partire certamente non dal prezzo, che corrisponde alla fase finale, ma dall’analisi delle risorse necessarie affinché l’applicativo che si ha intenzione di installare possa funzionare al meglio: dal tipo di assistenza fornita ai servizi inclusi e aggiuntivi, dai settaggi possibili ai limiti di banda, fino ai certificati ssl, etc.

Ritornando ancora sui punti dell’infografica relativi al server, si cercherà di comprenderne il loro utilizzo arrivando a definire i requisiti necessari che un hosting deve avere per poterli attivare, al fine di ottimizzare il page load time.

HTTP CACHING

Con l’http caching si ha la possibilità di ridurre le richieste che il browser invia al server per gli “elementi statici”, in quanto è possibile riutilizzare risorse già scaricate da esso. Ritornando all’esempio precedente: se dalla pagina della gallery si torna all’indice e si sceglie una nuova gallery, non verranno più inviate al server 14 richieste ma solo 11, poiché i file css e javascript sono già presenti nella cache del browser. Per attivare il caching, comunque, è necessario che l’hosting permetta l’utilizzo di file di configurazione aggiuntivi dell’applicativo “web server” (apache/nginx/iis).

COMPRESSIONE DATI

La funzione gzip-compression permette di ridurre il “peso”, ossia la dimensione dei file che vengono inviati al browser, accorciando così i tempi di trasferimento dei dati. La compressione si applica solo a file di tipo testuale, quali html, css e javascript (per foto e video sono necessarie altre tecniche). Anche in questo caso è necessario poter creare un file di configurazione aggiuntivo per l’applicativo web server.

UTILIZZO DI CDN

Il CDN (content delivery network) non è un elemento legato alla configurazione hosting/server, ma tra i benefici del suo utilizzo vi è diminuire il carico di lavoro del server dal punto di vista delle richieste e favorire la distribuzione veloce e sicura di contenuti. In modo molto schematico, il CDN permette di archiviare file statici all’esterno dell’hosting/server primario. Riprendendo l’esempio precedente: la richiesta di pagina gallery, con CDN attivo, invia al server principale una sola richiesta le altre 13 vengono inviate al CDN, poiché i file css, javascript e foto sono archiviati su di esso. Attenzione, però, a non confondere http caching e CDN: l’http caching salva i file nella cache del browser, ma il file originale è archiviato e richiesto dal server principale. Con il CDN, poi, è possibile anche attivare l’http caching, ma il file originale non è richiesto dal server principale.

RIDUZIONE DEL TEMPO DI RISPOSTA

Sebbene i punti sopra indicati abbiano impatto sulla riduzione dei tempi di risposta del server, è opportuno prestare attenzione a ulteriori accorgimenti (hardware e software) per ridurne il carico di lavoro, anche se spesso ciò non è possibile in caso di utilizzo di hosting.

Tra questi accorgimenti, comunque, vi è il caching delle pagine dinamiche fatto con web server e non via scripting, ma anche una ottimizzazione delle performance del database, etc. Nel caso dell’hosting è bene controllare quali versioni dei linguaggi di scripting siano installate e se è possibile scegliere quale di queste utilizzare per ottenere le prestazioni migliori (ad esempio, passare da php 5.6 a php 7.0). In caso di utilizzo di database, invece, sarebbe opportuno verificare se il servizio sia performante per l’applicativo che si utilizzerà (ci sono alcuni hosting che con WordPress, per esempio, hanno problemi sui tempi di risposta delle query al database).

In conclusione, per comprendere in che modo e in che senso i millisecondi possono avere valore per la SEO viene riportato un interessante case. Aggiornando la versione di php alla 7, che risulta essere più performante della 5.6 in particolare con WordPress, si è notata una riduzione del page load time di 300 millesecondi.

php-benchmark

Fonte: Kinsta

A livello di percezione umana questo cambiamento appare nullo, anche se la conferma che si tratti di un dato interessante arriva dalla search console di Google: il tempo di caricamento della pagine è passato da un range medio/basso a basso; dopo alcuni giorni (non effettuando alcun cambiamento sia a livello SEO che di ottimizzazione sito) è emerso che i valori si attestavano in modo costante su “basso” e si è verificato un aumento di visite dalla ricerca organica dell’8% e un miglior posizionamento nella SERP di alcune keyword.

Solo un caso?

© RIPRODUZIONE RISERVATA E' vietata la ripubblicazione integrale dei contenuti