Чтобы подключить невидимую капчу Яндекса к стандартным формам WordPress, создайте SmartCaptcha в Yandex Cloud, получите два ключа, установите Yandex SmartCaptcha AntiSpam и проверьте отправку формы в приватном окне браузера. Всё выполняется через настройки, без изменения файлов темы.
Плагин и установочный ZIP · Исходный код на GitHub · Подключение собственных форм
1. Создайте SmartCaptcha в Yandex Cloud
- Перейдите в консоль Yandex Cloud и авторизуйтесь.
- Выберите облако и каталог, в котором будете использовать сервис.
- Откройте SmartCaptcha и создайте новую капчу.
- В настройках укажите домен WordPress, например
example.ruбез протокола. Уточните разрешённые поддомены, если сайт доступен и поwww.example.ru. - Сохраните капчу и откройте её карточку.
Названия некоторых разделов консоли могут изменяться. Актуальный порядок описан в официальной инструкции по созданию.
2. Получите клиентский и серверный ключи
В карточке созданной капчи найдите два ключа:
- Ключ клиента начинается с
ysc1_. Он предназначен для браузера, его допустимо показывать в HTML. - Ключ сервера начинается с
ysc2_. Это секрет, который использует WordPress для проверки ответа. Не размещайте его в публичном коде, письмах, скриншотах и GitHub.
Для проверки токена SmartCaptcha не нужны IAM-токен или API-ключ Yandex AI Studio — это другой сервис Яндекса.
Справка: какие ключи использует SmartCaptcha.
3. Установите плагин WordPress
- Скачайте архив
yandex-smartcaptcha-antispam-v1.0.0.zipна GitHub. - Откройте административную панель WordPress.
- Выберите Плагины → Добавить новый → Загрузить плагин.
- Выберите ZIP, нажмите «Установить», затем «Активировать».
- Откройте Настройки → Yandex AntiSpam.
Нужны WordPress от 6.0, PHP от 7.4 и OpenSSL. При отсутствии OpenSSL серверный ключ не удастся сохранить зашифрованным.
4. Введите ключи и выберите формы
В настройках вставьте ключ клиента в поле client_key, секретный ключ — в server_key. Нажмите «Сохранить настройки» и убедитесь, что плагин показывает «Защита активна».
По умолчанию включены:
- Стандартные комментарии на сайте.
- Стандартная регистрация WordPress.
- Восстановление пароля.
Защита входа wp-login.php по умолчанию выключена. Оставьте её выключенной до успешной проверки SmartCaptcha, чтобы ошибка настройки не заблокировала доступ администратора.
Авторизованные посетители, оставляющие комментарии, по умолчанию могут быть исключены из проверки. Это управляется отдельной настройкой.
5. Проверьте невидимую проверку
- Откройте страницу с формой комментария в приватном окне браузера.
- Заполните тестовое сообщение и отправьте форму.
- На обычном запросе вы не должны видеть постоянную галочку «Я не робот»: капча запускается во время отправки.
- Если Яндекс считает посещение подозрительным, он вправе показать дополнительное задание даже в невидимом режиме.
- Проверьте раздел статистики в Настройки → Yandex AntiSpam.
Тестировать лучше на тестовом сайте или с сообщением, которое можно удалить. Наличие невидимого режима не гарантирует отсутствия задания — оценку риска выполняет Яндекс.
6. Проверьте переход к видимой капче
Стандартная настройка: 3 отправки за 10 минут с одного IP для одного типа формы. Несколько раз отправьте тестовую форму с одного устройства.
После превышения порога при следующем открытии формы плагин использует стандартный видимый виджет с галочкой «Я не робот». Дополнительную головоломку Яндекс назначает по собственной оценке.
Порог можно установить от 2 до 15, а окно учёта — от 2 до 60 минут. Ошибочные ответы капчи и подозрительные комментарии могут ускорить переход к видимому режиму.
7. Включите защиту входа, если она нужна
Проверьте вход в тестовом окне, не закрывая рабочую сессию администратора. Затем включите защиту входа в настройках и выполните повторный тест. Если используете собственную форму авторизации, это не эквивалентно защите wp-login.php: понадобится интеграция.
8. Что делать, если капча не работает
Не появляется виджет
Проверьте, открывается ли в браузере загрузка https://smartcaptcha.cloud.yandex.ru/captcha.js, разрешён ли домен капчи и не блокируют ли скрипт браузерные расширения или политика CSP сайта. В невидимом режиме отсутствие постоянной галочки нормально.
Ошибка проверки или «неправильный домен»
Сверьте ключи и список разрешённых доменов в Yandex Cloud. Проверьте адреса с www и без www. При использовании IDN-домена проверьте сопоставление имени в ответе SmartCaptcha.
Отправки перестали проходить
Проверьте доступность https://smartcaptcha.cloud.yandex.ru/validate с сервера WordPress, настройки HTTPS, исходящих запросов и срок действия токена. В настройках есть режим обработки сетевой недоступности API.
Видимая капча появляется слишком часто
Проверьте порог повторов. За Nginx, Cloudflare или другим прокси убедитесь, что REMOTE_ADDR отражает реальный клиентский IP после корректной серверной настройки доверенных прокси.
Сайт работает с кешем
Режим капчи дополнительно запрашивается браузером через admin-ajax.php без кеша. Если кеширующий плагин или CDN блокирует такие запросы, исключите диагностированный endpoint из кеширования.
9. Политика персональных данных и безопасность
Yandex SmartCaptcha обрабатывает данные обращения. Ознакомьтесь с документацией Яндекса и обновите уведомление о внешних сервисах или политику конфиденциальности сайта по необходимости. Плагин не скрывает обязательное уведомление SmartCaptcha.
При сетевой ошибке проверки токена настройка fail-open по умолчанию позволяет продолжить отправку, чтобы форма не стала недоступной. Если приоритет — блокировать всё, что не удалось проверить, выключите этот режим. Отсутствующий и неверный токен не считается успешной проверкой.
10. Что делать с нестандартными формами
Для Contact Form 7, Elementor, WooCommerce, AJAX/REST и собственного плагина авторизации защита не включается автоматически. Разработчику нужен вызов рендера капчи и серверная проверка токена до выполнения действия.
Читайте инструкцию по интеграции собственных форм.
Полезные ссылки
- Карточка Yandex SmartCaptcha AntiSpam
- GitHub и установочный ZIP
- Официальная справка Yandex SmartCaptcha
Источник: https://yandex.cloud/ru/docs/smartcaptcha/operations/create-captcha
Материал был полезен?
Помогите нам сделать материалы точнее и понятнее.