Cómo esconder un email de crawlers y bots
Un monstruo que come emails
Geral

Cuando creamos un sitio web es importante colocar nuestro contacto para que podamos recibir correspondencia de nuestros lectores o clientes. El problema es que muchos bots o spiders (programas hechos con el objetivo de obtener el texto de los sitios web automáticamente) muchas veces buscan los emails para enviar basura a nuestra bandeja de correo electrónico y vender ese email a más empresas dudosas con grandes listas para enviar spam a nuestra bandeja de entrada.

Entiendo cómo podemos esconder el email de estos bots?

La manera de poner un email en una página web para que cuando se clique abra el programa predefinido para enviar el email es:
<a href="mailto:utilizador@servidor_papa_spam.com">Enviar email</a>

El problema aquí es que los programas buscan esto y guardan todo el texto que tienen después de la parte "mailto:" hasta el cierre de las comillas.

Cómo puedo resolver esto y obfuscar el email?

Para resolver esto podemos crear un botón que con código de JavaScript por detrás hace que el enlace mailto: aparezca después de clicar en el botón.

A continuación, muestro el código utilizado para la funcionalidad del botón:

<input id="bt_email" type="button" value="Mostrar email" onclick="mostraEmail();"/>
<div id="mto">Aquí irá aparecer el email después de clicar en el botón</div>
<script>
function mostraEmail(){
var m = "servidor.pt";
m = ("utilizador" + "@" + m);
document.getElementById("mto`).innerHTML= ("<a href='mailto:" + m + "'">" + m + "</a>");
}
</script>
Después de clicar en el botón, si quieres experimentar otra vez tener el email escondido, tendrás que hacer refresh a la página para que la div vuelva al estado original.

Conclusión:

La moraleja de la historia aquí es que los bots cuando obtienen el texto de la página en lugar de tener una cadena en formato de email no van a encontrar, aunque sea posible que incluso así obtengan el email si tienen preparados para eso, pero la verdad es que la probabilidad será mucho más baja. Sin embargo, también puedes ser más creativo en la concatenación de la cadena y obfuscar aún más el email.
Ver en otros idiomas: PT EN ES