Форма обратной связи на WordPress: как сделать, чтобы заявки доходили

Коротко

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

Надёжная форма обратной связи на WordPress держится на четырёх вещах: отправке писем через SMTP с почты вашего домена, правильных DNS-записях SPF, DKIM и DMARC, сохранении копии каждой заявки в базе сайта и защите от спама, которая не мешает людям. Если добавить к этому цель в Яндекс Метрике и регулярную проверку, заявки перестают теряться.

ПроблемаПочему возникаетРешение
Письма не приходят совсемХостинг ограничивает отправку через PHP mail()Отправка через SMTP почтового сервиса
Письма попадают в спамНет SPF, DKIM, DMARC, адрес отправителя с чужого доменаПочта на домене, DNS-записи, корректный отправитель
Заявки пропадают бесследноФорма только отправляет письмо и нигде не хранит данныеСохранение заявок в базе сайта
Поток спамаНет защиты или она слишком слабаяСкрытое поле-ловушка, капча, антиспам-сервис
Форма перестала работать после обновленияКонфликт кэширования, оптимизации JS или плагиновИсключения в кэше, проверка после обновлений

Основная мысль

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

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

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

WordPress формы: как устроена отправка заявки

Чтобы понимать, где искать поломку, полезно знать путь заявки от кнопки до почтового ящика.

Путь заявки по шагам

  1. Посетитель заполняет поля и нажимает кнопку отправки.
  2. Плагин формы проверяет поля, защиту от спама и формирует письмо.
  3. WordPress передаёт письмо своей функции отправки wp_mail.
  4. По умолчанию wp_mail отдаёт письмо почтовой системе сервера через PHP mail().
  5. Сервер отправляет письмо почтовому сервису получателя.
  6. Почтовый сервис проверяет отправителя и решает: входящие, спам или отказ.

Где чаще всего ломается

Самые проблемные шаги — четвёртый и шестой. На многих хостингах отправка через PHP mail() ограничена, работает нестабильно или вовсе отключена. А почтовые сервисы получателей с подозрением относятся к письмам, которые пришли с общего IP-адреса хостинга от имени домена без настроенных записей. Именно поэтому форма, которая годами работала, может однажды перестать доставлять письма без каких-либо изменений на сайте.

WordPress формы плагин: какой выбрать

Готовой формы в ядре WordPress нет, её добавляют плагином. Выбор зависит от задач: простая форма связи, многошаговая анкета, расчёт стоимости, приём файлов.

Популярные плагины

ПлагинСильные стороныНа что обратить внимание
Contact Form 7Бесплатный, лёгкий, огромное количество руководствНастройка через разметку, хранение заявок — отдельным плагином Flamingo
WPFormsВизуальный конструктор, много шаблоновЧасть функций, включая хранение заявок, — в платных версиях
Fluent FormsВизуальный конструктор, хранение заявок в бесплатной версииМного функций — нужно следить за нагрузкой
ForminatorФормы, опросы и калькуляторы в одном плагинеИнтерфейс перегружен для простых задач
Gravity FormsСложная логика, интеграции, условияТолько платная лицензия

Состав бесплатных и платных функций у плагинов меняется, поэтому перед выбором проверьте актуальное описание на странице плагина.

Как выбрать плагин для формы обратной связи WordPress

  • Простая форма связи — имя, телефон, сообщение. Хватит Contact Form 7 с Flamingo или бесплатной версии визуального конструктора.
  • Форма заявки с логикой — выбор услуги, условные поля, расчёт. Нужен конструктор с условной логикой.
  • Приём файлов — чертежи, резюме, фото. Важны ограничения по размеру и типам файлов и безопасное хранение.
  • Интеграция с CRM — готовое дополнение или вебхук.

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

Форма обратной связи WordPress: пошаговая настройка

Ниже — общий порядок настройки, который подходит для любого плагина.

Создание формы

  1. Установите выбранный плагин и создайте новую форму.
  2. Оставьте только нужные поля. Каждое лишнее поле снижает число заполнений.
  3. Сделайте телефон или почту обязательными, а поле сообщения — нет.
  4. Добавьте чекбокс согласия на обработку персональных данных со ссылкой на политику конфиденциальности.
  5. Настройте текст сообщения об успешной отправке и об ошибке.
  6. Вставьте форму на страницу шорткодом или блоком редактора.

Настройка письма

  • Кому. Рабочий ящик менеджера или общий ящик для заявок. Можно указать несколько адресов.
  • От кого. Адрес на домене сайта, например info@вашдомен.ru. Нельзя подставлять в поле отправителя почту посетителя: письмо от имени чужого домена почти гарантированно попадёт в спам или будет отклонено.
  • Ответить. Сюда подставляют почту посетителя, чтобы менеджер отвечал на заявку одной кнопкой.
  • Тема. С понятным признаком: «Заявка с сайта: обратный звонок». Так письма легко фильтровать.

