Si utilizas el módulo de formularios de contacto del plugin JetPack estarás más que harto de recibir mensajes spam ¿me equivoco? Pues vamos a darle solución.
Y es que es inevitable, desde el momento en que tu web empieza a aparecer en los buscadores haya montones de spammers profesionales que van a tratar de colarte sus mensajes en cualquier formulario que encuentren, de comentarios, de contacto, de lo que sea.
Pero lamentablemente, al contrario que otros plugins de formulario de contacto, el módulo de formularios de contacto de JetPack no incluye ningún tipo de protección contra spam.
¡Ah, pero hay solución(es)! Vamos a ello…
Controla el spam con Akismet
Pues sí, el plugin de control de spam Akismet no solo actúa ante los formularios de contacto de WordPress, también se integra con los formularios de contacto de JetPack, y actúa igual que con los comentarios, detectando y marcando como spam aquellos mensajes que su motor detecte como sospechosos.
En sus ajustes puedes elegir si mandarlos directamente a la carpeta de spam o mantenerlos para tu revisión manual, algo que te aconsejo, pues me he encontrado desagradables sorpresas a veces, pues un usuario marcado como spam en otro blog de WordPress.com puede ser enviado sistemáticamente como spam en cualquier sitio con Akismet.

Vamos, que tiene sus cosas, pero funcionar funciona.
reCAPTCHA Jetpack
Otra posibilidad es utilizar el plugin reCAPTCHA Jetpack.
Una vez instalado, en sus ajustes puedes elegir el tipo de reCAPTCHA a utilizar, el tradicional de comprobación o el invisible, también conocido como reCAPTCHA v3 o de tarro de miel (honeypot), pues los usuarios normales no lo ven, pero los spammers van como moscas a la miel.

Las claves de reCAPTCHA simplemente las obtienes en la web de Google reCAPTCHA y las pones ahí, guardas cambios y funciona.
La verdad es que funciona de maravilla, a pesar de llevar más de 3 años sin actualizarse.
Si quieres, luego puedes ocultar el logo de reCAPTCHA, como vimos.
WPBruiser {no-Captcha anti-Spam}
Con este curioso nombre se presenta un plugin que antes ofrecía su funcionalidad de reCAPTCHA para JetPack como un módulo aparte de pago, pero que actualmente está disponible dentro del plugin, gratis.
En realidad es un plugin de seguridad, pero entre sus muchas características dispone de un módulo de seguridad anti-spam en formularios de contacto, desde el que puedes aplicar protección contra spammers en los formularios de contacto de JetPack.

Este plugin no utiliza ningún sistema de CAPTCHA sino reglas de detección de bots y spammers a raíz del servidor, añadiendo cabeceras de protección a tu sitio.
Desde el servidor
El otro modo de tratar de evitar comentarios spam es añadiendo una regla al archivo .htaccess del servidor Apache, estas:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*tublog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
Como los formularios de contacto de JetPack utilizan los ganchos estándar de comentarios de WordPress puede funcionar, igual que hace Akismet para integrarse con los formularios de contacto.
Y ya está, no he encontrado ningún método más de evitar el spam en los formularios de contacto de JetPack. Si sabes de alguno más avisa.
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!









AVISO: Esta publicación hace 3 años o más que no se actualiza. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te sirvió?, pues entonces nada :-)
Buenas,
Muy interesante el artículo, pensé que me podría ayudar como otros de vuestros artículos pero lamentablemente en este caso no ha sido así y a ver si podéis hacerlo o crear un artículo al respecto.
¿Como eliminar el spam en los resultados del buscador de wordpress? Usando el SEARCH CONSOLE veo que Google están aparenciendo muchas páginas mías del tipo:
https://www.dominio.es/search/Buy+Lopressor+%F0%9F%A5%AC%E2%A3%A3+Lopressor+from+%240.65+per+pill+%3A+%F0%9F%94%B4+www.WebMD.shop+%F0%9F%94%B4+-+Cheapest+pills+%E2%A3%A3%F0%9F%A5%AC+50+Mg+Daily+Buy+Lopressor+50+Mg+Price/feed/rss2/
https://www.dominio.es/?s=%F0%9F%9B%8E%EF%B8%8F%F0%9F%98%BF%F0%9F%90%83%20Buy%20Viagra%20Super%20Active%20Online%20%3A%20%F0%9F%A7%A1%20www.Getmaple.shop%20%F0%9F%A7%A1%20-%20All%20tabs%20here%20%F0%9F%90%83%F0%9F%98%BF%F0%9F%9B%8E%EF%B8%8FOnline%20Viagra%20Rx%20In%20South%20Carolina%20Buy%20Viagra%20Over%20The%20Counter%20Germany
Y similares. ¿Como se puede evitar eso? Imagino que al final eso afectará negativamente al SEO.
Al ser los enlaces genéricos no puedo verlo pero imagino que haces una búsqueda por site:tuweb.com y una palabra clave de spam y te aparecen resultados de búsqueda de comentarios.
Si es así es que en algún momento han estado publicados y Google lo indexó, la única solución a eso es, primero, evitar que salga ningún comentario sin que tú lo apruebes, así nunca estarán públicamente visibles y Google no podrá indexarlos.
Buenas Fernando,
No es que esté publicado o no, solo es una página de resultados. A modo de ejemplo, es como si el spammer publicara en cualquier sitio un enlace hacia https://ayudawp.com/?s=esto+seria+un+ejemplo+de+las+p%C3%A1ginas+que+google+ha+indexado+y+enlazan+a+www.loquesea.com+y+no+s%C3%A9+si+vale+para+algo , entonces a final Google lo indexa.
Ah, vale, perdona, no te entendí, es un indexado de una búsqueda. Para evitarlo tendrías que añadir un disallow a las cadenas de búsqueda o sea:
Disallow: /?s=
Hola Fernando.
Uso el contact form 7 y llevo varios días recibiendo un insistente mensaje de spam encabezado como «This housewife makes over $ 1,000,000 a month».
Desesperado, he leído que se solucionaba instalando un honeypot. Se lo he instalado a través de un plugin y, además le he añadido al formulario etiquetas que divulgas en https://ayudawp.com/etiquetas-correo-especiales-contact-form-7/ , con la idea de obtener la IP, si algún bot volvía a saltarse el spam.
Efectivamente, el honeypot no ha surtido efecto y, a las pocas horas, ha vuelto a llegarme el dichoso e-mail. Pero ahora tengo su IP, que es 138.199.18.138, de Berlín. ¿Qué puedo hacer con esa IP? ¿Cómo bloquearla, dado que se salta el honeypot, para que no me siga machacando a spam?
Gracias de antemano.