Problemi di rallentamento nel caricamento delle pagine a causa delle righe di Javascript usate per monitorare il sito con Google Analytics? Il team di sviluppo del servizio di Big G ha appena reso disponibile un nuovo snippet di codice che carica lo script in modalità  asincrona, migliorando così le performance generali della pagina. Eccolo:

<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-XXXXX-X']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script');
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
        'http://www') + '.google-analytics.com/ga.js';
    ga.setAttribute('async', 'true');
    document.documentElement.firstChild.appendChild(ga);
  })();

</script>

Il nuovo codice per il monitoraggio (attualmente in beta) può essere usato sin da ora per sostituire quello che si usa attualmente nelle proprie pagine, collocandolo in fondo alla sezione head del documento.

Google ha approntato alcune pagine di documentazione, come questa panoramica che contiene pure le istruzioni di installazione e questa guida alla migrazione del codice con esempi.canadian xenical

10 CommentiDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *

Saranno anche piu' veloci ... ma fanno perdere un sacco di tempo ;-)

sLa
sLa

Grazie per la precisazione: non avevo idea che "creando" l'elemento anziché scriverlo con document.write, si potesse avere un caricamento asincrono. Approfondirò di sicuro questa tecnica!

Daniele De Nobili
Daniele De Nobili

Qualche dettaglio in più qui: http://googlecode.blogspot.com/2009/12/google-analytics-launches-asynchronous.html

The second half of the snippet provides the logic that loads the tracking code in parallel with other scripts on the page. It executes an anonymous function that dynamically creates a element and sets the source with the proper protocol. As a result, most browsers will load the tracking code in parallel with other scripts on the page, thus reducing the web page load time. Note here the forward-looking use of the new HTML5 "async" attribute in this part of the snippet. While it creates the same effect as adding a <script> element to the DOM, it officially tells browsers that this script can be loaded asynchronously. Firefox 3.6 is the first browser to officially offer support for this new feature. If you're curious, here are more details on the official HTML5 async specification.

Fra_T
Fra_T

Non é l'attributo async a rendere il caricamento dello script asincrono, ma l'appenderlo al documento con Javascript: document.documentElement.firstChild.appendChild(ga); In effetti non sono sicura che l'attributo async serva a qualcosa :P

Fra_T
Fra_T

Asincrono? Certo, lo sarebbe davvero se l'attributo async (HTML 5) fosse supportato dai browser. Ma al momento é solo per Firefox 3.6. Personalmente non avrei molta fretta a sostituire il vecchio codice di Analytics.

Daniele De Nobili
Daniele De Nobili

che senso ha metterlo in fondo? il nuovo script é asincrono PROPRIO per essere messo IN CIMA alla pagina e non rallentare :)

Marco Cilia
Marco Cilia

Sui miei siti non noto rallentamenti significativi. Mi sa che attenderò la fine della beta E soprattutto... lo script mettetelo in fondo alla pagina se non volete aver problemi. Meglio una view in meno nelle statistiche che un utente in meno perché si é rotto di aspettare il caricamento ;)

Maurizio
Maurizio

sul mio account Analytics vedo ancora il vecchio codice... dove posso trovarlo?

Michele
Michele

vabbé allora anche che "view plaincopy to clipboard print ?" non va copiato... ciao :p

EsseZeta
EsseZeta

Forse é meglio ricordare che al posto di UA-XXXXX-X va messo il proprio codice...

Senamion
Senamion