
Капча на сайт ставится обычно в один день и по одной причине: в почту посыпался спам с формы обратной связи. Решение кажется очевидным, а цена — нулевой. Но у каждой преграды перед кнопкой «Отправить» есть цена, и платится она заявками, которых вы уже не увидите и не посчитаете. Человек, который не разобрал искажённые буквы с третьего раза, не пишет вам об этом — он закрывает вкладку.
Ниже — что капча действительно останавливает, а с чем не справляется в принципе, какие виды проверки существуют, что из возможностей сервисов подтверждено их документацией, а что домыслы, и как измерить потери в отчётах, а не на глаз. Отдельно — почему начинать стоит не с капчи. Если нужна доработка сайта и рост заявок руками, это тоже решаемо, но сперва разберитесь, какую задачу вы вообще закрываете.
Капча решает ровно один класс задач: отсекает автоматические отправки там, где есть поле ввода и кнопка. Практических сценариев три.
Первый — спам в формах: заявки с ссылками, текстом на чужих языках, бессмысленными наборами символов. Второй — перебор паролей на входе в панель управления и на восстановлении доступа: скрипт гоняет тысячи комбинаций, проверка на каждой попытке делает это бессмысленным. Третий — автоматическая регистрация и массовая отправка форм, когда у вас есть личный кабинет или каталог с фильтрами, которые кто-то перебирает через форму поиска.
А теперь главное, чего капча не делает. Она не останавливает имитацию визитов. Искусственные посещения заходят на страницу, проводят на ней несколько секунд и уходят: форму они не открывают, кнопку не нажимают, поля не заполняют. Капча стоит на отправке формы — значит, для этого сценария её просто нет. Поставить капчу против накрутки посещаемости — то же самое, что повесить замок на калитку, через которую никто и не ходил, и потом удивляться, что во дворе по-прежнему шумно.
Здесь же стоит зафиксировать рамку: искусственное наращивание посещаемости Яндекс относит к нарушению «Имитация действий пользователей», за него сайт ограничивают в ранжировании. Владельцу, на чей сайт идёт такой трафик, нужны блокировки на уровне сервера, а не преграды в форме.
Не решает капча и парсинг каталога. Парсер не отправляет формы — он просто скачивает страницы. Если вас беспокоит, что конкурент тянет прайс, проверка перед кнопкой тут бесполезна, помогает ограничение частоты запросов.
Пять видов проверки: от ловушки до картинок с заданиями
Виды перечислены по возрастанию заметности для посетителя. Логика та же, что в любой защите: чем меньше человек замечает, тем меньше вы теряете.
Скрытое поле-ловушка. В разметку формы добавляется поле, убранное с экрана и помеченное для программ чтения с экрана как «не заполнять». Человек его не видит. Примитивный бот заполняет все поля подряд — и если поле пришло непустым, отправка отбрасывается на сервере. Ноль преград для клиента, ноль стоимости. Оговорка: отбрасывать нужно именно на сервере, проверка скриптом в браузере обходится элементарно.
Проверка времени заполнения. Форма запоминает момент, когда её открыли. Если отправка пришла через полсекунды, это не человек. Порог берут с запасом — три-четыре секунды, чтобы не задеть тех, кто вставляет данные из буфера обмена. Тоже невидимо и тоже бесплатно.
Невидимая проверка. Сервис анализирует поведение и параметры запроса и показывает задание только тем, кого счёл подозрительным. Остальные просто нажимают «Отправить». Это компромисс: большинство клиентов ничего не замечает, меньшинство получает задание.
Кнопка «Я не робот». Одно нажатие, после которого система либо пропускает, либо выдаёт задание. Уже заметная преграда, но привычная.
Картинки с заданиями. Выбрать светофоры, разобрать искажённые буквы, собрать пазл. Самый дорогой для вас вариант: часть людей ошибается, часть раздражается, часть уходит. На мобильном экране цена выше — попасть пальцем в нужный квадрат сложнее, чем мышкой.
Что подтверждено документацией, а что домыслы
Вокруг капч много пересказов. Полезно держаться того, что написано в документации самих сервисов.
Из российских решений подробно документирован 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-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Алексей
Поставили капчу с картинками полгода назад из-за спама. Спам ушёл, но и заявок стало меньше — думали, сезон. Сейчас посмотрел аналитику форм: взаимодействий столько же, отправок на треть меньше. Никогда не связывал одно с другим.
Анатолий Кузнецов автор
Это самая типичная история в теме. Сделайте так: снимите картинки, поставьте вместо них скрытое поле с проверкой на сервере и проверку времени заполнения, и дайте две недели. Если спам не вернулся — вопрос закрыт, вы вернули себе треть отправок бесплатно. Если вернулся, но не в прежнем объёме, добавьте невидимую проверку: она показывает задание только подозрительным запросам, и большинство людей ничего не увидит. Картинки с заданиями я оставляю только на входе в панель, где потеря удобства ничего не стоит.
Богдан
Вопрос по скрытому полю. Разработчик говорит, что современные боты умеют определять скрытые поля и их не заполняют. Тогда смысл?
Анатолий Кузнецов автор
Разработчик прав наполовину. Скрипт, написанный под вашу конкретную форму, ловушку обойдёт — он знает про неё. Но основная масса спама идёт от универсальных программ, которые ходят по тысячам сайтов подряд и заполняют все поля, какие нашли в разметке. Именно их ловушка и отсекает, и по моей практике это большая часть потока. Стоит она десять минут работы, вреда посетителю ноль. Логика такая: дешёвая мера, которая снимает восемьдесят процентов проблемы, лучше дорогой, которая снимает сто и забирает часть заявок.
Валентина
Спасибо за оговорку про display:none. У нас именно так и было спрятано поле, а потом полгода недоумевали, почему в аналитике форм данные кривые.
Геннадий
Не соглашусь с тезисом, что капча против накрутки не работает. У нас были всплески посещений, поставили проверку — и через неделю всё успокоилось. Совпадение маловероятно.
Анатолий Кузнецов автор
Проверить это легко, и я бы на вашем месте проверил, прежде чем делать вывод. Всплески такого рода живут волнами: у меня четыре волны за месяц с небольшим, каждая длилась от нескольких часов до суток и заканчивалась сама, независимо от того, что я успевал сделать. Так что неделя тишины после установки ничего не доказывает. Второй довод технический: чтобы капча сработала, запрос должен дойти до формы и нажать кнопку. Посмотрите в отчёте, сколько таких визитов вообще доходило до страницы с формой, — обычно это ноль. Если у вас иначе и в отчёте видны массовые открытия формы, напишите, это будет интересный случай.
Дарья
А есть смысл ставить капчу на форму подписки на рассылку? Там всего одно поле, и спам-адреса лезут десятками.
Егор
Дарья, у нас на подписке помогло подтверждение адреса письмом. Боты оставляют чужие или несуществующие адреса, подтверждение никто не нажимает, и база чистая. Капчу так и не поставили.
Зинаида
У нас интернет-магазин, и я много раз видела, как люди на телефоне не могут попасть в квадратики с картинками. Особенно возрастные покупатели. Три попытки — и звонят по телефону вместо заказа, хорошо хоть звонят.
Игорь
Про серверную проверку — не понял. У нас капча на странице стоит, виджет показывается, но спам идёт. Как понять, подтверждается ли что-то на сервере?
Анатолий Кузнецов автор
Спросите у того, кто ставил, один конкретный вопрос: делает ли обработчик формы запрос к сервису проверки с секретным ключом и полученным токеном и отбрасывает ли отправку при отрицательном ответе. Если ответ «виджет же стоит» — значит, не делает. Признак со стороны: в коде страницы виден только скрипт виджета, а секретный ключ нигде на сервере не прописан. У Yandex SmartCaptcha это описано прямо в документации: после проверки выдаётся одноразовый токен на пять минут, и результат нужно запросить отдельным запросом с сервера. Без этого шага защиты нет вообще.
Константин
Добавлю практическое. Мы вместо капчи сократили форму с семи полей до трёх и включили ловушку. Спама стало меньше в разы, а заявок больше. Мусор, оказывается, генерировали не только боты, но и наши же лишние поля, которые люди заполняли как попало.
Людмила
Про закон не поняла. Мы небольшая студия, форма собирает имя и телефон, стоит зарубежная капча. Нам правда надо что-то подавать?
Анатолий Кузнецов автор
Я не юрист и не дам вам заключение по вашей ситуации, но общий порядок в законе описан однозначно: до начала трансграничной передачи персональных данных оператор обязан уведомить уполномоченный орган, и это отдельное уведомление, не то же самое, что уведомление об обработке. В нём указывают цели передачи, категории данных, страны и меры защиты. Практический совет для небольшой студии простой: замените зарубежный виджет на российский и снимите вопрос целиком. Это работа на час, а разбирательство с бумагами — совсем другая история по времени.
Максим
Сделал по шагам из таблицы: сначала ловушка, потом время заполнения. Спам в почте упал с тридцати писем в неделю до двух. До невидимой проверки дело так и не дошло, а капчу снял вообще.
Анна
Отдельное спасибо за пункт про восстановление пароля. Стояла проверка на входе, а на восстановлении не было — и именно туда шёл перебор, сотни попыток в сутки. Закрыли за вечер.