Форма отправки WordPress и мобильные устройства

Большинство заявок сегодня приходит с телефонов. Проверьте, что поля удобно заполнять пальцем, для телефона открывается цифровая клавиатура, кнопка видна без прокрутки, а сообщения об ошибках понятны. Форма, которую неудобно заполнить на смартфоне, теряет заявки ещё до отправки.

Как сделать, чтобы письма доходили: SMTP и DNS

Это главный раздел статьи. Именно здесь теряется большинство заявок.

Отправка через SMTP

Вместо PHP mail() письма отправляют через SMTP-сервер почтового сервиса, в котором заведена почта вашего домена. Для этого ставят плагин SMTP, например WP Mail SMTP, FluentSMTP или Post SMTP, и указывают в нём сервер, порт, шифрование, логин и пароль ящика. Для почтовых сервисов, которые требуют пароль приложения, создают отдельный пароль именно для сайта.

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

Записи SPF, DKIM и DMARC

  • SPF перечисляет серверы, которым разрешено отправлять почту от имени домена.
  • DKIM добавляет к письмам цифровую подпись, по которой получатель проверяет, что письмо не подделано.
  • DMARC говорит почтовым сервисам, что делать с письмами, не прошедшими проверку, и куда присылать отчёты.

Все три записи добавляют в DNS домена. Точные значения SPF и DKIM выдаёт почтовый сервис в своей инструкции по подключению домена: копируйте их оттуда, а не из чужих статей. Если записи SPF на домене уже есть, новую не добавляют второй строкой, а объединяют с существующей: две записи SPF у одного домена считаются ошибкой.

Как проверить доставку

  1. Отправьте заявку через форму на сайте, а не только тестовое письмо из плагина.
  2. Проверьте письмо в ящиках разных почтовых сервисов, включая папку «Спам».
  3. Откройте заголовки письма и посмотрите результаты проверок SPF, DKIM и DMARC.
  4. Включите журнал писем в SMTP-плагине, если он есть, чтобы видеть историю отправки.
  5. Повторяйте проверку после обновлений плагинов, смены хостинга или почтового сервиса.

Форма заявки WordPress: копия в базе и CRM

Даже идеально настроенная почта может подвести: ящик переполнен, менеджер случайно удалил письмо, фильтр переложил его в архив. Поэтому каждая заявка должна храниться ещё где-то.

Хранение заявок на сайте

У Contact Form 7 для этого есть плагин Flamingo, у ряда визуальных конструкторов хранение встроено. Заявки видны в админке, их можно выгрузить в таблицу. Раз в неделю полезно сверять число заявок в базе с числом писем: расхождение сразу покажет проблему с почтой.

Передача в CRM и мессенджер

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

Персональные данные

Форма собирает персональные данные, поэтому на сайте нужны политика обработки персональных данных и согласие посетителя. Если заявки передаются во внешние сервисы, это тоже должно быть отражено в документах. Конкретные формулировки и требования 152-ФЗ стоит согласовать с юристом.

Защита от спама без потери заявок

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

Способы защиты

  • Скрытое поле-ловушка. Поле, невидимое человеку, но заполняемое ботами. Не мешает посетителям и отсекает простых ботов.
  • Невидимая капча. Например, reCAPTCHA v3 или Яндекс SmartCaptcha. Проверяет посетителя по поведению, чаще всего без заданий.
  • Антиспам-сервис. Анализирует содержимое сообщения и отсеивает типичный спам.
  • Ограничения полей. Проверка формата телефона и почты, запрет ссылок в поле сообщения.

Где защита вредит

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

Контроль: цель в Метрике и регулярная проверка

Без контроля о проблеме узнают поздно. Два простых инструмента закрывают этот риск.

Цель в Яндекс Метрике

Настройте цель на успешную отправку формы. У Contact Form 7 после отправки письма срабатывает событие wpcf7mailsent, и на него можно повесить достижение цели:

document.addEventListener('wpcf7mailsent', function () {
  ym(XXXXXXXX, 'reachGoal', 'form_sent');
});

Вместо XXXXXXXX подставляют номер счётчика, а в Метрике создают цель типа «JavaScript-событие» с идентификатором form_sent. У других плагинов свои события или встроенная интеграция с аналитикой. Сравнивая число достижений цели с числом писем, вы сразу видите потери. О том, какие цели полезны бизнесу, написано в статье о целях интернет-маркетинга.

Регламент проверки

  • Раз в неделю — тестовая заявка с каждой формы сайта.
  • После каждого обновления плагинов, темы и ядра — проверка форм.
  • Раз в месяц — сверка заявок в базе, писем и целей в Метрике.
  • При смене хостинга, домена или почтового сервиса — полная проверка отправки и DNS-записей.

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

Формы, кэш и безопасность

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

Кэширование и оптимизация

