Realmente tienes varios métodos, por supuesto, debes considerar que los bots que recopilan este contenido son esencialmente raspando las páginas que se encuentran y buscando patrones que parecen direcciones de correo electrónico. Como usted dice, es una carrera armamentista y no hay nada que impida que las personas que desarrollan estos raspadores implementen estos métodos (espere, ¿es por eso que pregunta?)
En la mayoría de los casos, querrá evitar realmente crear un hipervínculo fuera de su dirección de correo electrónico, y ciertamente desea evitar usar mailto: - eso es básicamente anunciar a cualquiera que lea la página " Hola, soy una dirección de correo electrónico ".
Comencemos de agradable y simple, espaciado:
m y e m a i l @ m y d o m a i n . c o m
Obviamente es una dirección de correo electrónico para un humano, parece un montón de letras aleatorias con espacios para un raspador. ¿No te gusta el espacio? Mucho menos común pero mucho más infalible es convertir tu dirección de correo electrónico en una imagen. Todavía es legible para los humanos, pero no va a ser algo que la mayoría de los rastreadores de correo electrónico estén buscando, y mucho menos que puedan analizar.
¿Qué hay de convertir tu puntuación (@ y punto) en sus equivalentes HTML ( @
y .
respectivamente)?
myemail@mydomain.com
Esto aún parece una dirección de correo electrónico cuando se procesa con el navegador, pero no va a ser tan difícil trabajar desde el punto de vista del raspado ya que solo buscaría .
y @
- pero ¿por qué detenerse ahí? ¿Por qué no ir hasta el final y simplemente codificar la dirección de correo electrónico completa? Esto se puede hacer fácilmente con una herramienta como Rumkin's Mailto Encoder , de repente, su dirección de correo electrónico se ve así:
myema%69l@my%64%6fma%69n%2e%63om
Esto aún se procesa como cabría esperar en un navegador, pero básicamente es un engaño en cuanto a cualquier raspador que no tenga en cuenta la codificación.
También puedes hacer esto con CSS si estás tan inclinado con algo como esto:
<style>
my-email::after { content: attr(data-domain); }
my-email::before { content: attr(data-user); }
</style>
<my-email data-user="myemail" data-domain="mydomain.com">@</my-email>
O, como ya se mencionó en Desbordamiento de pila , simplemente puede usar JavaScript.