Guide de migration

Migrer de hCaptcha vers CaptchaLa

Remplacement prêt à l'emploi en moins de 10 minutes. Même forme de formulaire — widget plus rapide, sans tours de classification d'images, et votre trafic reste votre trafic.

hhCaptchaCurrent setup~10 minCaptchaLaDrop-in target

À quoi ressemble le changement de code

Avant — hCaptcha
<div class="h-captcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
Après — CaptchaLa
<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>
Avant — vérification serveur hCaptcha (Node)
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' })
Après — vérification serveur CaptchaLa (Node)
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' })

Étapes de migration

  1. 1

    Inscrivez-vous et récupérez votre App Key + Secret

    Créez un compte CaptchaLa gratuit, ajoutez un site, et copiez l'App Key (publique) et l'App Secret (côté serveur). Aucune carte requise.

  2. 2

    Remplacez la balise du widget

    Remplacez la classe h-captcha par captchala, data-sitekey par data-app-key, et le script src par l'URL de notre CDN. La structure reste identique.

  3. 3

    Mettez à jour le nom du champ caché

    hCaptcha injecte h-captcha-response ; CaptchaLa injecte captchala-token. Faites un rechercher-remplacer du nom du champ dans votre gestionnaire de formulaire si vous y faites référence par son nom.

  4. 4

    Mettez à jour la vérification serveur

    Changez l'endpoint pour apiv1.captcha.la/v1/validate. Nous utilisons du JSON (hCaptcha utilise du form-urlencoded), mettez donc à jour le Content-Type et le corps. L'indicateur valid (data.valid) reste présent dans la réponse — la logique de branchement ne change pas.

  5. 5

    Déployez progressivement

    Déployez d'abord CaptchaLa sur un seul formulaire, mesurez la conversion et le taux de challenge pendant quelques heures. La plupart des équipes constatent une complétion stable ou améliorée immédiatement, car les tours de classification d'images disparaissent.

Questions fréquentes

Qu'advient-il de mon compte hCaptcha ?

Rien — laissez-le tel quel et cessez d'envoyer des requêtes. Aucun contrat, aucune étape de notification. Le compte reste dormant. Si vous souhaitez le fermer formellement, hCaptcha propose une suppression de compte en libre-service.

Les Core Web Vitals vont-ils s'améliorer ?

Généralement oui. Le widget de hCaptcha ajoute typiquement 400 à 600 ms au LCP sur les pages de formulaire. Le widget de CaptchaLa vise <100ms. L'écart exact dépend du reste du budget de votre page, mais sur les pages riches en formulaires la différence est notable.

Et les fonctionnalités hCaptcha Enterprise que j'utilise ?

La plupart des fonctionnalités entreprise (thèmes personnalisés, scoring de risque avancé, tableaux de bord analytiques) ont des équivalents directs dans le plan standard de CaptchaLa. La page de migration de la documentation liste chaque fonctionnalité et son équivalent CaptchaLa.