Un formulario de contacto en su sitio web: enviar los campos por correo y evitar el spam
¿Desea que los visitantes puedan escribirle a través de un formulario en su sitio web? En este artículo le explicamos cómo crear un formulario de este tipo, cómo protegerlo contra el spam y cómo conseguir que el correo llegue correctamente.
Crear un formulario
- WordPress: utilice un plugin de formularios, como Contact Form 7. No necesita programar nada usted mismo. Tampoco hace falta un plugin de pago.
- Sitio propio en HTML o PHP: busque "crear formulario HTML" para encontrar ejemplos gratuitos. Configure el formulario para que envíe a través de SMTP, no mediante la función PHP mail() (consulte más abajo).
Evitar el spam a través de su formulario
Es casi seguro que los bots de spam encontrarán un formulario sin protección. En ese caso recibirá mucho spam y, en el peor de los casos, su formulario se utilizará para enviar spam a terceros. Por eso, proteja siempre su formulario:
- Captcha: una comprobación que distingue a las personas de los bots, como Google reCAPTCHA o Cloudflare Turnstile. Contact Form 7 funciona con reCAPTCHA. Para Turnstile debe instalar un plugin aparte, por ejemplo Simple Cloudflare Turnstile.
- Honeypot: un campo oculto que las personas no ven, pero que los bots sí rellenan. Si el campo está rellenado, el mensaje no se envía. También existen pequeños plugins para esto.
- Foros y blogs: gran parte del software de foros y blogs dispone de una integración con Stop Forum Spam. Este servicio mantiene una lista de direcciones IP que envían spam y bloquea los mensajes procedentes de esas direcciones.
- Mantenga su sitio web actualizado: actualice siempre WordPress, su tema y sus plugins. Un plugin desactualizado es una vía de entrada muy habitual para los abusos.
Comentarios en su blog o en su foro
Los bots de spam no solo publican mensajes a través de formularios, sino también comentarios con enlaces, con la esperanza de que los buscadores tengan en cuenta esos enlaces. Así puede evitarlo:
- Apruebe primero los comentarios. En WordPress, active en Ajustes › Comentarios la opción de que los comentarios deban aprobarse manualmente. Si no utiliza comentarios, desactívelos por completo.
- Utilice un plugin antispam o un captcha para los comentarios, igual que en su formulario.
- Marque los enlaces de los comentarios. Los enlaces que publican los propios visitantes deben llevar
rel="ugc"orel="nofollow". Así los buscadores saben que usted no respalda ese enlace. WordPress lo hace automáticamente desde la versión 5.3. En otro software, consulte los ajustes o busque un plugin.
Cómo conseguir que el correo de su formulario llegue correctamente
- Envíe a través de SMTP. Con mail() en PHP, el remitente pasa a ser una dirección con el nombre de cuenta de su plan, y eso no se puede modificar. Este tipo de correo suele acabar en la carpeta de spam. Con SMTP, usted inicia sesión con un buzón real y decide el remitente. En WordPress puede utilizar para ello un plugin SMTP, como WP Mail SMTP. Para un script PHP propio, consulte ¿Cómo puedo obtener el remitente correcto con mail() en PHP?.
- Remitente en su propio dominio. Configure el formulario para que envíe desde una dirección de su propio dominio, por ejemplo info@sudominio.com. No utilice nunca la dirección de correo del visitante como remitente: muchos destinatarios rechazarán el correo. Indique la dirección del visitante en el campo Responder a (Reply-To) y podrá responder al mensaje con normalidad.
- Los datos para SMTP: el nombre del servidor de su plan, el puerto 587 con STARTTLS o el puerto 465 con SSL/TLS, y la dirección de correo y la contraseña del buzón. Consulte Todos los ajustes de un vistazo.
¿Se está abusando ya de su formulario?
¿Recibe muchos correos devueltos que usted no ha enviado, o el servidor indica que se ha alcanzado su límite de envío? Es posible que se esté abusando de su formulario. Consulte Qué hacer si se ha abusado de su dirección de correo electrónico y Límites de envío y el mensaje 'message limit reached'.
¿Desea aprender más? Siga el curso gratuito de WordPress, lección 9.1 Correo electrónico desde WordPress.
