Подключение Google reCAPTCHA в WordPress: подробная инструкция

Google reCAPTCHA — это бесплатный сервис от Google, который помогает защитить сайт от спама, ботов и автоматических регистраций. Чаще всего reCAPTCHA используется для защиты форм обратной связи, комментариев, регистрации пользователей и страниц входа в WordPress.

Шаг 1. Зарегистрируйте сайт в Google reCAPTCHA

Перейдите на страницу Google reCAPTCHA:

 https://www.google.com/recaptcha/admin 

Авторизуйтесь в аккаунте Google и нажмите кнопку создания нового сайта.

Заполните следующие поля:

  • Label — название проекта.
  • reCAPTCHA type — выберите версию капчи.
  • Domains — укажите домен сайта без https://.
  • Owners — список владельцев проекта.

Для WordPress обычно используют:

  • reCAPTCHA v2 («Я не робот»);
  • reCAPTCHA v3 (невидимая защита).

После регистрации Google выдаст два ключа:

 Site Key Secret Key 

Сохраните их — они понадобятся для настройки сайта.

Шаг 2. Подключение reCAPTCHA через плагин

Самый простой способ — использовать готовый плагин.

Популярные решения:

  • Advanced Google reCAPTCHA;
  • Simple Google reCAPTCHA;
  • WPForms;
  • Contact Form 7;
  • Login No Captcha reCAPTCHA.

Установите выбранный плагин через:

 Плагины → Добавить новый 

После активации откройте настройки плагина и вставьте:

 Site Key Secret Key 

Сохраните изменения.

Шаг 3. Подключение reCAPTCHA v2 вручную

Если вы разрабатываете собственную тему или форму, можно подключить капчу напрямую.

Добавьте перед закрывающим тегом </head>:

 <script src="https://www.google.com/recaptcha/api.js" async defer></script> 

Затем добавьте блок капчи в форму:

 <form method="post"> <input type="text" name="name"> <div class="g-recaptcha" data-sitekey="ВАШ_SITE_KEY"> </div> <button type="submit"> Отправить </button> </form> 

После этого на странице появится стандартный чекбокс «Я не робот».

Шаг 4. Проверка reCAPTCHA на сервере

Недостаточно вывести капчу на страницу. Необходимо проверить ответ Google на сервере.

Пример PHP-кода:

 $secret = 'ВАШ_SECRET_KEY'; $response = $_POST['g-recaptcha-response']; $verify = file_get_contents( 'https://www.google.com/recaptcha/api/siteverify?secret=' . $secret . '&response=' . $response ); $result = json_decode($verify); if ($result->success) { echo 'Проверка пройдена'; } else { echo 'Ошибка проверки'; } 

Только после успешной проверки следует обрабатывать форму.

Шаг 5. Подключение reCAPTCHA к комментариям WordPress

Чтобы добавить защиту в форму комментариев, используйте хук WordPress.

Добавьте код в functions.php:

 function add_recaptcha_comment_form() { ?> <div class="g-recaptcha" data-sitekey="ВАШ_SITE_KEY"> </div> <?php } add_action( 'comment_form_after_fields', 'add_recaptcha_comment_form' ); add_action( 'comment_form_logged_in_after', 'add_recaptcha_comment_form' ); 

Теперь капча будет отображаться в форме комментариев.

Шаг 6. Проверка комментария перед отправкой

Чтобы пользователь не мог отправить комментарий без прохождения проверки, добавьте серверную валидацию.

 function verify_comment_recaptcha($commentdata) { if ( empty( $_POST['g-recaptcha-response'] ) ) { wp_die( 'Подтвердите, что вы не робот.' ); } return $commentdata; } add_filter( 'preprocess_comment', 'verify_comment_recaptcha' ); 

Шаг 7. Подключение reCAPTCHA к странице входа WordPress

Для защиты страницы авторизации используйте следующий код.

Вывод капчи:

 function login_recaptcha() { echo ' 
'; } add_action( 'login_form', 'login_recaptcha' );

Подключение скрипта:

 function login_recaptcha_script() { wp_enqueue_script( 'recaptcha', 'https://www.google.com/recaptcha/api.js' ); } add_action( 'login_enqueue_scripts', 'login_recaptcha_script' ); 

Подключение reCAPTCHA v3

Версия v3 работает незаметно для пользователя и присваивает каждому действию рейтинг доверия.

Подключение JavaScript:

 <script src=" https://www.google.com/recaptcha/api.js?render=SITE_KEY" ></script> 

Получение токена:

 grecaptcha.ready(function() { grecaptcha.execute( 'SITE_KEY', {action: 'submit'} ).then(function(token) { document.getElementById( 'g-token' ).value = token; }); }); 

В форме создается скрытое поле:

 <input type="hidden" id="g-token" name="g-token"> 

Затем токен проверяется через API Google на сервере.

Как проверить работу reCAPTCHA

  1. Откройте страницу с формой.
  2. Убедитесь, что капча отображается.
  3. Попробуйте отправить форму без прохождения проверки.
  4. Проверьте успешную отправку после подтверждения.
  5. Убедитесь в отсутствии ошибок JavaScript в консоли браузера.

Частые ошибки

  • Указан неправильный домен в настройках Google.
  • Перепутаны Site Key и Secret Key.
  • Отсутствует серверная проверка.
  • Не подключен JavaScript API.
  • Используется HTTP вместо HTTPS.
  • Кэш сайта не обновлен после настройки.

Что выбрать: v2 или v3

Версия Преимущества
reCAPTCHA v2 Простая настройка и высокая надежность
reCAPTCHA v3 Не требует действий пользователя

Для большинства сайтов WordPress оптимальным вариантом считается reCAPTCHA v2. Для интернет-магазинов, корпоративных сайтов и крупных проектов чаще используют reCAPTCHA v3 в сочетании с дополнительными средствами антиспам-защиты.

Метки: ,