Von hCaptcha zu CaptchaLa migrieren
Drop-in-Ersatz in unter 10 Minuten. Gleiche Formularstruktur – schnelleres Widget, keine Bildklassifizierungs-Runden, und Ihr Traffic bleibt Ihr Traffic.
So sieht die Code-Änderung aus
<div class="h-captcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://js.hcaptcha.com/1/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://api.hcaptcha.com/siteverify', {
method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
secret: process.env.HCAPTCHA_SECRET,
response: req.body['h-captcha-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' })Migrationsschritte
- 1
Registrieren & App Key + Secret holen
Legen Sie ein kostenloses CaptchaLa-Konto an, fügen Sie eine Site hinzu und kopieren Sie den App Key (öffentlich) und das App Secret (serverseitig). Keine Karte erforderlich.
- 2
Widget-Tag austauschen
Ersetzen Sie die Klasse h-captcha durch captchala, data-sitekey durch data-app-key und die Script-src durch unsere CDN-URL. Die Struktur bleibt identisch.
- 3
Namen des versteckten Felds anpassen
hCaptcha fügt h-captcha-response ein; CaptchaLa fügt captchala-token ein. Suchen und ersetzen Sie den Feldnamen in Ihrem Formular-Handler, falls Sie ihn über den Namen referenzieren.
- 4
Server-Verifizierung aktualisieren
Ändern Sie den Endpunkt auf apiv1.captcha.la/v1/validate. Wir nutzen JSON (hCaptcha nutzt form-urlencoded), also passen Sie Content-Type und Body an. Das valid-Flag (data.valid) bleibt in der Antwort – die Verzweigungslogik bleibt.
- 5
Schrittweise ausrollen
Setzen Sie CaptchaLa zuerst auf ein Formular und messen Sie ein paar Stunden lang Conversion und Challenge-Rate. Die meisten Teams sehen sofort eine gleichbleibende oder bessere Abschlussrate, weil die Bildklassifizierungs-Runden wegfallen.
Schneller: Plugin verwenden
WordPress + WooCommerce
Ersetzen Sie Ihr hCaptcha-WordPress-Plugin durch das offizielle CaptchaLa-Plugin. Deckt Login, Registrierung, Kommentare, WooCommerce, CF7, Gravity, WPForms in einer Installation ab.
View integration →Flarum
Ersetzen Sie Ihre Flarum-hCaptcha-Erweiterung per Composer durch die offizielle CaptchaLa-Erweiterung.
View integration →Häufige Fragen
Was passiert mit meinem hCaptcha-Konto?
Nichts – lassen Sie es, wie es ist, und senden Sie einfach keine Anfragen mehr. Es gibt keinen Vertrag, keinen Kündigungsschritt. Das Konto bleibt inaktiv. Wenn Sie es formell schließen möchten, bietet hCaptcha eine Self-Service-Option zur Kontolöschung.
Werden sich die Core Web Vitals verbessern?
Meist ja. Das hCaptcha-Widget fügt dem LCP auf Formularseiten typischerweise 400–600 ms hinzu. Das CaptchaLa-Widget zielt auf <100 ms. Der genaue Unterschied hängt vom restlichen Budget Ihrer Seite ab, aber auf formularlastigen Seiten ist die Differenz spürbar.
Was ist mit den hCaptcha-Enterprise-Funktionen, die ich nutze?
Die meisten Enterprise-Funktionen (eigene Themes, erweitertes Risk-Scoring, Analytics-Dashboards) haben direkte Entsprechungen im Standard-Tarif von CaptchaLa. Die Migrationsseite in den Docs listet jede Funktion und ihr CaptchaLa-Gegenstück auf.