Chiamate cookieless per gli assets usando Google Analytics o GetClicky

 
Front end performance

Come abbiamo visto nell'articolo precedente è cosa buona e giusta che le richieste effettuate per la ricezione di file statici (immagini, css e js) avvengano attraverso chiamate a cui non sono impostati cookies, in modo da ridurre il traffico generato e le richieste effettuate. Questo è consigliato sia da Yahoo che da Google. Un modo molto semplice è usare un dominio differente o un sottodominio andando ad impostare i cookies in modo che questi non rispondano al dominio indicato.

Spesso, però, questo non è proprio così semplice da realizzare a causa dei sistemi di tracciamento utilizzati. Vedremo come risolvere questo problema per i più comuni.

Innanzitutto indichiamo come nostro sito www.demo.tdl ed ipotiziamo di avere inserito le immagini nel sottodominio img.demo.tdl. Se attiviamo Google Analytics o getClicky vedremo che vengono creati dei cookies che si rivolgono all'interno dominio demo.tdl e di conseguenza anche gli asset presenti in img.demo.tdl verrebbero tracciati attraverso i cookies.

Google Analytics

Per risolvere è necessario specificare che i cookies si riferiscono esclusivamente al dominio principale www.demo.tdl. Con Google Analytics è necessario andare ad inserire, prima della chiamata al tracciamento della pagina, la chiamata che specifica a che dominio andare ad assegnare i cookies che verranno creati, quindi per esempio avremo:

var pageTracker = _gat._getTracker("UA-AAAAAAAA-X");
pageTracker._setDomainName(".www.demo.tdl");
pageTracker._trackPageview();

in questo caso le chiamate al domino img.demo.tdl non verranno tracciate usado i cookies. Notate il punto prima del www all'interno della dichiarazione del dominio.

GetClicky

Nel caso in cui, invece, come strumento di tracciamente steste usando getclicky le cose sono leggermente più complesse, infatti questo strumento automaticamente rimuove il WWW iniziale del dominio prima di settare i cookies, ma è comunque possibile risolvere usando il seguente codice:

clicky.set_cookie = function (name, value) {
  var ex = new Date; ex.setTime(ex.getTime() + 20 * 365 * 86400 * 1000);
  document.cookie = name + "=" + value + ";expires=" + ex.toGMTString() + ";path=/;domain=." + location.hostname + ";";
}
clicky.init(XXXXXX);

in questo caso specifichiamo che il dominio di cui effettuare il tracciamento è solamente il dominio principale.

Con questi accorgimenti con entrambi i traccianti le richieste verso i sottodomini non effettueranno le chiamate con i cookies riducendo così i tempi di caricamento per l'utente finale.

Altri contenuti che potrebbero interessarti

  • Nello sviluppo di siti web è preferibile operare in locale e trasferire il tutto sul server remoto solo una volta che si è ottimizzata la configurazione per lo scopo che ci si è prefissi. Ciò permette di avere una maggior velocità poiché non è necessario operare sul server trasferendo i file ogni...
  • Caricamento di un form tramite ajax
    Nella creazione di form può essere necessario procede con passi successivi in una serie di scelte, questo comporta una perdita di tempo per gli utenti e quindi è molto comodo sfruttare le potenzialità offerte da ajax per effettuare questi passaggi in cascata senza dover andare a ricaricare la...
  • Drupal si occupa esclusivamente della validazione lato server delle informazioni, ma spesso è consigliabile prevedere ad una prima validazione dei dati inseriti dall'utente lato client, in modo da evitare l'invio della richiesta limitando quindi le possibilità di errore. Ovviamente la validazione...
  • SASS per i CSS
    I CSS sono uno degli elementi che nel corso degli anni, nel settore del web, si sono meno evoluti dal pundo ti vista della struttura utilizzata. Nelle corso delle diverse versioni sono state aggiunge solo proprietà e selettori nuovi. Probabilmente penserete: Se non sono cambiati tantomeglio, evito...

Commenti

Ritratto di Marco Cilia

c'è da dire che però questo

c'è da dire che però questo ti impedirebbe di tracciare ANCHE dei sottodomini tipo miosub.demo.tdl con lo stesso codice di tracciamento, e il tutto si risolverebbe nel ritrovarsi dominio e sottodominio come referrer l'uno dell'altro per i travasi.

Ritratto di mavimo

Dipende dall'uso..

Ovviamente dipende dall'uso che se ne desidera fare, usare sottodomini dovrebbe comunque essere possibile (non ho provato, quindi prendi il tutto con le pinze) andando ad impostare per il sottodominio nuovamente lo stesso codice di tracciamento.

In ogni caso perchè usare sottodomini per trasterire gli utenti?

Invia nuovo commento





  • Elementi HTML permessi: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <h2> <h3> <h4> <table> <thead> <tbody> <tr> <th> <td>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • Linee e paragrafi vanno a capo automaticamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.



Condividi contenuti