Как я перестал платить за мусорные лиды
Он использовал WPForms из-за аддона Form Abandonment, который сохраняет незавершённые заявки, но встроенная проверка телефона там смотрит только на формат и пропускает короткие наборы цифр вроде 123 или 9999999. Сначала валидация жила в functions.php темы, но такой подход приходилось переносить вручную на каждый новый лендинг и можно было сломать при обновлении.
Phone Validator for WPForms перехватывает отправку формы и проверяет номер по нескольким правилам: длина, повторяющиеся цифры, блэклист, фильтр по кодам стран и троттлинг по IP для защиты от ботов и повторных сабмитов. После установки он автоматически подключается ко всем телефонным полям во всех формах WPForms, а в админке появляются настройки и история валидации; все заблокированные попытки пишутся в лог.
Дальше автор хочет добавить маску ввода, чтобы пользователь мог вводить цифры только в нужные позиции, и отдельные правила для каждой формы, если на одном WordPress работают разные лендинги. Плагин выложен бесплатно в репозитории WordPress.org, исходный код открыт на GitHub, есть английская и испанская локализация.
Коротко
- Встроенное поле телефона в WPForms проверяет только формат, поэтому может принять 123, 55 или 9999999 и засчитать такую заявку как нормальный лид.
- Автор вынес собственную валидацию из functions.php в отдельный плагин, чтобы ставить её на новые лендинги за минуту и не ломать при обновлении темы.
- Phone Validator for WPForms режет короткие номера, цепочки одинаковых цифр, номера из блэклиста и неподходящие коды стран до отправки формы.
- Плагин умеет ограничивать число успешных отправок с одного IP за период и пишет заблокированные попытки в лог для последующей проверки.
- Сейчас правила общие для всех форм сайта, а в планах — маска ввода телефона и отдельные настройки для каждой формы на одном WordPress.
FAQ
Зачем вообще добавлять отдельную проверку телефонов в WPForms, если стандартное поле уже следит за форматом и не даёт отправить совсем пустое значение?
Потому что форматная проверка не отсеивает очевидный мусор вроде 123 или 1111111. В итоге заявка уходит в воронку как обычный лид, хотя связаться с человеком нельзя.
Как именно плагин режет мусорные заявки и чем его подход отличается от ручной вставки кода в functions.php для каждого нового лендинга?
Он проверяет длину номера, повторяющиеся цифры, блэклист, код страны и лимит отправок с одного IP. В виде плагина это один раз настраивается в админке и автоматически работает во всех формах WPForms.
В каких случаях текущая версия может быть неудобной, если на одном сайте несколько лендингов с разными аудиториями и разными требованиями к номеру?
Сейчас правила глобальные для всех форм сайта, поэтому разные сценарии нельзя развести по отдельности. Автор планирует добавить настройки на уровне каждой формы и маску ввода.
Читайте также
- Форматная проверка телефона не защищает от мусорных лидов: Стандартная валидация телефонного поля в формах может проверять только внешний формат и при этом пропускать явно нерабочие номера вроде коротких наборов цифр или последовательностей из одинаковых символов. Для performance-лендингов этого недостаточно: такие заявки попадают в воронку как валидные, хотя по ним нельзя связаться с пользователем.
[Процесс]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться


На платном трафике форма захвата легко пропускает фиктивные телефоны, а рекламодатель платит за заявки, по которым нельзя дозвониться. Автор решил эту проблему для WPForms отдельным бесплатным плагином, который отсекает часть мусорных лидов ещё до отправки формы.