Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Капча на сайт: когда она нужна, какую выбрать и сколько заявок вы из-за неё теряете

Капча на сайт: когда она нужна, какую выбрать и сколько заявок вы из-за неё теряете
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

Капча на сайт ставится обычно в один день и по одной причине: в почту посыпался спам с формы обратной связи. Решение кажется очевидным, а цена — нулевой. Но у каждой преграды перед кнопкой «Отправить» есть цена, и платится она заявками, которых вы уже не увидите и не посчитаете. Человек, который не разобрал искажённые буквы с третьего раза, не пишет вам об этом — он закрывает вкладку.

Ниже — что капча действительно останавливает, а с чем не справляется в принципе, какие виды проверки существуют, что из возможностей сервисов подтверждено их документацией, а что домыслы, и как измерить потери в отчётах, а не на глаз. Отдельно — почему начинать стоит не с капчи. Если нужна доработка сайта и рост заявок руками, это тоже решаемо, но сперва разберитесь, какую задачу вы вообще закрываете.

Что капча останавливает, а с чем не справляется

Капча решает ровно один класс задач: отсекает автоматические отправки там, где есть поле ввода и кнопка. Практических сценариев три.

Первый — спам в формах: заявки с ссылками, текстом на чужих языках, бессмысленными наборами символов. Второй — перебор паролей на входе в панель управления и на восстановлении доступа: скрипт гоняет тысячи комбинаций, проверка на каждой попытке делает это бессмысленным. Третий — автоматическая регистрация и массовая отправка форм, когда у вас есть личный кабинет или каталог с фильтрами, которые кто-то перебирает через форму поиска.

А теперь главное, чего капча не делает. Она не останавливает имитацию визитов. Искусственные посещения заходят на страницу, проводят на ней несколько секунд и уходят: форму они не открывают, кнопку не нажимают, поля не заполняют. Капча стоит на отправке формы — значит, для этого сценария её просто нет. Поставить капчу против накрутки посещаемости — то же самое, что повесить замок на калитку, через которую никто и не ходил, и потом удивляться, что во дворе по-прежнему шумно.

Здесь же стоит зафиксировать рамку: искусственное наращивание посещаемости Яндекс относит к нарушению «Имитация действий пользователей», за него сайт ограничивают в ранжировании. Владельцу, на чей сайт идёт такой трафик, нужны блокировки на уровне сервера, а не преграды в форме.

Не решает капча и парсинг каталога. Парсер не отправляет формы — он просто скачивает страницы. Если вас беспокоит, что конкурент тянет прайс, проверка перед кнопкой тут бесполезна, помогает ограничение частоты запросов.

Пять видов проверки: от ловушки до картинок с заданиями

Виды перечислены по возрастанию заметности для посетителя. Логика та же, что в любой защите: чем меньше человек замечает, тем меньше вы теряете.

Скрытое поле-ловушка. В разметку формы добавляется поле, убранное с экрана и помеченное для программ чтения с экрана как «не заполнять». Человек его не видит. Примитивный бот заполняет все поля подряд — и если поле пришло непустым, отправка отбрасывается на сервере. Ноль преград для клиента, ноль стоимости. Оговорка: отбрасывать нужно именно на сервере, проверка скриптом в браузере обходится элементарно.

Проверка времени заполнения. Форма запоминает момент, когда её открыли. Если отправка пришла через полсекунды, это не человек. Порог берут с запасом — три-четыре секунды, чтобы не задеть тех, кто вставляет данные из буфера обмена. Тоже невидимо и тоже бесплатно.

Невидимая проверка. Сервис анализирует поведение и параметры запроса и показывает задание только тем, кого счёл подозрительным. Остальные просто нажимают «Отправить». Это компромисс: большинство клиентов ничего не замечает, меньшинство получает задание.

Кнопка «Я не робот». Одно нажатие, после которого система либо пропускает, либо выдаёт задание. Уже заметная преграда, но привычная.

Картинки с заданиями. Выбрать светофоры, разобрать искажённые буквы, собрать пазл. Самый дорогой для вас вариант: часть людей ошибается, часть раздражается, часть уходит. На мобильном экране цена выше — попасть пальцем в нужный квадрат сложнее, чем мышкой.

Что подтверждено документацией, а что домыслы

Вокруг капч много пересказов. Полезно держаться того, что написано в документации самих сервисов.

