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.
Seperti apa perubahan kodenya
<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' })Langkah migrasi
- 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
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
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
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
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.
Lebih cepat: gunakan plugin
WordPress + WooCommerce
Ganti plugin hCaptcha WordPress Anda dengan plugin resmi CaptchaLa. Mencakup login, registrasi, komentar, WooCommerce, CF7, Gravity, WPForms dalam satu pemasangan.
View integration →Flarum
Ganti ekstensi hCaptcha Flarum Anda dengan ekstensi resmi CaptchaLa via Composer.
View integration →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.