Какие бывают формы
На сайте обычно есть несколько типов форм: обратной связи и заявки, регистрации и входа, подписки, заказа и оформления покупки, поиска. У каждого типа свои задачи, а значит, свои требования к адресам и индексации. Общая цель у всех одна: посетитель должен без усилий отправить данные, а вы — получить их без мусора и потерь.
Адреса и индексация
| Страница | Индексировать? | Что сделать |
|---|---|---|
| Страница контактов с формой | Да | Обычная страница с полезным содержанием: адреса служебных страниц |
| Отдельная страница формы заявки | Как правило да, если это посадочная | Уникальный заголовок и текст |
| Регистрация и вход | Обычно нет | Закрыть от индексации: что закрывать в кабинете |
| Страница благодарности после отправки | Нет | Мета-тег robots со значением noindex, не включать в карту сайта |
| Оформление заказа | Нет | Правила адресов корзины |
| Результаты поиска по сайту | Нет | Поиск по сайту |
Обратите внимание на способ отправки. Форма, отправляющая данные методом GET, добавляет их в адрес и порождает бесконечное число адресов с параметрами. Для обычных заявок используйте отправку методом POST, а для форм фильтрации и поиска закройте адреса результатов от индексации.
Страница благодарности
После отправки покажите отдельную страницу с подтверждением: у неё свой адрес, по которому удобно настроить цель в аналитике, и на ней можно предложить следующий шаг. Закройте её от индексации и не ссылайтесь на неё из других мест. Если отправка происходит без перезагрузки страницы, цель настраивают на событие успешной отправки: цели для страниц.
Защита от спама
- Скрытое поле-ловушка. Человек его не видит и не заполняет, а простой робот заполнит: такие заявки отбрасывают.
- Ограничение частоты. Не принимайте много заявок с одного адреса за короткое время.
- Проверка на сервере. Проверяйте формат и длину полей на стороне сервера, а не только в браузере.
- Проверка «человек ли вы» — как дополнительный уровень, если спама много; помните, что сложная проверка снижает конверсию.
- Фильтр ссылок в тексте заявок: сообщения с несколькими адресами чаще всего спам.
<form method='post' action='/zayavka/'>
<label for='name'>Имя</label>
<input id='name' name='name' type='text' required autocomplete='name'>
<label for='phone'>Телефон</label>
<input id='phone' name='phone' type='tel' required autocomplete='tel'>
<input type='text' name='website' tabindex='-1' autocomplete='off' style='display:none'>
<button type='submit'>Отправить заявку</button>
</form>
В примере у каждого поля есть подпись и подходящий тип, что облегчает заполнение на телефоне, а скрытое поле website служит ловушкой. Если оно заполнено, заявку отбрасывают на сервере.
Удобство формы
- Оставляйте только необходимые поля: каждое лишнее снижает число отправленных форм.
- Подписывайте поля рядом с ними, а не только внутри: подсказка внутри исчезает при вводе.
- Показывайте ошибки рядом с полем и объясняйте, как исправить.
- Давайте кнопке конкретное название: «Получить расчёт» лучше, чем «Отправить».
- Согласие на обработку данных оформляйте по правилам вашей страны: уточните у юриста.
Аналитика форм
Настройте цели на успешную отправку и, если нужно, на начало заполнения: разница покажет, на каком шаге посетители отказываются. В скрытое поле формы передавайте источник визита и метки кампании, чтобы заявка в системе учёта знала, откуда пришёл клиент: единая система меток. Формы в виджетах и квизах требуют отдельного внимания: виджеты на сайте, квиз на сайте.
Проверка. Раз в месяц отправляйте тестовую заявку и убеждайтесь, что она доходит, цель срабатывает, а страница благодарности закрыта от индексации. Про калькуляторы и другие формы с расчётом — в статье адреса страниц с формами и калькуляторами.
Частые вопросы
Нужно ли индексировать страницу благодарности?
Нет: её закрывают от индексации и не включают в карту сайта; на ней настраивают цель в аналитике.
Как защитить форму от спама, не мешая посетителям?
Начать со скрытого поля-ловушки, ограничения частоты и проверки на сервере, а сложную проверку добавлять только при большом объёме спама.
Почему нельзя отправлять форму методом GET?
Данные попадают в адрес, и создаётся бесконечное число адресов с параметрами; для заявок используют POST, а адреса результатов поиска закрывают от индексации.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.