Переход с hCaptcha на CaptchaLa
Прямая замена менее чем за 10 минут. Та же форма — более быстрый виджет, без раундов классификации изображений, и ваш трафик остаётся вашим трафиком.
Как выглядит изменение кода
<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' })Шаги миграции
- 1
Зарегистрируйтесь и получите App Key + Secret
Создайте бесплатный аккаунт CaptchaLa, добавьте сайт и скопируйте App Key (публичный) и App Secret (серверный). Карта не требуется.
- 2
Замените тег виджета
Замените класс h-captcha на captchala, data-sitekey на data-app-key, а script src на URL нашего CDN. Структура остаётся идентичной.
- 3
Обновите имя скрытого поля
hCaptcha добавляет h-captcha-response; CaptchaLa добавляет captchala-token. Замените имя поля в обработчике формы, если вы обращаетесь к нему по имени.
- 4
Обновите серверную проверку
Смените эндпоинт на apiv1.captcha.la/v1/validate. Мы используем JSON (hCaptcha использует form-urlencoded), поэтому обновите Content-Type и тело. Флаг valid (data.valid) по-прежнему в ответе — логика ветвления остаётся.
- 5
Разворачивайте постепенно
Сначала подключите CaptchaLa на одной форме, измеряйте конверсию и частоту проверок несколько часов. Большинство команд сразу видят неизменное или улучшенное завершение, потому что раунды классификации изображений исчезли.
Быстрее: используйте плагин
WordPress + WooCommerce
Замените свой плагин hCaptcha для WordPress официальным плагином CaptchaLa. Покрывает вход, регистрацию, комментарии, WooCommerce, CF7, Gravity, WPForms в одной установке.
View integration →Flarum
Замените своё расширение hCaptcha для Flarum официальным расширением CaptchaLa через Composer.
View integration →Частые вопросы
Что будет с моим аккаунтом hCaptcha?
Ничего — оставьте его как есть и перестаньте отправлять запросы. Нет ни контракта, ни шага с уведомлением. Аккаунт останется неактивным. Если хотите официально его закрыть, у hCaptcha есть самостоятельная опция удаления аккаунта.
Улучшатся ли Core Web Vitals?
Обычно да. Виджет hCaptcha обычно добавляет 400–600 мс к LCP на страницах с формами. Виджет CaptchaLa нацелен на <100ms. Точная разница зависит от остального бюджета вашей страницы, но на страницах с большим числом форм разница заметна.
А что с функциями hCaptcha Enterprise, которые я использую?
Большинство корпоративных функций (кастомные темы, продвинутая оценка риска, дашборды аналитики) имеют прямые аналоги в стандартном тарифе CaptchaLa. Страница миграции в документации перечисляет каждую функцию и её аналог в CaptchaLa.