Panduan migrasi

Migrasi dari hCaptcha ke CaptchaLa

Pengganti drop-in dalam kurang dari 10 menit. Bentuk formulir tetap sama — widget lebih cepat, tanpa ronde klasifikasi gambar, dan lalu lintas Anda tetap milik Anda.

hhCaptchaCurrent setup~10 minCaptchaLaDrop-in target

Seperti apa perubahan kodenya

Before — hCaptcha
<div class="h-captcha" data-sitekey="YOUR_SITE_KEY"></div>
<script src="https://js.hcaptcha.com/1/api.js" async defer></script>
After — 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>
Before — hCaptcha server verify (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' })
After — CaptchaLa server verify (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' })

Langkah migrasi

  1. 1

    Daftar & ambil App Key + Secret Anda

    Buat akun CaptchaLa gratis, tambahkan situs, lalu salin App Key (publik) dan App Secret (sisi server). Tanpa kartu kredit.

  2. 2

    Tukar tag widget

    Ganti class h-captcha dengan captchala, data-sitekey dengan data-app-key, dan script src dengan URL CDN kami. Strukturnya tetap identik.

  3. 3

    Perbarui nama field tersembunyi

    hCaptcha menyisipkan h-captcha-response; CaptchaLa menyisipkan captchala-token. Lakukan search-and-replace nama field di handler formulir Anda jika Anda merujuknya berdasarkan nama.

  4. 4

    Perbarui verifikasi server

    Ubah endpoint menjadi apiv1.captcha.la/v1/validate. Kami memakai JSON (hCaptcha memakai form-urlencoded), jadi perbarui Content-Type dan body. Flag valid (data.valid) tetap ada di respons — kode percabangan tetap utuh.

  5. 5

    Luncurkan secara bertahap

    Pasang CaptchaLa di satu formulir dulu, ukur konversi dan tingkat challenge selama beberapa jam. Kebanyakan tim langsung melihat penyelesaian formulir stabil atau membaik karena ronde klasifikasi gambar sudah hilang.

Pertanyaan umum

Apa yang terjadi dengan akun hCaptcha saya?

Tidak ada — biarkan apa adanya dan berhenti mengirim permintaan. Tidak ada kontrak, tidak ada langkah notifikasi. Akun tetap dormant. Jika ingin menutupnya secara resmi, hCaptcha punya opsi penghapusan akun mandiri.

Apakah Core Web Vitals akan membaik?

Biasanya ya. Widget hCaptcha umumnya menambah 400–600ms pada LCP di halaman formulir. Widget CaptchaLa menargetkan <100ms. Selisih pastinya tergantung budget lain halaman Anda, tetapi pada halaman padat formulir perbedaannya terasa.

Bagaimana dengan fitur hCaptcha Enterprise yang saya pakai?

Sebagian besar fitur enterprise (tema kustom, skor risiko lanjutan, dashboard analitik) punya padanan langsung di paket standar CaptchaLa. Halaman migrasi di dokumentasi mencantumkan setiap fitur dan padanan CaptchaLa-nya.