Плагины кэширования и оптимизации ускоряют сайт, но могут сломать форму. Типичные ситуации:

  • скрипт формы отложен или объединён с другими, и кнопка отправки не реагирует;
  • на закэшированной странице устарел проверочный код, и отправка завершается ошибкой;
  • капча загружается с задержкой, и посетитель успевает нажать кнопку до её готовности.

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

Вес плагина и скорость страницы

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

Безопасность

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

Кто должен видеть заявки

Заявки содержат персональные данные клиентов. Если в админке работают несколько человек, включая подрядчиков, стоит проверить, у кого есть доступ к списку заявок и выгрузке. В WordPress для этого используют роли пользователей: контент-менеджеру не обязательно видеть базу обращений.

Сценарии из практики

Ситуации собирательные, но встречаются постоянно.

Письма перестали приходить после переезда

Сайт перенесли на новый хостинг, всё работает, но заявки не приходят. На новом сервере PHP mail() ограничен, а SMTP не был настроен. Решение — SMTP-плагин с почтой домена и тестовая отправка через форму.

Заявки приходят, но в спам

В поле отправителя стоит почта посетителя, а у домена нет DKIM. Почтовый сервис видит письмо от чужого имени без подписи и отправляет его в спам. Отправителем ставят адрес на домене сайта, почту посетителя переносят в поле ответа, добавляют DNS-записи.

Форма перестала отправляться после ускорения

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

Сотни спам-заявок в сутки

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

Заявки уходили уволившемуся сотруднику

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

На сайте пять разных форм, и никто не знает, куда они отправляют

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

Типичные ошибки и чек-лист

Ошибки, из-за которых теряются заявки

  • Полагаться на PHP mail() без SMTP.
  • Ставить почту посетителя в поле отправителя.
  • Не хранить копию заявок ни в базе, ни в CRM.
  • Отправлять заявки на личный ящик сотрудника, который может уволиться или уйти в отпуск.
  • Не проверять формы после обновлений плагинов и темы.
  • Ставить несколько плагинов форм на один сайт.
  • Включать жёсткую капчу без проверки влияния на заявки.

Чек-лист рабочей формы

  • Письма уходят через SMTP с почты на домене сайта.
  • У домена настроены SPF, DKIM и DMARC.
  • Отправитель — адрес на домене, почта посетителя — в поле ответа.
  • Заявки сохраняются в базе сайта или CRM.
  • Есть согласие на обработку персональных данных и политика.
  • Включена мягкая защита от спама.
  • Настроена цель в Метрике на успешную отправку.
  • Формы проверяются по регламенту и после обновлений.

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

Почему форма связи WordPress не отправляет письма?

Чаще всего хостинг ограничивает PHP mail() или письма отклоняет почтовый сервис из-за отсутствия SPF и DKIM. Решение — отправка через SMTP с почты домена.

Какой wordpress плагин форма лучше для простого сайта?

Для простой формы обратной связи хватит Contact Form 7 с плагином Flamingo для хранения заявок или бесплатной версии визуального конструктора форм.

Что такое обратная форма WordPress?

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

Нужен ли SMTP-плагин, если письма и так приходят?

Да. Отправка через PHP mail() может перестать работать в любой момент без изменений на сайте, а SMTP с почтой домена даёт стабильную доставку.

Куда пропадают заявки, если письма не пришли?

Если хранение заявок не включено, они теряются безвозвратно. Поэтому копию стоит сохранять в базе сайта или CRM.

Как настроить форму заявки с выбором услуги?

Используйте плагин с условной логикой: поле выбора услуги показывает или скрывает нужные дополнительные поля, а тема письма формируется по выбранной услуге.

Можно ли принимать через форму файлы?

Можно, но ограничьте допустимые типы и размер файлов и проверьте, где они хранятся. Файлы от посетителей — потенциальный риск безопасности.

Как понять, сколько заявок теряется?

Сравните число достижений цели в Метрике, число заявок в базе и число полученных писем за один период. Расхождение покажет потери.

Сколько стоит настройка формы обратной связи?

Зависит от объёма: SMTP, DNS-записи и хранение заявок обычно укладываются в несколько часов. Работы по сайту у меня стоят от 2 000 ₽ в час.

Итог

Форма на WordPress теряет заявки не из-за плагина, а из-за доставки: PHP mail(), отсутствие SPF и DKIM, чужой адрес отправителя. Плагин формы выбирают по задачам, но надёжность обеспечивают SMTP, DNS-записи, хранение копий заявок и регулярная проверка.

Настроенная один раз схема — SMTP с почты домена, копия в базе или CRM, мягкая защита от спама и цель в Метрике — работает годами. Остаётся проверять её после обновлений и при смене хостинга или почты.

Если заявки с сайта приходят нестабильно, попадают в спам или вы не уверены, что не теряете клиентов, я как частный разработчик на WordPress и 1С-Битрикс проверю формы, настрою отправку, хранение и аналитику. Работаю напрямую, без посредников — подробности на странице доработки сайта на WordPress.

Что будем искать? Например,Продвижение