Incorporare il codice ga.js nel modo in cui descrivi (con un tag <script>
hardcoded) è effettivamente bloccante, e se si carica lo script in questo modo, si considera che la best practice lo stia caricando appena prima del tag </body>
. Ma questa non è la pratica raccomandata se stai usando il nuovo codice asincrono. Google explicitly recommends placing the new asynchronous code in the <head>
.
Il nuovo codice asincrono non è bloccante in due modi. Innanzitutto, accoda le variabili per la pagina in una variabile _gaq globale. In questo modo, i dati vengono preparati in entrambi i modi.
Quindi, come descritto in questo SO answer, utilizzando JavaScript direttamente per scrivere lo script come il nuovo codice asincrono non è bloccante (questo metodo iniezione diretta è il modo per raggiungere asincrono-ness, anche nei browser che don' t osservare direttamente l'attributo async
). Il resto del sito può continuare a caricarsi se per qualche motivo i server di Google sono in ritardo o lenti a rispondere. E questo è solo se l'utente non ha già ga.js in cache, come fanno molti, dal momento che ga.js è usato su molti, molti siti web popolari.
Il vantaggio di tutto questo è che prima si carica ga.js ed è in grado di trasmettere l'oggetto _gaq a Google, più è probabile che tu debba acquisire TUTTI i tuoi dati potenziali, come i dati degli utenti chi clicca molto velocemente sulla tua pagina. Ciò è particolarmente importante per i siti web "grandi" che tendono ad avere molti utenti regolari che seguono abitudini di clic rapido.
Se sei scettico, testarlo utilizzando un ispettore di caricamento della pagina come gli strumenti di sviluppo del webkit. L'ho testato estensivamente e non ho trovato prove di un blocco significativo quando si utilizza il codice asincrono nel </head>
come descritto.
Vedere [ codice Google Analytics: può andare prima nel documento? ] (http://stackoverflow.com/questions/1708771/) e [ Google Analytics fa un notevole effetto in tempo per scaricare una pagina Web statica? ] (http://stackoverflow.com/questions/374084/). La linea di fondo è che Google consiglia di metterlo alla fine del corpo in modo che non bloccherà il resto della pagina. Ma va bene metterlo in testa. Inoltre, GA ora ha la versione asincrona (vedi [questa domanda] (http://stackoverflow.com/questions/2191325/)), che ti consente di inserire il codice GA in precedenza e di caricarlo in parallelo nei browser moderni. –