Из российских решений подробно документирован Yandex SmartCaptcha. В официальной документации подтверждено следующее. Сервис определяет, человек перед ним или программа. Есть режим невидимой капчи: защита показывается только тем запросам, которые сервис счёл подозрительными. Есть обычный режим с кнопкой «Я не робот». После проверки выдаётся одноразовый токен, действующий пять минут; повторное использование того же токена возвращает ошибку. Результат подтверждается серверным запросом к адресу проверки с секретным ключом и этим токеном, в ответе приходит статус: проверка пройдена или нет. Передавать адрес посетителя в этом запросе не обязательно, но рекомендуется.

Практический вывод из последнего абзаца важнее, чем кажется. Если проверка не подтверждается на сервере, капча на сайте — украшение: отправку можно сделать в обход виджета. Половина жалоб «поставили капчу, а спам идёт» объясняется именно этим.

С зарубежными сервисами картина другая, и дело не в качестве. Любая такая проверка передаёт данные о вашем посетителе на сервер за пределами страны. По статье 12 закона «О персональных данных» оператор до начала деятельности по трансграничной передаче обязан уведомить уполномоченный орган, причём отдельным уведомлением — не тем, которое подаётся об обработке данных вообще. В уведомлении указывают цели и основания передачи, категории данных, перечень стран и меры защиты. Плюс сам сервис нужно упомянуть в политике обработки данных на сайте. Для малого бизнеса это лишняя процедура там, где есть российский аналог.

Сколько заявок стоит капча и как это измерить

Здесь нет универсальной цифры, и любой, кто её называет, эту цифру придумал. Зато есть способ посчитать потери на вашем сайте, а не в среднем по интернету.

В Метрике включается аналитика форм — отдельная опция в настройках счётчика, в одной строке с Вебвизором и картой скроллинга. После этого по форме видно три величины: сколько раз просмотрели страницу с формой, сколько раз с формой взаимодействовали и сколько форм отправили. Отношение второго к третьему и есть ваш показатель. Поставили капчу — сравните это отношение до и после на сопоставимом отрезке времени.

Одна техническая оговорка из справки Метрики: данные по форме собираются корректно, если на сайте используется кодировка UTF-8, содержимое передаётся событием submit и поля формы не скрыты значением display:none. Последнее прямо касается скрытого поля-ловушки: прячьте его выносом за пределы экрана, иначе отчёт по форме будет неполным.

Параллельно нужна цель на отправку. В Метрике для этого есть готовые типы — «Отправка формы» и «Клик по кнопке», а для случаев, когда адрес страницы не меняется, подходит JavaScript-событие. Как выбрать тип и не испортить статистику, разобрано в материале про настройку целей в Яндекс Метрике.

Условный пример расчёта, чтобы было понятно, как рассуждать. Допустим, за месяц страницу с формой открыли 1 000 раз, взаимодействовать с формой начали 120 человек, отправили 60. После установки капчи при тех же 120 начавших отправили 48. Разница — 12 заявок в месяц. Дальше вопрос арифметики: если средняя сделка приносит вам 15 000 рублей, а закрывается каждая пятая заявка, эти 12 заявок стоят примерно 36 000 рублей в месяц. Цифры здесь взяты для иллюстрации — подставьте свои, и решение обычно становится очевидным.

Задача, капча и чем её заменить

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

Задача Нужна ли капча Чем заменить или дополнить
Спам в форме обратной связи Не сразу Сначала скрытое поле-ловушка и проверка времени заполнения. Спам не ушёл — тогда невидимая проверка
Перебор паролей на входе в панель Да Плюс лимит попыток входа, второй фактор и жёсткое ограничение частоты запросов к этому адресу
Перебор на восстановлении пароля Да Плюс одинаковый ответ независимо от того, есть такой адрес почты в базе или нет
Искусственные визиты на страницы Нет Блокировка подсетей дата-центров на уровне сервера. Капча тут бесполезна полностью
Парсинг каталога и цен Нет Ограничение частоты запросов, отдача тяжёлых выгрузок только авторизованным
Автоматическая регистрация в кабинете Да Плюс подтверждение почты или телефона перед активацией
Нагрузка на сервер от запросов Нет Лимит частоты, кэширование, блокировка источника
Мусорные отзывы и комментарии Иногда Премодерация и ловушка обычно достаточны, капча — если поток не спадает

