Як виглядає фейкова контактна форма
Для відвідувача все виглядає бездоганно. Поля перевіряються, на кнопці з’являється «Надсилаємо…», а зелене сповіщення дякує. Але насправді з браузера нічого не виходить: ні запиту, ні листа, ні рядка в базі. Відвідувач думає, що до вас достукався. Ви про це так і не дізнаєтеся.
Коли ми читали код за такими формами, картина майже завжди була однакова: обробник надсилання чекає секунду, показує сповіщення й очищає поля. Немає ні fetch, ні поштового сервісу, ні звернення до бази даних.
// 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 під час фінального прогону не завантажилися, не відповіли на клік або відхилили наші тестові значення). Ось що сталося після натискання «Надіслати»:
- 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), портфоліо (особистий сайт) або без ознак демо (усе інше).
Найчастіше форму підробляють демо, як і можна було очікувати. Але на решті сайтів проблема не зникає: 16 з 73 сайтів без ознак демо мали форму, яка дякує відвідувачу й нічого не надсилає. Серед них — магазини, студії, клінінгова компанія, сайти продуктів. Якщо брати лише сайти без ознак демо на власному домені — 5 з 30. «Без ознак демо» — обережна позначка, а не доказ того, що від форми залежить чийсь бізнес.
Як ми тестували
- Вибірка. 813 живих сайтів, зроблених у Lovable або Bolt. Ми зібрали їх із madewithlovable.com, проєктів на GitHub із файлами збірки Lovable чи Bolt, Hacker News і галереї хакатону Bolt. 20 з них використали лише для налагодження тесту.
- Пошук форми. Справжній Chrome (Playwright) відкривав головну сторінку, потім
/contact. Контактною вважали форму з полем для повідомлення та полем для імені, email або телефону; форми входу й підписки на розсилку не рахувалися. - Натиснути, але не надіслати. Ми заповнювали кожне видиме поле свідомо вигаданими тестовими даними, ніколи не чіпали полів-пасток (honeypot) і натискали кнопку надсилання. З цієї миті кожен вихідний запит записувався й переривався, тож нічого не дійшло ні до власника, ні до жодного сервісу. Пінги аналітики ми не враховували.
- Класифікація. Форма «надсилає», лише якщо якийсь запит ніс те, що ми ввели. Вона «підробляє успіх», лише якщо такого запиту не було, а повідомлення про успіх з’явилося (ми перевіряли кожні 250 мс протягом п’яти секунд, зокрема вікна
alert()).
Ми записали правила до початку тестування й фіксували кожну зміну. Перші прогони мали помилки: пінги аналітики зараховувалися як надсилання, короткі сповіщення проскакували непоміченими, а заповнена прихована пастка викликала фейкові «Дякуємо», призначені для ботів. Кожну помилку виправили, перевірили на 23 тестових сторінках із відомою відповіддю, і всі сайти з формами протестували знову. Потім ми вручну прочитали код надсилання фейкових форм.
Перевірте свою форму за 30 секунд
Зелене повідомлення нічого не доводить. Запит доводить, що форма спробувала надіслати, і лише ваша пошта доводить, що повідомлення дійшло. Кроки — нижче; у вкладці Payload запиту має бути текст, який ви ввели.
Чому AI-білдери видають фейкові форми
Показати ми можемо код. У фейкових формах, які ми прочитали, нічого не зламалося: обробник надсилання був заглушкою, яка чекає, показує сповіщення й очищає поля, і він ніколи нічого не надсилав.
Чому там заглушка — це наше прочитання, а не вимірювання: що Lovable чи Bolt генерують за замовчуванням, ми не тестували. Контактна форма складається з двох частин: поля на сторінці й щось на сервері, що приймає повідомлення й сповіщає вас. Для першої частини досить коду. Для другої потрібні акаунт, ключ або рішення щодо бекенду, і власна документація Lovable радить Supabase плюс поштовий сервіс на кшталт Resend, підключений через edge-функцію. Якщо цього рішення ніхто не ухвалив, найпростіше отримати форму, яка лише виглядає готовою.
Як полагодити форму, яка нічого не надсилає
Є три розумні варіанти:
- Зробити бекенд у самому проєкті. У Lovable це таблиця Supabase, edge-функція і поштовий провайдер. Коли це виправдано, а коли простіше окремий сервіс, — у статті «Заявки з форми Lovable на пошту й у Telegram».
- Використати
mailto:. Нічого налаштовувати не треба, але це працює лише для відвідувачів із поштовою програмою на комп’ютері, і копії повідомлення у вас не залишиться. Порівняння — у статті «Форма mailto чи бекенд для форм». - Направити форму на бекенд для форм. Форма надсилає дані на одну адресу, а сервіс зберігає повідомлення й пересилає його вам на пошту. Так працюють Formgong, Formspree і Web3Forms. У Formgong безкоштовний тариф включає 300 заявок на місяць, миттєві сповіщення в Telegram і зберігання даних у ЄС; є готовий проєкт у Lovable, який можна скопіювати через Remix. Для агентів, що пишуть код (Claude Code, Cursor, Codex), є скіл, який додає форму й замінює фальшиві обробники:
npx skills add formgong/skills.
Хоч би що ви обрали, показуйте повідомлення про успіх лише після того, як сервер підтвердив прийом. Вставте цей промпт у Lovable або Bolt, щоб замінити фейковий обробник:
Моя контактна форма показує повідомлення про успіх, але нічого не надсилає. Зроби так, щоб вона надсилала по-справжньому: 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, Chrome DevTools: Inspect network activity, MDN: Using the Fetch API, Playwright: Network interception. Formgong для Lovable, де зберігаються дані.
Завантажити текст статті (Markdown)Читайте також
- Заявки з форми Lovable на пошту й у Telegram
- Контактна HTML-форма без бекенду: готовий приклад
- Як отримувати заявки з форми сайту в Telegram
- Форма не надсилає листи: як знайти причину
- Як вести ліди із сайту в Telegram без CRM
- Бекенд для форм із AI-білдерів: Lovable, Bolt, v0, Cursor
- Telegram-бот для форми сайту: писати свій чи ні?
- Сервіс форм і GDPR: 7 пунктів перед вибором
- Форма mailto чи бекенд для форм: що обрати
- HTML-форма в Google Таблиці: 2 безкоштовні шляхи
- Ліміт форм Webflow: що робити після 50 заявок
- Turnstile, reCAPTCHA чи hCaptcha для форми
- Contact Form 7 і Elementor: заявки в Telegram
- Форма Squarespace не надсилає листи?
- Контактна форма Shopify: куди йдуть листи?
- Google Форма в Telegram: безкоштовний спосіб
- Форма Wix не надсилає листи? Рішення
- Альтернативи Formspree з даними в ЄС / GDPR