# Форми, що нічого не надсилають: перевірка 793 AI-сайтів

Ми заповнили контактну форму на 105 сайтах із Lovable і Bolt і записали кожен запит. 27 написали «Повідомлення надіслано!» і нічого не відправили.

Author: Formgong team
Published: 2026-10-07
Updated: 2026-10-08
Language: uk
Canonical: https://formgong.com/uk/blog/contact-forms-that-send-nothing/

Ми заповнили й надіслали контактну форму на 105 публічних сайтах із Lovable і Bolt, записуючи кожен мережевий запит. 27 з 105 (26%) показали повідомлення про успіх на кшталт «Повідомлення надіслано!», хоча нічого нікуди не відправили, а ще 12 не зробили нічого видимого. Справді надіслали повідомлення лише 54 з 105. На сайтах без ознак демо фейковими були 16 з 73 форм. Свою форму можна перевірити за 30 секунд: відкрийте DevTools → Network, надішліть форму один раз і пошукайте запит, у якому є те, що ви ввели.

## Як виглядає фейкова контактна форма

Для відвідувача все виглядає бездоганно. Поля перевіряються, на кнопці з’являється «Надсилаємо…», а зелене сповіщення дякує. Але насправді з браузера нічого не виходить: ні запиту, ні листа, ні рядка в базі. Відвідувач думає, що до вас достукався. Ви про це так і не дізнаєтеся.

*Figure: Анімація: контактну форму заповнюють і надсилають, з’являється зелене сповіщення «Повідомлення надіслано!», а панель Network у браузері показує нуль запитів після кліку.*

Коли ми читали код за такими формами, картина майже завжди була однакова: обробник надсилання чекає секунду, показує сповіщення й очищає поля. Немає ні `fetch`, ні поштового сервісу, ні звернення до бази даних.

```javascript
// What we found, again and again (de-minified, names shortened):
onSubmit={(e) => {
  e.preventDefault();
  setSending(true);
  setTimeout(() => {
    toast({ title: "Message sent!", description: "We'll get back to you soon." });
    form.reset();
    setSending(false);
  }, 1000);
}}
```

## Результати

Контактну форму ми знайшли на 119 з 793 перевірених сайтів; більшість інших — застосунки, дашборди й інструменти, де контактної форми немає взагалі. Для 105 з цих форм тест дав однозначну відповідь (решта 14 під час фінального прогону не завантажилися, не відповіли на клік або відхилили наші тестові значення). Ось що сталося після натискання «Надіслати»:

*Figure: Діаграма: з 105 форм 54 надіслали повідомлення, 27 показали успіх, але нічого не надіслали, 12 не зробили нічого видимого, 7 відкрили поштову програму відвідувача, 5 перейшли на іншу сторінку без надсилання.*

- **27 з 105** показали повідомлення про успіх і нічого не надіслали. Ми прочитали код надсилання 21 з них і підтвердили, що мережевого виклику там немає; в інших код мініфікований так, що надійно його не прочитати, але браузер не побачив жодного запиту.

- **12 з 105** не зробили нічого, що міг би помітити відвідувач: ні запиту, ні повідомлення. Частина, можливо, мовчки не пройшла валідацію; так чи інакше, повідомлення нікуди не йде.

- **7 з 105** відкрили поштову програму відвідувача через посилання `mailto:`. Це спрацює, лише якщо в людини на комп’ютері налаштована поштова програма.

- За білдерами: фейковими були **12 з 67** форм на Lovable і **15 з 38** на Bolt.

Куди йшли повідомлення з форм, які таки надсилали: таблиця в базі Supabase (14), edge-функція Supabase (13), EmailJS (13), власний сервер сайту (4), Formspree (3), FormSubmit (1), Google Apps Script (1), інші сервіси (5).

## Хіба це не просто демо?

Частина — так. Наша вибірка схиляється до розробників: проєкти з хакатонів, портфоліо, пет-проєкти. Фейкова форма на демо з хакатону нікому нічого не коштує. Тому ще до підрахунку ми зафіксували правило й віднесли кожен сайт до однієї з груп: **демо** (проєкт із хакатону або контакти-заглушки на кшталт телефону з 555 чи адреси example.com), **портфоліо** (особистий сайт) або **без ознак демо** (усе інше).

*Figure: Діаграма: фейкові форми на 16 з 73 сайтів без ознак демо, 2 з 17 портфоліо і 9 з 15 демо.*