Строки с ответом «нет» — самые ценные в этой таблице. Именно в этих сценариях капчу ставят чаще всего и совершенно зря, теряя заявки и не решая исходную проблему.

Где капча нужна почти всегда

Есть два места, где проверку стоит поставить, не считая потери: вход в панель управления и восстановление пароля. Причина простая — цена ошибки несимметрична. Потеря заявки стоит денег, потеря доступа к сайту стоит сайта.

Перебор паролей идёт круглосуточно у всех, это фоновый шум интернета. Скрипт пробует сочетания логинов вроде admin и распространённых паролей. Проверка на входе делает такой перебор бессмысленным, а неудобство вы ощущаете ровно один раз в день, когда заходите сами. Здесь же уместен второй фактор: какие аккаунты закрывать им в первую очередь, подробно разобрано в материале про двухфакторную аутентификацию для бизнеса.

Восстановление пароля — вторая дверь в тот же дом, и про неё забывают. Форма «забыли пароль» позволяет ещё и перебирать адреса почты: по разному ответу системы видно, зарегистрирован такой адрес или нет. Ставьте проверку и делайте ответ одинаковым в обоих случаях.

Всё, что связано с попаданием внутрь сайта, — отдельная большая тема, и капча там лишь один из слоёв; общая картина есть в разборе, как защитить сайт от взлома.

Порядок внедрения по шагам

Правильная последовательность экономит и время, и заявки. Она построена так, чтобы каждый следующий шаг делался только при неудаче предыдущего.

Шаг Что сделать Когда переходить дальше
1 Включить аналитику форм и цель на отправку, собрать данные за 2–4 недели Есть базовые цифры: взаимодействия с формой и отправки
2 Посчитать, сколько мусорных заявок приходит в неделю на самом деле Понятно, что это поток, а не пять писем в месяц
3 Добавить скрытое поле-ловушку с проверкой на сервере Подождать неделю и посмотреть, сколько спама осталось
4 Добавить проверку времени заполнения формы Ещё неделя наблюдения
5 Сократить форму до необходимых полей Число отправок не падает, а растёт
6 Если спам остался — подключить невидимую проверку Проверить, что валидация идёт на сервере, а не только в браузере
7 Поставить проверку на вход в панель и восстановление пароля Делается независимо от шагов 1–6, в любой момент
8 Через месяц сравнить отношение отправок к взаимодействиям Просело заметно — вернуться на шаг назад

Шаг пятый стоит в этом списке не случайно. Сокращение формы часто возвращает больше заявок, чем отнимает любая защита; механика разобрана в материале про то, как каждое лишнее поле формы стоит вам клиентов.

Когда это не сработает и когда нужен специалист

Ловушка и проверка времени бессильны, если скрипт написан именно под вашу форму. Такое бывает, когда сайт кому-то интересен персонально: конкурент, недовольный бывший подрядчик, сборщик контактов. Признак — спам приходит стабильно, с одинаковой структурой, и не реагирует на изменения в форме. Здесь помогает только проверка на стороне сервиса, а иногда ещё и разбор логов.

Капча не поможет, если форма отправляется не туда. Классика: заявки уходят на почту, которая переполнена, или попадают в папку спама у вашего же почтового провайдера. Владелец уверен, что заявок нет, ставит капчу от несуществующего спама и делает хуже. Прежде чем что-то защищать, отправьте тестовую заявку и убедитесь, что письмо доходит.

Капча не спасёт сайт, который уже взломан: вредоносный код внутри отправляет что угодно откуда угодно, минуя любые формы. Если начали приходить странные письма от вашего же домена, проблема не в защите форм.

Специалист нужен в двух случаях. Первый — когда форма самописная и валидацию на сервере нужно встраивать в код: ошибка здесь ломает отправку целиком, и узнаёте вы об этом по тишине в почте. Второй — когда капча уже стоит, заявки просели, а откатить некому. Такие правки как раз входят в доработку сайта по конкретному списку. Если не уверены, что именно у вас происходит, опишите ситуацию через форму обратной связи — иногда хватает одного взгляда со стороны.

Частые вопросы

Капча снизит позиции сайта в поиске?

