Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Cómo evitar el Spam en formularios de Contact Form 7 con Akismet

El plugin de formularios Contact Form 7 es el más utilizado de todos, con diferencia, pero esto no significa que no tenga problemas, o que sea perfecto. Hay varias cosas que son bastante molestas.

Los problemas de Contact Form 7

Una de estas «molestias» es que cargue sus scripts y estilos en toda la web, aunque solo tengas formulario en una página, pero eso ya aprendimos que se puede optimizar Contact Form 7 para que cargue sus recursos solo donde sea necesario.

Otro de los problemas es el control del spam, algo que no es exclusivo de Contact Form 7, pasa con cualquier formulario. No pasará mucho tiempo desde que pongas un formulario en tu web y que empiecen a llegarte mensajes basura de todo tipo.

Para evitarlo, el plugin Contact Form 7 ofrece varias integraciones orientadas a controlar este mal del spam.

integraciones contact form 7 spam

El problema de reCAPTCHA

De las 2 disponibles, la más utilizada es reCAPTCHA de Google, que añadirá – dependiendo de la versión – un sistema de CAPTCHA visible o invisible, para evitar el envío de mensajes basura.

Pero el problema es que CAPTCHA tiene el mismo problema que Contact Form 7: carga sus estilos y scripts en toda la web, da igual dónde tengas el formulario.

Y sí, también aprendimos a optimizar CAPTCHA para que no cargue en todas partes, pero ¿es que no hay una solución más óptima para controlar el spam en Contact Form 7?

La solución óptima para el spam en formularios de Contact Form 7

Hay una solución, y está justo ahí, en la página de integraciones, Akismet, y lo mejor es que es una solución anti spam que no consume recurso alguno mientras no se utilice el formulario, te cuento…

El plugin Akismet, que viene instalado por defecto con WordPress, aparte de polémicas, es un sistema contra el spam que ha mejorado mucho los últimos años, que además actualmente no consume apenas recursos.

Y lo mejor de todo es que es muy fácil, y puedes controlar al detalle en qué formularios controlar el spam y en cuáles no, por si es algo que valoras.

Activar esta protección requiere estos pasos:

  1. Instalar y activar Akismet
  2. Modificar las etiquetas de tus formularios

Instalar y activar Akismet

Si no tienes instalado el plugin Akismet, aunque viene con WordPress por defecto, puedes hacerlo desde el instalador de plugins de WordPress, pues es un plugin gratuito para usos no comerciales.

instalar akismet

Una vez instalado y activado tienes que añadir una clave API que ya tengas de Akismet o configurar el nuevo sitio en tu cuenta, e incluso crearla si no lo has hecho antes.

activar akismet

Si no tienes ya cuenta o no has configurado Akismet, en la siguiente pantalla te preguntará qué tipo de cuenta quieres, y si la quieres gratis tienes que elegir la Personal.

plan gratis akismet

Y, muy importante, en la siguiente y última pantalla, deslizar el selector de pago hasta 0 euros, y marcar las casillas de que:

  • No tienes anuncios en tu sitio.
  • No vendes productos/servicios en tu sitio.
  • No promocionas ningún negocio en tu sitio.

conseguir gratis akismet

Rellena tus datos y ya tendrás tu cuenta gratuita de Akismet para poder usarlo sin pagar nada en tu web y protegerte contra el spam.

Si ya tenías una cuenta de Akismet, y una clave API, solo tienes que introducirla en la siguiente pantalla tras hacer clic en el enlace correspondiente.

clave api akismet

Da igual el método elegido, ya tendrás disponible Akismet para controlar el spam en …

  • Comentarios de WordPress.
  • Valoraciones de WooCommerce.
  • Debates y respuestas de bbPress.
  • Estados, foros, comentarios y debates de BuddyPress.
  • … y también en los formularios de Contact Form 7 y otros plugins de formularios.

akismet activo

Integrar Akismet y Contact Form 7

Ahora que ya tienes instalado y activo Akismet, y estás protegiendo contra spam muchas partes de tu web, solo queda usar la integración con Conctact Form 7, que pasa por la modificación de tus formularios, y verás qué fácil es.

Solo tienes que añadir una de estas etiquetas:

  • akismet:author – Comprueba si el nombre puesto en el formulario es sospechoso de spam.
  • akismet:author_email – Comprueba si el correo electrónico en el formulario es sospechoso de spam.
  • akismet:author_url – Comprueba si la URL en el formulario es sospechosa de spam.

Pero no solo eso, sino que una vez añadas alguna de estas etiquetas en un formulario, cuando se integra Akismet, Contact Form 7 envía datos a Akismet cuando un usuario envía el formulario. Los datos se componen de todo lo que haya introducido el usuario en el formulario (no solo los campos con una etiqueta akismet:*). Akismet verificará los datos para responder con una respuesta de «spam» o «ham», según el caso.

Si la respuesta es «spam», Contact Form 7 no enviará el correo electrónico y mostrará un mensaje de error tras el intento de envío del formulario.

El modo de integrar estas etiquetas es sencillo, solo tienes que añadir la correspondiente en el campo adecuado de tu formulario de Contact Form 7:

  • Texto
  • Correo electrónico
  • URL

Por ejemplo, para añadir akismet:author en la etiqueta del nombre, que normalmente sería así:

[text* your-name]

Pasaría a quedar así:

[text* your-name akismet:author]

En el caso de akismet:author_email pasaríamos de esto:

[email* your-email]

A esto otro…

[email* your-email akismet:author_email]

Y, si añades un campo de URL en el formulario, de esto…

[url* your-url]

Pasaríamos a esto otro:

[url* your-url akismet:author_url]

Pero lo mejor de todo es que no necesitas añadir estas etiquetas a mano, porque tras activar Akismet, a la hora de insertar etiquetas de Contact Form 7 verás una nueva casilla en estos campos (nombre, email, url) desde la que añadir automáticamente las etiquetas de Akismet.

etiqueta autor akismet contact form 7 etiqueta autor email akismet contact form 7 etiqueta url autor akismet contact form 7

¿Funciona?

Funciona y de maravilla. Solo tienes que tratar de enviar un formulario de contacto usando el nombre, email o url de algún spam que te haya llegado recientemente y verás que no te deja, muestra un error.

Si aún no tienes ningún dato real de spammer para comprobarlo puedes hacer una prueba poniendo viagra-test-123 como nombre o akismet-guaranteed-spam@example.com como email, más que nada para ver cómo funciona.

formulario contact form 7 integrado con akismet error spam

El artículo Cómo evitar el Spam en formularios de Contact Form 7 con Akismet lo publicó Fernando Tellado previamente en Ayuda WordPress. Lo que ves aquí es una copia de dicho contenido :/

Enregistrer un commentaire

0 Commentaires