Найчастіше форму підробляють демо, як і можна було очікувати. Але на решті сайтів проблема не зникає: **16 з 73** сайтів без ознак демо мали форму, яка дякує відвідувачу й нічого не надсилає. Серед них — магазини, студії, клінінгова компанія, сайти продуктів. Якщо брати лише сайти без ознак демо на власному домені — 5 з 30. «Без ознак демо» — обережна позначка, а не доказ того, що від форми залежить чийсь бізнес.

## Як ми тестували

*Figure: Схема: 793 перевірених сайтів, 119 з контактною формою, кожен запит записано й заблоковано, 105 однозначних результатів.*

- **Вибірка.** 813 живих сайтів, зроблених у Lovable або Bolt. Ми зібрали їх із madewithlovable.com, проєктів на GitHub із файлами збірки Lovable чи Bolt, Hacker News і галереї хакатону Bolt. 20 з них використали лише для налагодження тесту.

- **Пошук форми.** Справжній Chrome (Playwright) відкривав головну сторінку, потім `/contact`. Контактною вважали форму з полем для повідомлення та полем для імені, email або телефону; форми входу й підписки на розсилку не рахувалися.

- **Натиснути, але не надіслати.** Ми заповнювали кожне видиме поле свідомо вигаданими тестовими даними, ніколи не чіпали полів-пасток (honeypot) і натискали кнопку надсилання. З цієї миті кожен вихідний запит записувався й переривався, тож нічого не дійшло ні до власника, ні до жодного сервісу. Пінги аналітики ми не враховували.

- **Класифікація.** Форма «надсилає», лише якщо якийсь запит ніс те, що ми ввели. Вона «підробляє успіх», лише якщо такого запиту не було, а повідомлення про успіх з’явилося (ми перевіряли кожні 250 мс протягом п’яти секунд, зокрема вікна `alert()`).

Ми записали правила до початку тестування й фіксували кожну зміну. Перші прогони мали помилки: пінги аналітики зараховувалися як надсилання, короткі сповіщення проскакували непоміченими, а заповнена прихована пастка викликала фейкові «Дякуємо», призначені для ботів. Кожну помилку виправили, перевірили на 23 тестових сторінках із відомою відповіддю, і всі сайти з формами протестували знову. Потім ми вручну прочитали код надсилання фейкових форм.

## Перевірте свою форму за 30 секунд

*Figure: Анімація: дві панелі Network. У робочої форми після надсилання з’являється новий POST-запит, у фейкової — нічого.*

Зелене повідомлення нічого не доводить. Запит доводить, що форма спробувала надіслати, і лише ваша пошта доводить, що повідомлення дійшло. Кроки — нижче; у вкладці Payload запиту має бути текст, який ви ввели.

## Чому AI-білдери видають фейкові форми

Показати ми можемо код. У фейкових формах, які ми прочитали, нічого не зламалося: обробник надсилання був заглушкою, яка чекає, показує сповіщення й очищає поля, і він ніколи нічого не надсилав.

Чому там заглушка — це наше прочитання, а не вимірювання: що Lovable чи Bolt генерують за замовчуванням, ми не тестували. Контактна форма складається з двох частин: поля на сторінці й щось на сервері, що приймає повідомлення й сповіщає вас. Для першої частини досить коду. Для другої потрібні акаунт, ключ або рішення щодо бекенду, і власна документація Lovable радить Supabase плюс поштовий сервіс на кшталт Resend, підключений через edge-функцію. Якщо цього рішення ніхто не ухвалив, найпростіше отримати форму, яка лише виглядає готовою.

## Як полагодити форму, яка нічого не надсилає

Є три розумні варіанти:

- **Зробити бекенд у самому проєкті.** У Lovable це таблиця Supabase, edge-функція і поштовий провайдер. Коли це виправдано, а коли простіше окремий сервіс, — у статті [«Заявки з форми Lovable на пошту й у Telegram»](/uk/blog/lovable-contact-form-email-telegram/).

- **Використати `mailto:`.** Нічого налаштовувати не треба, але це працює лише для відвідувачів із поштовою програмою на комп’ютері, і копії повідомлення у вас не залишиться. Порівняння — у статті [«Форма mailto чи бекенд для форм»](/uk/blog/mailto-form-vs-form-backend/).

