tl; dr
Oculte la dirección de correo electrónico de los bots sin utilizar scripts y mantenga la mailto:
funcionalidad. El método también debe admitir lectores de pantalla.
Resumen
Ofuscación de correo electrónico sin utilizar scripts o formularios de contacto
La dirección de correo electrónico debe ser completamente visible para los espectadores humanos y mantener la
mailto:
funcionalidad.La dirección de correo electrónico no debe tener formato de imagen .
La dirección de correo electrónico debe estar "completamente" oculta a los rastreadores de spam y los robots de spam y cualquier otro tipo de recolector
Efecto deseado:
Sin guiones , por favor. No se utilizan scripts en el proyecto y me gustaría mantenerlo así .
La dirección de correo electrónico se muestra en la página o se puede mostrar fácilmente después de algún tipo de interacción con el usuario, como abrir un modal.
El usuario puede hacer clic en la dirección de correo electrónico que a su vez activaría la
mailto:
funcionalidad.Al hacer clic en el correo electrónico, se abrirá la aplicación de correo electrónico del usuario.
En otras palabras, la
mailto:
funcionalidad debe funcionar.La dirección de correo electrónico no está visible o no está identificada como una dirección de correo electrónico para los bots (esto incluye la fuente de la página)
No tengo una bandeja de entrada llena de spam
Qué NO funciona
Agregar un formulario de contacto, o algo similar, en lugar de la dirección de correo electrónico
Odio los formularios de contacto . Rara vez completo un formulario de contacto. Si no hay una dirección de correo electrónico, busco un número de teléfono y, si no está, empiezo a buscar un servicio alternativo. Solo llenaría un formulario de contacto si fuera absolutamente necesario.
Reemplazo de la dirección con una imagen de la dirección
Esto crea una ENORME desventaja para alguien que usa un lector de pantalla ( recuerde a las personas con discapacidad visual en sus proyectos futuros )
También elimina la
mailto:
funcionalidad a menos que haga clic en la imagen y luego agregue lamailto:
funcionalidad comohref
para el enlace, pero eso anula el propósito y ahora el correo electrónico es visible para los bots.
Qué podría funcionar:
Uso inteligente de
pseudo-elements
enCSS
Soluciones que utilizan la
base64
codificaciónRomper la dirección de correo electrónico y distribuir las partes por el documento y luego volver a juntarlas en un modal cuando el usuario hace clic en un botón (esto probablemente involucrará varias
CSS
clases y el uso deanchor tags
)Modificar
html
atributos a través deCSS
@MortezaAsadi mencionó con gracia la posibilidad en los comentarios a continuación. Este es el enlace al completo - El artículo es de 2012:
¿Qué pasaría si pudiéramos utilizar CSS para modificar los atributos HTML?
Otras soluciones creativas que están más allá de mi alcance de conocimiento.
Preguntas / soluciones similares
(Esta es una gran solución sugerida por Joe Maller, funciona bien pero se basa en un script . Así es como se ve;
<SCRIPT TYPE="text/javascript">
emailE = 'emailserver.com'
emailE = ('yourname' + '@' + emailE)
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>
<NOSCRIPT>
Email address protected by JavaScript
</NOSCRIPT>
Buscando una función de ofuscador de direcciones de correo electrónico solo en php
(Una solución inteligente que usa ambos
PHP
yCSS
primero revertir el correo electrónico usando PHP y luego revertirlo con CSS) ¡Una solución muy prometedora que funciona muy bien! Pero es demasiado fácil de resolver .¿Vale la pena ocultar las direcciones de correo electrónico en la web en estos días?
(Corrección de Javascript)
¿La mejor forma de ocultar una dirección de correo electrónico en un sitio web?
La respuesta seleccionada funciona . De hecho, funciona muy bien. Implica codificar el correo electrónico como
html entities
. ¿Se puede mejorar?Así es como se ve;
<A HREF="mailto: yourname@domain.com"> yourname@domain.com </A>
¿Funciona realmente la ofuscación de la dirección de correo electrónico?
(La respuesta seleccionada a esta pregunta de superusuario es excelente y presenta un estudio de la cantidad de spam recibido mediante el uso de diferentes métodos de ofuscación.
Parece que manipular la dirección de correo electrónico
CSS
para quertl
funcione. Este es el mismo método utilizado en la primera pregunta a la que me vinculé en esta sección.No estoy seguro de qué efectos
mailto:
tendría en los resultados agregar funcionalidad a la solución.También hay muchas otras preguntas sobre SO que tienen respuestas similares. No he encontrado nada que se ajuste al efecto deseado.
La pregunta:
¿Sería posible aumentar la eficiencia (es decir, la menor cantidad de spam posible) de los métodos de ofuscación de correo electrónico anteriores combinando dos o más de las correcciones (o incluso agregando nuevas correcciones) mientras:
A- Mantener la mailto:
funcionalidad; y
B- Lectores de pantalla compatibles
Editar:
Muchas de las respuestas y comentarios a continuación plantean una muy buena pregunta al tiempo que indican la imposibilidad de hacer esto sin algún tipo dejs
La pregunta que se hace / implícita es:
¿Por qué no usar
js
?
La respuesta es que soy alérgico a js
Sin embargo, bromeando a un lado,
Las tres razones principales por las que hice esta pregunta son:
Los formularios de contacto se aceptan cada vez más como un reemplazo para proporcionar una dirección de correo electrónico, lo que no debería.
Si se puede hacer sin secuencias de comandos, entonces debe hacerse sin secuencias de comandos.
Curiosidad: (ya que de hecho estoy usando una de las
js
correcciones actualmente) quería ver si discutir el asunto conduciría a una mejor manera de hacerlo.
mailto:
funcionalidad y no está dispuesto a usar Javascript, entonces simplemente no es posible.