Сама по себе — нет, но косвенно повлиять может. Виджет проверки грузится со стороннего сервера и добавляет вес странице, а скорость загрузки поисковики учитывают. Плюс если из-за проверки люди чаще уходят, не достигнув цели, это ухудшает поведенческие показатели страницы. Поэтому ставить проверку на все страницы подряд не нужно — только туда, где есть отправка данных.

Можно ли ставить капчу сразу, не возясь с ловушкой?

Можно, но вы заплатите заявками за задачу, которая часто решается бесплатно. Скрытое поле ловит основную массу примитивного спама, а стоит десять минут работы. Логика «сначала невидимое, потом заметное» экономит деньги, а не время.

Что делать, если спам идёт, хотя капча стоит?

Первым делом проверьте, подтверждается ли проверка на сервере. Виджет в браузере сам по себе ничего не гарантирует: отправку можно сделать напрямую в обработчик, минуя страницу. Если серверная проверка есть и спам всё равно идёт, значит, форму заполняют вручную или скриптом с распознаванием — тогда смотрите на источник и закрывайте его на уровне сервера.

Нужно ли что-то писать в политике обработки данных?

Да. Сервис проверки получает сведения о посетителе, значит, его следует упомянуть среди тех, кому данные передаются. Для зарубежного сервиса добавляется отдельная процедура уведомления надзорного органа о трансграничной передаче до её начала. Российское решение эту часть работы снимает.

Капча на каждой странице защитит от ботовой нагрузки?

Нет, и это самый дорогой из возможных вариантов. Проверка на входе в сайт отсеет и живых посетителей, и поисковых роботов, если настроена неаккуратно, а нагрузка от парсеров никуда не денется — они просто перестанут заходить, вместе с вашими клиентами. Нагрузка лечится ограничением частоты запросов и блокировкой конкретных источников.

Коротко

Капча решает три задачи: спам в формах, перебор паролей и автоматические регистрации. Она не останавливает ни искусственные визиты на страницы, ни парсинг каталога — эти сценарии вообще не проходят через форму.

Начинайте не с капчи. Скрытое поле-ловушка и проверка времени заполнения невидимы для клиента, бесплатны и снимают основную массу примитивного спама. Прятать поле нужно выносом за пределы экрана, а не значением display:none, иначе сломается аналитика форм.

Любая проверка обязана подтверждаться на сервере. Виджет в браузере без серверной валидации ничего не защищает — отправку делают напрямую в обработчик. Это самая частая причина жалоб «капча стоит, а спам идёт».

У зарубежных сервисов помимо технической стороны есть правовая: передача данных за пределы страны требует отдельного уведомления надзорного органа до её начала, а сам сервис нужно указать в политике обработки данных. Российское решение эту работу снимает.

Потери считайте у себя, а не по чужим процентам: включите аналитику форм и цель на отправку, сравните отношение отправок к взаимодействиям до и после. На входе в панель и на восстановлении пароля проверку ставьте не считая — цена потери доступа несопоставима с ценой заявки.

И про канал в целом. Реклама даёт поток ровно до тех пор, пока идут списания: остановился бюджет, слетела модерация, поменялись правила площадки — и вечером звонков нет. Страницы, которые стоят в поиске, приносят обращения без ежедневного платежа, а каждое улучшение формы работает на оба канала сразу. Разумно держать оба и понемногу увеличивать долю собственного потока, который никто не выключит. Хотите посчитать, что даст такой сдвиг именно вам, — приходите на консультацию по продвижению сайта, посмотрим формы, цели и цифры вместе.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Алексей

Поставили капчу с картинками полгода назад из-за спама. Спам ушёл, но и заявок стало меньше — думали, сезон. Сейчас посмотрел аналитику форм: взаимодействий столько же, отправок на треть меньше. Никогда не связывал одно с другим.

Анатолий Кузнецов автор

Это самая типичная история в теме. Сделайте так: снимите картинки, поставьте вместо них скрытое поле с проверкой на сервере и проверку времени заполнения, и дайте две недели. Если спам не вернулся — вопрос закрыт, вы вернули себе треть отправок бесплатно. Если вернулся, но не в прежнем объёме, добавьте невидимую проверку: она показывает задание только подозрительным запросам, и большинство людей ничего не увидит. Картинки с заданиями я оставляю только на входе в панель, где потеря удобства ничего не стоит.

Богдан

Вопрос по скрытому полю. Разработчик говорит, что современные боты умеют определять скрытые поля и их не заполняют. Тогда смысл?

