🔐 ¿Qué está Pasando con los Bots Actuales? Así Bloqueé los Registros Masivos con Restrict Content Pro

Durante semanas estuve recibiendo registros automáticos en mi sitio web. Cuentas falsas con correos de spam, nombres sin sentido y perfiles vacíos, todos con el rol de suscriptor. No activaban ninguna membresía, no hacían nada… pero seguían entrando, día tras día.

Probé muchas medidas, desde las más simples hasta otras más avanzadas. Nada funcionaba, al cabo de un rato los bots volvían a aparecer.

Hasta que di con la verdadera raíz del problema: los bots estaban entrando directamente por el endpoint de registro de WordPress, sin usar el formulario. Y una vez entendí eso, diseñé un sistema personalizado que por fin funcionó.

Este artículo recoge lo que probé, lo que no funcionó y el enfoque que sí me dio resultados. Si estás sufriendo el mismo problema, te puede ahorrar horas (o días) de frustración.

bots wordpress registro

Lo que probé y no funcionó

Estas fueron algunas de las medidas que apliqué, sin éxito real:

  • Activar reCAPTCHA v2 en el formulario de registro.
  • Añadir verificación doble por email.
  • Bloquear dominios sospechosos en el functions.php.
  • Forzar retrasos con JavaScript para frenar bots rápidos.
  • Añadir campos ocultos (honeypot) y lógicas condicionales.
  • Configurar restricciones por IP.
  • Usar plugins de seguridad como Wordfence (que ya estaba activo) para detectar posibles accesos o malware.

A pesar de todo eso, los registros seguían llegando. Cada día aparecían nuevos usuarios falsos.

La pista clave: ¿y si no están usando el formulario?

Revisando los perfiles creados, me di cuenta de que los bots no tenían estado de membresía, lo que indicaba que no estaban usando el flujo habitual de registro de Restrict Content Pro. Mientras que los usuarios reales que sí pasaban por el formulario aparecían con estado pending, si no finalizaban el pago. Los bots solo tenían el rol de suscriptor y ningún dato más.

Eso me hizo recordar algo importante: WordPress permite crear usuarios mediante peticiones POST al endpoint /wp-login.php?action=register, aunque el formulario del sitio esté protegido.

Y si el formulario está protegido pero el endpoint no… los bots simplemente lo esquivan.

La solución: validación personalizada y bloqueo del endpoint

Decidí aplicar un enfoque en dos niveles:

  1. Añadir un campo nonce al formulario de registro, de forma que solo se puedan crear usuarios si pasan por él.
  2. Validar ese nonce globalmente, incluso si el usuario ya ha sido creado, y eliminarlo si no es válido.
  3. Bloquear directamente el endpoint de registro nativo de WordPress, para cerrar cualquier otra vía de acceso automatizado.

El código que funcionó

Este es el fragmento que solucionó el problema. Lo puedes añadir en el archivo functions.php de tu tema hijo o usar el plugin Code Snippets para gestionarlo de forma más limpia:

🔐 Este contenido es solo para suscriptores premium.

*Actualmente no se aceptan nuevos suscriptores.

¿Funciona solo con Restrict Content Pro?

El primer bloque de código (donde se añade el nonce al formulario) está pensado específicamente para Restrict Content Pro, ya que utiliza un hook específico del plugin.

Sin embargo, el resto del código (la validación global y el bloqueo del endpoint) funciona con cualquier sistema de registro de usuarios en WordPress. Si estás usando otro plugin (como Profile Builder, Ultimate Member, o formularios personalizados), solo tendrías que adaptar el hook que añade el nonce al formulario correspondiente.

Conclusión

No basta con proteger el formulario de registro si los bots pueden crear cuentas desde fuera de él. WordPress, por defecto, permite crear usuarios desde distintos puntos, y los bots lo saben.

Combinar protección en el formulario + validación global + cierre del endpoint nativo es lo que realmente me funcionó para frenar por completo los registros automáticos.

Desde que implementé esta solución, no he vuelto a recibir ni un solo registro falso.

Nos vemos en el siguiente tutorial. Un saludo.

5/5 - (2 votos)
Compartir Artículo

Un comentario

  1. Fran Salas Master WP 1 año atrás

    ¿Has sufrido también estos molestos registros? Deja tu experiencia y cómo lo solucionaste en los comentarios.

¿Tienes una duda o sugerencia sobre este artículo?

Puedes dejar un comentario de forma anónima, sin necesidad de registrarte ni proporcionar ningún dato personal. Tu mensaje se publicará como “Usuario Anónimo No Premium”, un perfil que agrupa a todos los visitantes no registrados.

Importante: para evitar el spam automático, todos los comentarios anónimos deben comenzar con el símbolo #. Ejemplo: # Tengo una duda sobre los shortcodes personalizados...

Este espacio está destinado exclusivamente a preguntas concretas, dudas o sugerencias relacionadas con el contenido del artículo. Por respeto a los demás lectores, no se publicarán temas sin relación.

Privacidad y normas:
  • No tienes que agregar tu nombre, correo ni ningún otro dato identificativo.
  • No se permiten enlaces en comentarios anónimos.
  • No se permiten símbolos especiales como < o > (menor y mayor que), ya que se consideran intentos de insertar código y serán bloqueados.
  • Todos los comentarios anónimos pasan por revisión antes de ser publicados y solo se aprobarán si aportan valor al contenido del artículo.
¿Quieres comentar con tu nombre y que tu mensaje se publique al instante? Inicia sesión o regístrate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

0%