У статического сайта нет сервера, который принял бы форму, поэтому форма обратной связи обычно означает сторонний сервис, скрипт и API-ключ. В Lobsite форме нужен только её action: направьте его на /_lobsite/forms/<name> и задеплойте. Сообщения приходят на страницу «Заявки» в панели и на вашу почту, а спам отфильтровывается.
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Как это работает
- Направьте форму на Lobsite.
action="/_lobsite/forms/contact"иmethod="POST". Последняя часть пути — имя формы:contact,newsletter,quote. - Задеплойте. Деплой читает ваш HTML и регистрирует каждую форму, отправляющую данные на
/_lobsite/forms/; вручную ничего регистрировать не нужно. - Читайте сообщения на странице «Заявки» в панели, на почте (с Reply-To, указывающим на отправителя) или выгружайте их через
lobsite forms export contact --csv.
Поле выше начинается со страницы контактов. Опубликуйте её, чтобы увидеть форму на рабочем сайте; она принимает сообщения, когда сайт сохранён в аккаунте.
Встроенная защита от спама
Отдавая страницу, Lobsite добавляет в каждую форму скрытое поле-ловушку и подписанную метку времени. Заявки, заполнившие ловушку или пришедшие в течение 2 секунд после загрузки страницы, откладываются как спам, а посетителю, отправившему слишком много подряд, отказывают. Ни капчу, ни скрипт для этого добавлять не нужно.
Проверки, страницы благодарности и JavaScript
У каждой формы может быть раздел в lobsite.toml, который едет вместе с деплоем:
[forms.contact]
required = ["name", "email", "message"]
types = { email = "email" }
redirect = "/thanks"
requiredиtypesпроверяются и на сервере; заявка, не прошедшая проверку, не сохраняется, а посетитель видит, что исправить.redirectпоказывает после отправки вашу собственную страницу. Без него посетитель видит страницу благодарности со ссылкой назад.- Отправка через
fetchоставляет посетителя на странице: отправьтеnew FormData(form)сAccept: application/json, и ответом будет{"ok": true}или поля, не прошедшие проверку. - Фреймворки работают, если форма есть в собранном HTML — его дают пререндеринг и статический экспорт (Astro, Eleventy, Next.js с
output: "export", SvelteKit сprerender).
Полные примеры (рассылка, запрос расчёта, скрипт с fetch) есть в документации по формам.
Что входит в каждый тариф
| Без аккаунта | Бесплатный | Платный (скоро) | |
|---|---|---|---|
| Принимает заявки | После получения сайта | Да | Да |
| Заявок в месяц на сайт | — | 25 | Без ограничений |
| Уведомления по почте | — | На почту аккаунта | На любой подтверждённый адрес |
| Подписанные вебхуки | — | Нет | Да |
| Хранятся | — | 90 дней | 1 год |
URL предпросмотра никогда не принимают заявки, а загрузка файлов в формах пока не поддерживается.
Направьте форму на /_lobsite/forms/contact. Фильтр спама включён.
Перенаправления, заголовки и формы хранятся в lobsite.toml и переезжают с каждым деплоем.
Предпросмотр до публикации. Откат в один клик — вместе с перенаправлениями.
Все лимиты опубликованы, а каждая ошибка подсказывает, что делать дальше.
Каждый сайт получает адрес *.lobsite.app с HTTPS с первого деплоя.
Файлы хранятся по хешу. Повторный деплой неизменённого сайта загружает 0 байт.
Формы Lobsite, сервис форм или свой бэкенд
| Формы Lobsite | Сервис-бэкенд для форм | Свой бэкенд | |
|---|---|---|---|
| Что добавить на страницу | action |
Эндпоинт сервиса, часто ключ или скрипт | Свой эндпоинт |
| Аккаунты, которыми нужно управлять | Тот, где ваш сайт | Ещё один | Сервер или хостинг функций |
| Фильтр спама | Встроен | Зависит от сервиса и тарифа | Делаете сами |
| Откатывается вместе с сайтом | Да: настройки лежат в lobsite.toml |
Нет | Зависит |
| Бесплатный объём | 25 в месяц на сайт | Зависит от сервиса | Ваши расходы на хостинг |
| Вебхуки | Платный тариф, скоро | Обычно | Да |
Если уже сегодня нужны сотни заявок в месяц или загрузка файлов, до запуска платного тарифа лучше подойдёт специализированный сервис. Для формы обратной связи на небольшом сайте хватит action.
Частые вопросы
Нужен ли формам Lobsite JavaScript?
Нет. Обычная HTML-форма работает как есть. JavaScript нужен по желанию — чтобы показать сообщение, не уходя со страницы.
Почему сообщение из моей формы попало в спам?
Чаще всего форма отрисовывалась JavaScript в браузере и потеряла скрытые антиспам-поля, которые Lobsite добавляет при отдаче страницы. Держите форму в собранном HTML и дайте браузеру отправить её в том виде, в каком она пришла.
Можно ли получать сообщения на другой адрес?
На бесплатном тарифе уведомления приходят на почту аккаунта. Любой подтверждённый адрес доступен на платном тарифе, который скоро появится.
Принимает ли сайт без аккаунта сообщения из форм?
Пока нет: деплой работает с предупреждением, а форма начинает принимать сообщения, когда вы забираете сайт в бесплатный аккаунт.
Можно ли сделать на сайте несколько форм?
Да. Каждое имя — отдельная форма со своими сообщениями и настройками: /_lobsite/forms/contact и /_lobsite/forms/newsletter разделены на странице «Заявки» и в выгрузках.