Avete effettuato un test delle performance del vostro sito su Google PageSpeed Insight e vi รจ stato restituito l’avviso Serve Static Content From a Cookieless Domain? In questo articolo vi spiegherรฒ cos’รจ questo errore, perchรฉ compare e come risolverlo in modo efficace.
Prima di iniziare, tuttavia, รจ necessario chiarire cos’รจ un dominio cookieless.
Indice
Cos’รจ un dominio cookieless (o cookie-free)?
Un dominio cookieless o cookie-free รจ un dominio web privo di cookie; “cookie-less” puรฒ essere tradotto in italiano come “senza cookie”.
Se il server imposta un cookie per un determinato dominio, tutte le successive richieste HTTP per quel dominio dovranno includere il cookie. In un dominio cookieless, viceversa, non transitano cookie tra il server ed il client.
Un dominio si dice quindi cookieless quando il server non trasmette alcun cookie all’interno delle intestazioni HTTP presenti nelle risposte verso i client e questi ultimi, di conseguenza, non (ri)trasmettono il cookie nei successivi scambi.
Qual รจ il vantaggio di un dominio cookieless?
Un dominio privo di cookie consente un dialogo “piรน leggero” con il client, in quanto non vi รจ trasmissione di cookie, a tutto vantaggio delle performance. La velocitร di caricamento delle pagine รจ un fattore cruciale per il SEO e per l’esperienza utente.
Ovviamente i cookie non possono essere eliminati del tutto (inutile spendere parole sulla loro importanza), ma in determinati contesti disporre di un dominio cookie-free puรฒ rivelarsi utile, specialmente per l’erogazione di contenuti statici.
Questo รจ quanto ci ricordano diversi speed-test per siti web con messaggi del tipo:
- “use cookie-free domains” (“utilizza domini senza cookie”);
- “serve the following static resources from a domain that doesn’t set cookies” (“fornire le seguenti risorse statiche da un dominio che non utilizza i cookie”);
- “serve static content from a cookieless domain” (“servire contenuti statici da un dominio senza cookie”).
Risorse statiche e domini senza cookie
Certain types of resources available online do not require cookies. These are the so-called static resources, meaning files that do not change based on interaction with the client but remain constant. Examples of static resources include images (such as JPG or PNG files), CSS stylesheets, JavaScript files, documents (PDF, DOC, etc.), and multimedia files (MP3, MP4, WAV, etc.).
Tutti questi contenuti non necessitano di cookie per svolgere i loro compiti, quindi la modalitร ottimale per distribuirli in rete รจ attraverso un dominio cookieless. Cosรฌ facendo, l’accesso a queste risorse sarร piรน veloce e verranno risparmiati numerosi dati inutilmente scambiati tra server e client.
Come risolvere il problema?
Abbiamo detto che le risorse statiche dovrebbero essere fornite tramite un dominio senza cookie. Ma come possiamo fare – in concreto – a risolvere il problema?
Le soluzioni sono due:
- Utilizzo di una CDN: per ottimizzare il content delivery, potrebbe essere una buona idea far ricorso a una CDN (Content Delivery Network) come KeyCDN. Questi particolari provider forniscono strumenti idonei alla distribuzione delle risorse statiche su scala globale, adottando, tra le altre cose, la rimozione dei cookie inutili.
- Creazione di un dominio cookieless: se non vogliamo sostenere il costo di una CDN, possiamo creare da soli il nostro dominio senza cookie. Vediamo di seguito come procedere, avendo a disposizione i normali strumenti forniti dai tradizionali hosting provider.
Creare un dominio senza cookie
Per creare un dominio cookieless, possiamo decidere di registrare un nuovo nome oppure optare per un dominio di terzo livello. Quest’ultima possibilitร appare la piรน logica e pratica.
La prima cosa da fare sarร accedere al DNS del nostro dominio e creare un terzo livello (ad esempio “static.miosito.it”). La procedura per la creazione di un dominio di terzo livello cambia da provider a provider, ma solitamente si tratta di un processo molto semplice che, una volta concluso, creerร una nuova cartella all’interno dello spazio web associato al dominio principale.
All’interno di questa cartella inseriamo un semplice file .htaccess avente il seguente contenuto:
Header unset Set-Cookie
Header unset Cookie
In pratica, mediante il file .htaccess, abbiamo rimosso dalle intestazioni (Header) le direttive Set-Cookie e Cookie, precludendo, pertanto, l’invio di cookie al client.
Per essere piรน precisi:
- Set-Cookie รจ l’intestazione HTTP con la quale il server invia i cookie al client (quest’ultimo li reinvierร al server in ogni successiva comunicazione);
- Cookie รจ l’intestazione HTTP che contiene tutti i cookie HTTP memorizzati, precedentemente inviati dal server tramite l’intestazione Set-Cookie.
Rimuovendo queste due direttive, la comunicazione server-client sarร , quindi, priva di cookie!
Non resta che trasferire tutte le risorse statiche del sito su questo nuovo dominio e, di conseguenza, modificare i link originali puntandoli sulla nuova destinazione dei file.
Dopo aver concluso le modifiche, proviamo nuovamente ad effettuare il test delle performance del sito su Google PageSpeed Insight: se abbiamo svolto correttamente i vari passaggi descritti, il tool non dovrebbe piรน restituirci il messaggio in oggetto.