Анатолий Кузнецов автор

Разработчик прав наполовину. Скрипт, написанный под вашу конкретную форму, ловушку обойдёт — он знает про неё. Но основная масса спама идёт от универсальных программ, которые ходят по тысячам сайтов подряд и заполняют все поля, какие нашли в разметке. Именно их ловушка и отсекает, и по моей практике это большая часть потока. Стоит она десять минут работы, вреда посетителю ноль. Логика такая: дешёвая мера, которая снимает восемьдесят процентов проблемы, лучше дорогой, которая снимает сто и забирает часть заявок.

Валентина

Спасибо за оговорку про display:none. У нас именно так и было спрятано поле, а потом полгода недоумевали, почему в аналитике форм данные кривые.

Геннадий

Не соглашусь с тезисом, что капча против накрутки не работает. У нас были всплески посещений, поставили проверку — и через неделю всё успокоилось. Совпадение маловероятно.

Анатолий Кузнецов автор

Проверить это легко, и я бы на вашем месте проверил, прежде чем делать вывод. Всплески такого рода живут волнами: у меня четыре волны за месяц с небольшим, каждая длилась от нескольких часов до суток и заканчивалась сама, независимо от того, что я успевал сделать. Так что неделя тишины после установки ничего не доказывает. Второй довод технический: чтобы капча сработала, запрос должен дойти до формы и нажать кнопку. Посмотрите в отчёте, сколько таких визитов вообще доходило до страницы с формой, — обычно это ноль. Если у вас иначе и в отчёте видны массовые открытия формы, напишите, это будет интересный случай.

Дарья

А есть смысл ставить капчу на форму подписки на рассылку? Там всего одно поле, и спам-адреса лезут десятками.

Егор

Дарья, у нас на подписке помогло подтверждение адреса письмом. Боты оставляют чужие или несуществующие адреса, подтверждение никто не нажимает, и база чистая. Капчу так и не поставили.

Зинаида

У нас интернет-магазин, и я много раз видела, как люди на телефоне не могут попасть в квадратики с картинками. Особенно возрастные покупатели. Три попытки — и звонят по телефону вместо заказа, хорошо хоть звонят.

Игорь

Про серверную проверку — не понял. У нас капча на странице стоит, виджет показывается, но спам идёт. Как понять, подтверждается ли что-то на сервере?

Анатолий Кузнецов автор

Спросите у того, кто ставил, один конкретный вопрос: делает ли обработчик формы запрос к сервису проверки с секретным ключом и полученным токеном и отбрасывает ли отправку при отрицательном ответе. Если ответ «виджет же стоит» — значит, не делает. Признак со стороны: в коде страницы виден только скрипт виджета, а секретный ключ нигде на сервере не прописан. У Yandex SmartCaptcha это описано прямо в документации: после проверки выдаётся одноразовый токен на пять минут, и результат нужно запросить отдельным запросом с сервера. Без этого шага защиты нет вообще.

Константин

Добавлю практическое. Мы вместо капчи сократили форму с семи полей до трёх и включили ловушку. Спама стало меньше в разы, а заявок больше. Мусор, оказывается, генерировали не только боты, но и наши же лишние поля, которые люди заполняли как попало.

Людмила

Про закон не поняла. Мы небольшая студия, форма собирает имя и телефон, стоит зарубежная капча. Нам правда надо что-то подавать?

Анатолий Кузнецов автор

Я не юрист и не дам вам заключение по вашей ситуации, но общий порядок в законе описан однозначно: до начала трансграничной передачи персональных данных оператор обязан уведомить уполномоченный орган, и это отдельное уведомление, не то же самое, что уведомление об обработке. В нём указывают цели передачи, категории данных, страны и меры защиты. Практический совет для небольшой студии простой: замените зарубежный виджет на российский и снимите вопрос целиком. Это работа на час, а разбирательство с бумагами — совсем другая история по времени.

Максим

Сделал по шагам из таблицы: сначала ловушка, потом время заполнения. Спам в почте упал с тридцати писем в неделю до двух. До невидимой проверки дело так и не дошло, а капчу снял вообще.

Анна

Отдельное спасибо за пункт про восстановление пароля. Стояла проверка на входе, а на восстановлении не было — и именно туда шёл перебор, сотни попыток в сутки. Закрыли за вечер.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх