Página de inicio   Diseño y desarollo web

NOTICIAS EN LA RED


separador
01
Dic
 

Google Analytics asíncrono

Este mes Google ha anunciado cambios importantes en el sistema de recopilación de datos con Google Analytics, una de las principales modificaciones se basa en una gestión de captura asíncrona, lo que implica muchas mejoras en todos los sentidos.

Más rápido

El problema habitual al cargar ficheros JavaScript es que estos bloquean el refresco de pantalla hasta que están completamente cargados. Existen formas de evitarlo, como se explica en el libro "Even Fastar websites, six techniques for Loading Scripts Without Blocking". Uno de ellos es la aproximación al "Script DOM Element", esta es la técnica que utiliza el nuevo sistema asíncrono de Google Analytics. El nuevo "ga.js" de Google Analytics es un ejemplo perfecto de como un script puede ser cargado de forma asíncrona y posteriormente ser procesado en el equipo, además tampoco agrega más contenidos a la página por lo que reduce los tiempos totales de presentación y no nos bloquea las imágenes ni las hojas CSS a procesar.

Mejorado el tiempo de subida

¿Que pasa realmente cuando un script tarda mucho tiempo en ser cargado o falla? En ocasiones y para evitar esto los desarrolladores utilizamos páginas vacias al iniciar la carga y así evitar el bloqueo. Google Analytics tiene una increible infraestructura detrás de el, pero también utilizamos recursos de terceras empresas sobre las páginas y estas las debemos agregar con mucho cuidado de no afectar al resto. Con el nuevo "ga.js" estos problemas han dejado de estar en la lista de "temas a revisar" en un desarrollo web. Ahora la web se carga más rápido y el contenido traslada la información sin bloquear nada.

Más datos

Lo más habitual para evitar el bloqueo de las páginas es el trasladar todo el script de Google al final de la página, con ello vemos la carga completa y en ocasiones queda un "leyendo" en nuestro navegador. Este cambio precisamente es una de las principales recomendaciones que se daban antes para evitar problemas en la regeneración en pantalla. Pero por otro lado esto significaba que si no terminaba de procesarse el "ga.js" y el usuario era rápido en clickar otro link no se trasladaba información y nos faltaban parcialmente las estadísticas del sitio. Con el nuevo proceso asíncrono, mantendremos el script en la parte inferior, pero el nuevo sistema traslada simplemente un indicativo para que sea procesado posteriormente por Google y no afectar a la navegación, con ello además pueden incrementar la información a recopilar.

El Snipet Asíncrono

El anterior ga.js se va a mantener, por lo que no es imprescindible el cambio. No obstante si queremos realmente mejorar el rendimiento de nuestra web vamos a realizar el cambio en un paso sencillo, este es el aspecto del nuevo snipet:


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);
})();



Es curioso ver como este simple script se considera una de las piezas esenciales en Internet.

Unas notas más a tener en cuenta:

  • Obviamente, necesitamos cambiar “UA-XXXXX-X” con nuestro ID.
  • Mientras que "ga.js" esta siendo cargado asíncronamente, hay que facilitar un camino en el para el propietario del website ponga sus propias funciones GA cuando este termine de cargar. Esto se realiza implementando comandos sobre la cola del objeto de Google Analytics, _gaq.
  • Tan pronto como todos los comandos han sido lanzados a la cola, el "ga.js" asume la carga. Esto está incrustado como una función anónima para evitar problemas y conflictos de nombre de espacio.
  • Dentro de la función anónima, podremos ver como el "Script DOM Element" es utilizado con varias mejoras. Un elemento ’script’ será creado en su propia fuente y reasigna la URL apropiada para "ga.js". Si miramos dentro del script en HTML5, veremos que este se activa como "async" con valor "true". Con ellos decimos al navegador que puede procesar el resto de la página inmediatamente sin tener que esperar por el "ga.js". La última línea simplemente añade un elemento al DOM. Esto es lo que realmente produce que se lance el script, hay métodos alternativos como hacer document.getElementsByTagName(”head”)[0].appendChild, pero puede dar errores si no disponemos de ese elemento en la cabecera. Por tanto es una forma muy robusta de implementar.

Las conclusiones es que este cambio de Google significará una mejora de un 10% de media para la mayor parte de las páginas web que incorporan estas estadísticas. Os recomiendo visitar vuestra cuenta de analytics o bien avisar al webmaster que realice el mantenimiento web para que os incorpore este nuevo método. Los clientes de MBC simplemente deben cambiar en la "CONFIGURACION" la variable "URCHIN" por el texto contenido en el artículo utilizando su propio número.

Artículo original: http://www.stevesouders.com/blog/2009/12/01/google-analytics-goes-async/

 

Relacionados: Google Analytics MBC Desarrollo
| Mas
Vota
Rating
 5 
Votos
 7
 30/04/2010
Hola: Estoy estudiando como incluir el nuevo código asíncrono en mis sitios web y me ha parecido muy interesante este post. Como quiero hacer uno sobre el tema www.seoplicio.blogspot.com y me gustaría citarlo en él como fuente si no tienen inconveniente. Muchas gracias y enhorabuena por su blog. Huberto.
Juan Menendez 01/05/2010
Encantado de haberte ayudado a entender el nuevo sistema de Google Asíncrono, ten en cuenta que la información que mostramos no es 100% nuestra, es parte traducida del blog de Google y otras fuentes que daban detalles interesantes sobre este tema. La realidad es que va mucho mejor este GA que el urchin tradicional o el sincrono que retrasa en parte la carga de la web.

VOLVER
separador
TopBox

Web creada con MBC Diseño y desarrollo web © Mastercafe SL - Alojamiento web trafico ilimitado hosting ISPActivo  |  Nota legal  |  Nota técnica

Valid XHTML 1.0 Transitional Valid XHTML 1.0 Transitional

 

blanco

blanco

Login/Conexion

No estas registrado? Registrate!