Skip to main content
  1. Blog Post/

Inserta tags en todas las páginas estáticas de tu web automáticamente

2 min · 484 words

Seguramente a la mayoría de los que nos dedicamos al desarrollo web o la analítica web, nos ha ocurrido en más de una ocasión el encontrarnos con una web que esta hecha a mano, cientos si no miles de archivos HTML desperdigados por todos los directorios de la web y hemos descartardo medir esta página por lo inviable de modificar todos los archivos, y sobre todo mantenerlos después o tal vez nos hemos limitado a realizar una medición a través de los logs, perdiendo con ello todas las ventajas y exactitud que aporta la medición por tags.

Sin embargo Apache dispone de varios módulos que nos permiten realizar esta acción "on the fly" , o lo que es lo mismo al vuelo , sin tener que modificar archivos.

Existen varios módulos que nos pueden ayudar en esta tarea como:

    En esta ocasión vamos a utilizar mod_ext_filter, que viene por defecto con todas las instalaciones de apache, pero también podéis investigar como utilizar cualquiera de los otros.

    Para ello habilitaremos el módulo con el siguiente comando ( en debian o distribuciones derivadas ):

    a2enmod ext_filter && apache2ctl restart

    Una vez esté habilitado debemos poner la siguiente línea en la configuración de nuestro vhost, tan sólo debemos cambiar el código UA de nuestra propiedad.

    ExtFilterDefine add-ga mode=output intype=text/html cmd="/bin/sed 's#</head>#<script type=\"text/javascript\">\\n\\n  var _gaq = _gaq || [];\\n  _gaq.push([\'_setAccount\', \'UA-XXXXXXXX-Y\']);\\n  _gaq.push([\'_trackPageview\']);\\n\\n  (function() {\\n    var ga = document.createElement(\'script\'); ga.type = \'text/javascript\'; ga.async = true;\\n    ga.src = (\'https:\' == document.location.protocol ? \'https://ssl\' : \'http://www\') + \'.google-analytics.com/ga.js\';\\n    var s = document.getElementsByTagName(\'script\')[0]; s.parentNode.insertBefore(ga, s);\\n  })();\\n\\n</script>\\n</head>#i'"

    Después en la directiva de direcctorio le diremos que aplique nuestro filtro, que en este caso le hemos llamado add-ga

    Os pongo un ejemplo para que os hagáis una idea de cómo quedaría:

    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    SetOutputFilter add-ga
    </Directory>

    Ahora con tan solo reiniciar Apache, se añadirá el código de Google Analytics , antes de la etiqueta </head> sin tener que editar todos nuestros archivos.

    Este opción es aplicable a cualquier otra herramienta de analítica web, Piwik , ClickTale, KissMetrics, Omniture, o la que se os ocurra.