Migra de reCAPTCHA a CaptchaLa
Reemplazo directo en menos de 10 minutos. Conserva tus formularios y cambia el proveedor de verificación. Funciona con HTML puro, WordPress, Flarum y cualquier backend.
Cómo es el cambio de código
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://www.google.com/recaptcha/api.js" async defer></script><button id="login-btn">Sign in</button>
<script src="https://cdn.captcha-cdn.net/captchala-loader.js"></script>
<script>
loadCaptchala(() => Captchala.init({ appKey: 'YOUR_APP_KEY', action: 'login' })
.onSuccess(res => onToken(res.token))
.bindTo('#login-btn'));
</script>const res = await fetch('https://www.google.com/recaptcha/api/siteverify', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
secret: process.env.RECAPTCHA_SECRET,
response: req.body['g-recaptcha-response'],
}),
})
const data = await res.json()
if (!data.success) return res.status(400).json({ error: 'bot' })const res = await fetch('https://apiv1.captcha.la/v1/validate', {
method: 'POST',
headers: {
'X-App-Key': process.env.CAPTCHALA_APP_KEY,
'X-App-Secret': process.env.CAPTCHALA_APP_SECRET,
'Content-Type': 'application/json',
},
body: JSON.stringify({ pass_token: req.body['captchala-token'] }),
})
const { data } = await res.json()
if (!data || !data.valid) return res.status(400).json({ error: 'bot' })Pasos de migración
- 1
Regístrate y obtén tu App Key + Secret
Crea una cuenta gratuita en CaptchaLa, añade un sitio y copia la App Key (pública) y el App Secret (lado servidor). Sin tarjeta requerida.
- 2
Cambia la etiqueta del widget en tu formulario
Reemplaza el div y el script src de reCAPTCHA por los equivalentes de CaptchaLa. La clase de la etiqueta cambia de g-recaptcha a captchala, data-sitekey pasa a ser data-app-key, y la URL del script apunta a nuestro CDN.
- 3
Actualiza el nombre del campo de envío del formulario
reCAPTCHA inyecta un campo oculto llamado g-recaptcha-response. CaptchaLa usa captchala-token. Si tu manejador de formularios lee el campo por su nombre, renombra la constante; de lo contrario, el input oculto fluye automáticamente.
- 4
Actualiza la verificación del lado servidor
Apunta la petición de verificación a apiv1.captcha.la/v1/validate con las credenciales de la app en las cabeceras (X-App-Key / X-App-Secret) y pass_token en un cuerpo JSON. La respuesta devuelve el mismo flag valid (data.valid) que reCAPTCHA, así que tu lógica de ramificación existente se mantiene.
- 5
Despliega de forma gradual
La mayoría de los equipos lo lanzan primero en un formulario (a menudo el de menor tráfico — alta al boletín o contacto), observan la conversión y la tasa de desafíos durante unas horas, y luego expanden. No hay mínimo ni contrato, así que probar con un canario es gratis.
Más rápido: usa un plugin
WordPress + WooCommerce
Instala el plugin de CaptchaLa desde el directorio de WordPress, pega tu App Key + Secret, y el plugin gestiona inicio de sesión, registro, comentarios, checkout de WooCommerce y CF7/Gravity/WPForms en un solo lugar.
View integration →Flarum
Instala la extensión de CaptchaLa vía Composer, actívala en el panel de administración, y cubre registro, inicio de sesión, restablecimiento de contraseña y respuestas a publicaciones.
View integration →Preguntas frecuentes
¿Necesito migrar todos los formularios a la vez?
No. Los dos sistemas coexisten en el mismo sitio — no comparten estado ni cookies. Migra un formulario a la vez.
¿Y las puntuaciones de riesgo de reCAPTCHA Enterprise? ¿Se transfieren las puntuaciones?
Las puntuaciones no se transfieren (son internas del proveedor), pero CaptchaLa devuelve su propia puntuación de riesgo en la respuesta de verificación. El rango numérico y la lógica de decisión están documentados; los equipos suelen mapear su umbral de puntuación existente (p. ej. 0,5) al nuestro en una hora.
¿Se romperá mi verificación de sitio de Google u otras integraciones de Google?
No. reCAPTCHA es independiente de Search Console / Site Verification / Analytics. Eliminar la etiqueta de reCAPTCHA no afecta a ningún otro servicio de Google.
¿Hay un script de migración para sitios con muchas etiquetas de reCAPTCHA incrustadas?
No ofrecemos uno (el buscar y reemplazar es una expresión regular por repositorio, y la plantilla de cada base de código difiere). El fragmento de shell de 10 líneas que usan la mayoría de los equipos está en la documentación.