Event Listener

¿Qué vas a aprender?

¿Qué es un "Event Listener"?

Un «Event Listener» es una función en JavaScript que escucha un evento en una página web. Piensa en esto como un vigilante que está esperando a que suceda algo (por ejemplo, un clic en un botón) y, cuando sucede, actúa.

Un evento puede ser muchas cosas, pero en este caso nos enfocamos en cuando el usuario hace clic en algún elemento, como un texto o un botón. El «Event Listener» observa ese clic y luego ejecuta una acción (como enviar al usuario a otra página, abrir una ventana, etc.).

¿Cómo funciona el "Event Listener" para ofuscar enlaces?

Cuando usas un «Event Listener» para gestionar un enlace, no usas un típico enlace de HTML como este:

				
					<a href="https://tupagina.com" target="_blank" rel="noopener">Haz clic aquí</a>

				
			

Este tipo de enlace es rastreado por Google y otros motores de búsqueda. Es decir, ellos siguen ese enlace y lo incluyen en su análisis de tu página.

Con un «Event Listener», haces que el enlace funcione solo para los humanos (los usuarios que visitan tu web) y no para Google u otros motores de búsqueda. Básicamente, el usuario puede hacer clic y ser dirigido a otra página, pero Google no verá esto como un enlace tradicional, por lo que no lo rastreará tan fácilmente.

¿Cómo se usa el "Event Listener"? Paso a paso:

Crea un elemento sin el enlace típico

Primero, en lugar de crear un enlace <a>, creas un elemento cualquiera en HTML que no sea un enlace tradicional, como un <div> o <span>.

				
					<span id="miEnlace">Haz clic aquí</span>

				
			

Este elemento no tiene ningún enlace visible para Google. Solo es un simple texto que dice «Haz clic aquí».

Añade un "Event Listener" con JavaScript

Luego, en el archivo de JavaScript o dentro de un <script> en la página, añades el código que dice:

“Cuando alguien haga clic en este texto (span), llévalo a esta URL”.

El código sería algo como esto:

				
					document.getElementById("miEnlace").addEventListener("click", function() {
    window.location.href = "https://tupagina.com";
});

				
			

Vamos a desglosarlo:

  • document.getElementById("miEnlace"): Esto selecciona el elemento en HTML que tiene el ID «miEnlace» (en este caso, el <span> que creamos antes).

  • .addEventListener("click", function() {...}): Esto le dice al navegador que escuche («listen») a cualquier clic que ocurra sobre ese elemento. Cuando el usuario hace clic, se ejecuta la función que está entre las llaves {...}.

  • window.location.href = "https://tupagina.com";: Este código le dice al navegador que cambie la URL actual a «https://tupagina.com«, lo que efectivamente es como hacer clic en un enlace y ser redirigido a esa página.

EJEMPLO COMPLETO

				
					<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejemplo de Event Listener</title>
</head>
<body>

    <!-- Elemento sin enlace directo -->
    <span id="miEnlace">Haz clic aquí para ir a otra página</span>

    <!-- Script de JavaScript -->
    <script>
        document.getElementById("miEnlace").addEventListener("click", function() {
            window.location.href = "https://tupagina.com";
        });
    </script>

</body>
</html>

				
			

¿Cuándo usar este método?

  • Para enlaces internos que no quieres que Google rastree pero que aún quieres que sean accesibles para los usuarios.
  • Para enlaces a sitios sensibles, como sitios de apuestas o contenido que podría afectar negativamente tu SEO.
  • Para controlar mejor el flujo de «link juice» entre las páginas de tu sitio sin usar técnicas como nofollow.

Ventajas de usar Event Listeners:

  • Mayor control: Puedes decidir exactamente cuándo y cómo se ejecuta el enlace.
  • Dificultad para ser detectado: Es más difícil para los motores de búsqueda rastrear este tipo de enlaces.
  • Más flexibilidad: Puedes hacer que el enlace haga más que solo redirigir, como ejecutar otras acciones cuando se hace clic.