Перейти к содержимому
FFormhook
Назад к блогу

Блог

Миграция с Formspree на Formhook: руководство на десять минут

· 3 мин чтения

Главное преимущество категории «бэкенд для форм» в том, что переход между провайдерами изначально тривиален: единственная точка интеграции на вашем сайте - это один URL. Вот полная миграция, включая моменты, которые обычно забывают.

(Зачем вообще мигрировать? Честное сравнение - цены, сроки хранения данных, хостинг в ЕС - на странице Formhook против Formspree. Это руководство предполагает, что решение вы уже приняли.)

Шаг 1: экспортируйте существующие отправки

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

Сохраните этот экспорт независимо от того, куда вы в итоге перейдёте - резервная копия данных о лидах, не привязанная к конкретному провайдеру, - это просто хорошая практика.

Шаг 2: создайте форму в Formhook

Зарегистрируйтесь, создайте форму и скопируйте её ключ. Заодно настройте два параметра:

  • Список разрешённых источников CORS - добавьте домен(ы) вашего сайта, включая вариант с www, если используете оба.
  • Turnstile - если раньше у вас была защита вроде CAPTCHA, включите Turnstile прямо сейчас, чтобы защита не прерывалась во время перехода. Honeypot и ограничение частоты запросов уже включены.

Шаг 3: правка одной строки

- <form action="https://formspree.io/f/xyzabcde" method="POST">
+ <form action="https://formhook.app/f/fh_your-key" method="POST">

Названия полей менять не нужно - оба сервиса принимают стандартные form-encoded POST-запросы, а Formhook дополнительно принимает JSON и multipart. Если вы использовали fetch/AJAX, та же правка одной строки применяется к URL в вашем коде.

Что стоит поискать по всему проекту, чтобы не упустить ни одного места: старый URL в компонентах, переменные окружения вроде FORM_ENDPOINT, и любой захардкоженный эндпоинт в шаблонах отдельных страниц. Для сайтов с несколькими формами: бесплатный тариф Formhook включает несколько форм, поэтому привяжите каждую старую форму к собственному ключу, а не объединяйте их - так уведомления и настройки для каждой формы останутся раздельными и понятными.

Шаг 4: протестируйте с развёрнутого сайта

Разверните изменения, затем отправьте настоящий тест с боевого URL, а не с localhost - только там одновременно проверяются CORS, DNS и TLS. Убедитесь в трёх вещах: в браузере отображается состояние успеха, отправка появляется в вашей панели Formhook, а уведомление приходит на устройство. Заодно пройдите полный чек-лист перед запуском.

Шаг 5: отключите старую форму

Оставьте старую форму Formspree активной ещё на несколько дней как подстраховку, а затем отключите её, убедившись, что отправки исправно идут в Formhook. Храните экспорт в архиве. На этом вся миграция закончена - один атрибут, пара настроек и один тест. Причина, по которой это так просто, та же, по которой уход от любого бэкенда для форм прост: ваш сайт зависит от одного URL, а не от привязки к платформе.

Рабочая форма в одну строку

Размещение в ЕС, отправки хранятся вечно, push-уведомления на любом тарифе.

Начать бесплатно

Без банковской карты · читайте документацию

Читать дальше