← Volver a las soluciones
PluginPHPGratis

WP Captcha Guard

Plugin de WordPress que expone captcha de casilla e invisible con puntuación tras una única interfaz: cualquier formulario renderiza y verifica igual, y cambiar de versión es un ajuste. Los recursos se cargan por página y las dependencias se renombran en compilación, evitando conflictos.

WP Captcha Guard

Stack

PHPWordPressreCAPTCHAPHP-Scoper

El problema

Los formularios públicos de un sitio WordPress (contacto, registro, cualquiera que dé trabajo a un backend) recogen tráfico de bots en cuanto se indexan. La respuesta habitual es un plugin de captcha por formulario, y esa respuesta tiene un coste: varios plugins cargan cada uno su copia del script del proveedor, cada uno renderiza a su manera, y pasar del captcha de casilla a la versión invisible con puntuación implica sustituirlos todos.

Hay un fallo más sutil. Las librerías de captcha traen sus propias dependencias, y cuando dos plugins empaquetan versiones distintas de la misma librería, PHP carga la que llegó primero y la otra se rompe: una clase de error que solo aparece en producción y en el plugin de otro.

Antes → Después

AntesDespués
Un plugin de captcha distinto por formularioUn componente que cualquier formulario renderiza y verifica
Pasar de v2 a v3 obligaba a sustituir la integraciónLa versión es un ajuste; ambas implementan la misma interfaz
Cada plugin cargando su propio script del proveedorScript y estilos registrados una vez y encolados donde hacen falta
Dependencias empaquetadas chocando con otros pluginsDependencias con espacio de nombres propio en compilación
Lógica de verificación copiada entre formulariosUna sola vía de verificación, un solo sitio que arreglar

Cómo funciona

  1. Una interfaz, dos implementaciones. El captcha de casilla y el invisible con puntuación viven tras el mismo contrato, así que el código que los usa renderiza un campo y verifica una respuesta sin saber qué versión está configurada.
  2. La versión es configuración. Cambiar entre ellas es un ajuste, no una reescritura: el nombre del campo y la llamada de verificación siguen siendo los mismos por ambos lados.
  3. Los recursos se cargan donde se usan. Scripts y estilos se registran de forma central y se encolan solo en las páginas que realmente renderizan un captcha, de modo que una página de contacto protegida no penaliza al resto del sitio.
  4. Las dependencias se renombran en compilación. La compilación antepone un prefijo a los espacios de nombres de las librerías empaquetadas, así la copia de este plugin nunca choca con otra versión empaquetada por otro plugin: el fallo que hace que los plugins de captcha se peleen.
  5. Los formularios se adhieren. Cualquier formulario (del núcleo, de WooCommerce o propio) renderiza el campo y pide un veredicto al enviar; nada se inyecta en formularios que el propietario no eligió.

Funciones clave

  • Captcha de casilla e invisible con puntuación tras una única interfaz
  • Versión conmutable desde ajustes sin tocar el código de integración
  • Registro centralizado de scripts y estilos, encolados por página
  • Espacio de nombres propio en compilación para las dependencias: sin conflictos
  • Una vía de verificación reutilizable desde cualquier formulario
  • Objeto de opciones tipado en lugar de constantes dispersas

Instalación

  1. Suba la carpeta del plugin a /wp-content/plugins/ y actívelo
  2. Introduzca la clave de sitio y el secreto de la consola del proveedor de captcha
  3. Elija la versión de captcha: casilla o invisible con puntuación
  4. Renderice el campo en su formulario y llame al ayudante de verificación al enviar
  5. Envíe el formulario como usuario real para confirmar que el veredicto es positivo

Disponible para colaboración por contrato

Estoy disponible para colaborar por contrato. Si tiene una idea de proyecto interesante, reserve una llamada por Calendly.

Agenda una llamada de 30 min