- **Направити форму на бекенд для форм.** Форма надсилає дані на одну адресу, а сервіс зберігає повідомлення й пересилає його вам на пошту. Так працюють Formgong, Formspree і Web3Forms. У Formgong безкоштовний тариф включає 300 заявок на місяць, миттєві сповіщення в Telegram і зберігання даних у ЄС; є [готовий проєкт у Lovable, який можна скопіювати через Remix](https://lovable.dev/projects/64b83589-d6e1-41cd-80f9-dac08c5ad510). Для агентів, що пишуть код (Claude Code, Cursor, Codex), є скіл, який додає форму й замінює фальшиві обробники: `npx skills add formgong/skills`.

Хоч би що ви обрали, показуйте повідомлення про успіх лише після того, як сервер підтвердив прийом. Вставте цей промпт у Lovable або Bolt, щоб замінити фейковий обробник:

```text
Моя контактна форма показує повідомлення про успіх, але нічого не надсилає.
Зроби так, щоб вона надсилала по-справжньому:
1. Під час надсилання відправляй поля форми POST-запитом на https://formgong.com/submit через fetch і FormData,
   із заголовком Accept: application/json, і додай access_key = "fk_your_access_key".
2. Показуй повідомлення про успіх, лише якщо в JSON-відповіді success === true.
   Інакше залиш те, що ввів відвідувач, і покажи повідомлення з відповіді.
3. У формі має бути приховане поле-пастка (honeypot) з назвою "botcheck".
Не додавай Supabase, edge-функції, Resend чи EmailJS. Не змінюй дизайн.
```

## Обмеження

- Вибірка не випадкова. Вона зібрана з публічних каталогів і схиляється до проєктів розробників; у галереї частіше потрапляють доведені до ладу сайти.

- Оскільки ми блокували кожен запит, ми бачили, чи форма намагалася надіслати, а не чи дійшов лист. Форми, які ми зарахували до тих, що «надсилають», усе одно можуть зламатися далі.

- Кожен сайт ми тестували кілька разів, поки виправляли тест; числа — з фінального прогону 8 жовтня 2026 року. Кілька сайтів між прогонами змінили групу, бо повільно завантажувалися або не завантажилися зовсім. Сайти змінюються: фейкову форму, можливо, уже полагодили.

- `mailto:`, який відкрився без жодного повідомлення на екрані, або форма, яку заблокувала її власна валідація, можуть виглядати як «нічого не відбувається». Тому цю групу ми показуємо окремо й ніколи не додаємо до фейкових.

- Ми не називаємо сайти. Суть у закономірності, а не в людях, які опублікували демо.

## Питання та відповіді

### Як дізнатися, чи моя контактна форма справді надсилає?

Відкрийте свій опублікований сайт, натисніть F12, перейдіть на вкладку Network, надішліть форму один раз і пошукайте новий запит, у якому є те, що ви ввели. Якщо запиту немає, форма нічого не надсилає, хоч би що вона показувала. Потім перевірте, чи повідомлення дійшло на пошту або в кабінет.

### Чому форма в Lovable чи Bolt пише «Повідомлення надіслано», а листа немає?

Часто обробник надсилання лише показує сповіщення й ніколи не надсилає запит. Якщо запит іде, проблема далі: ключ поштового сервісу, помилка edge-функції або спам-фільтр. Вкладка Network покаже, який у вас випадок.

### Скільки контактних форм, зроблених з AI, нічого не надсилають?

У нашому тесті сайтів на Lovable і Bolt у жовтні 2026 року 27 з 105 контактних форм показали повідомлення про успіх, нічого не надіславши, а ще 12 не зробили нічого видимого. На сайтах без ознак демо фейковими були 16 з 73.

### Ви надсилали повідомлення цим сайтам?

Ні. Кожен запит після кліку блокувався в браузері, тож жодне повідомлення не дійшло ні до власника сайту, ні до будь-якого сервісу форм.

### Як найшвидше змусити форму працювати?

Направте форму на готовий бекенд для форм і показуйте успіх лише після того, як він підтвердить прийом. Промпт для Lovable чи Bolt — у цій статті.

## Джерела та документація

- [Lovable documentation: Resend integration](https://docs.lovable.dev/integrations/resend)
- [Chrome DevTools: Inspect network activity](https://developer.chrome.com/docs/devtools/network)
- [MDN: Using the Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)
- [Playwright: Network interception](https://playwright.dev/docs/network)
- [Formgong для Lovable](https://formgong.com/uk/docs/lovable/)

[Отримати ключ](https://formgong.com/uk/#top)
