Inicio / Linux / Optimizando la carga de nuestra web Google Analytics en local

Optimizando la carga de nuestra web Google Analytics en local

Antes de que continúes leyendo te quiero recordar que Google no recomienda esta práctica, informando en su propia web, que se pueden perder funcionalidades si no se tiene siempre la última versión que tienen publicada, pero eso si te lees el artículo completo, también lo resolveremos 😛

Google nos proporciona una herramienta bastante interesante que se llama PageSpeed Insights, donde podremos introducir nuestra página web y obtendremos una puntuación sobre 100 tanto para versión móvil como desktop.

Entre las muchas recomendaciones que realiza sobre mi Blog, me he encontrado con una que me hizo bastante gracia y es la siguiente:

Ya que tengo claro que esa caché no la puedo controlar, me dediqué a leer la documentación publicada por Google y sólo terminé llegando a un filtro que proporciona el módulo de PageSpeed bien sea para Apache2 o Nginx (Sobre este módulo hablaré en otro artículo).

En la propia documentación de Google justo al final de todo se muestra el siguiente texto:

Risks

This filter is considered high risk.

The make_google_analytics_async filter is experimental and has not had extensive real-world testing. One case where a rewrite would cause errors is if the filter misses calls to Google Analytics methods that return values. If such methods are found, the rewrite is skipped. However, the disqualifying methods will be missed if they

  • come before the load,
  • are in attributes such as “onclick”,
  • or if they are in external resources.

Those cases are expected to be rare.

Podéis leer el artículo completo en el siguiente enlace: Make Google Analytics Asynchronous

Esta opción por ahora para un entorno de producción la descarto, haré pruebas en mi HomeLab, pero poco más por ahora.

Guardando en nuestro servidor google-analytics.js

Lo positivo de guardar este fichero JS en nuestro servidor lo podemos dividir en los siguientes puntos:

  • El usuario se descargaría este JS desde el mismo lugar que otros, por tanto le ahorramos una conexión más y nos ahorramos una petición HTTP.
  • Ahora que lo almacenamos en local si que podremos controlar la caché, las cabeceras y etcétera; estando en otro servidor que no está bajo nuestro control… Complicado

Al final lo que queremos es arañar todos los milisegundos que podamos para que a nuestros usuarios les cargue la web lo más rápido posible, así que os muestro en la siguiente tabla el tiempo de carga del script de analytics desde la URL de Google.

ResourceRequest StartDNS LookupInitial ConnectionSSL NegotiationTime to First ByteContent Download
https://www.google-a…ics.com/analytics.js2.238 s282 ms230 ms223 ms215 ms244 ms

 

Copiar el contenido del JS y guardándolo en local

Lo primero que tenemos que hacer, es acceder a la URL https://www.google-analytics.com/analytics.js y copiarnos el contenido.

Una vez tenemos el contenido de este fichero, creamos un fichero con nuestro editor preferido y pegamos su contenido; a este fichero lo llamaremos localanalytics.js y lo subiremos a nuestro servidor en el directorio que tenemos designado para los ficheros JS.

Ahora tendremos que modificar las diferentes entradas que hacía referencia al fichero JS de analytics y sustituirlas para que lo capture en local.

 

Script de automatización de descarga del fichero de Analytics

Ya que este fichero puede ser actualizado con nuevas mejoras y funcionalidades, programaremos en nuestro servidor la descarga del mismo cada  hora:

Lo primero que haremos es crear un script en PHP que haga la descarga y que en mi caso llamaré actualiza-analytics.php

Crear tarea en cron para que se ejecute todos los días cada  hora:

 

Sobre Bosco López

/dev/null

Te puede interesar también

Mostrar alertas en Nagios con SNMP TRAPS

La monitorización de dispositivos de red, suele realizarse mediante SNMP, pero como es lógico no …

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *