Сайт с помощью нейросети: что делать после первой версии
Форма заявки, согласие по 152-ФЗ, четыре причины, по которым Яндекс не видел страниц, и чек-лист перед запуском
Разрешить сайту считать ваши посещения с помощью Яндекс Метрики? Для этого она сохранит в браузере файлы cookie. Как сайт использует cookie
Форма заявки, согласие по 152-ФЗ, четыре причины, по которым Яндекс не видел страниц, и чек-лист перед запуском
Вайбкодинг сайта выглядит так: вы описываете страницы словами, нейросеть пишет код, вы смотрите и поправляете. Потом начинается доводка: заявки должны доходить, согласие на обработку данных — проверяться, страницы — попадать в поиск. Я покажу её на двух сайтах, которые собрал с помощью ИИ: на сайте производителя электрощитов из Калининграда и на этом.
Производитель электрощитов работал по рекомендациям, сайта у него не было. Первую версию из восьми статических страниц на Astro 5 и Tailwind 4 я собрал с помощью нейросети за один день.
Нейросеть пишет гладко и уверенно. Если ей не хватает факта, она подставит правдоподобный. Для производителя это опасно: покупатель-юрлицо проверяет поставщика по реестрам за минуту, и одно расхождение подрывает доверие ко всей странице. Поэтому ещё до первой строки текста я ввёл правило одного файла. Все подтверждённые факты о компании лежат в одном файле, и каждое число попадает на сайт, в карточку Яндекс Бизнеса и в базу знаний чат-консультанта только оттуда. В сам файл числа вносятся из документов или со слов владельца.
На деле это выглядело так. Владелец голосом прошёлся по черновику сайта, запись длилась 38 минут. Расшифровывал я её на своём компьютере: разговор был внутренний, о делах компании. Затем я разобрал запись по 36 пунктам и сверил с ними сайт: 33 пункта совпали. Одно расхождение оказалось существенным: страница продукции обещала подобрать комплектацию без однолинейной схемы. По словам владельца, без схемы щит не собирают. В первой версии стояло 32 заглушки «уточняется», к концу правок не осталось ни одной. Цифру отгрузок, которая прозвучала в разговоре, я убрал с сайта до подтверждения.
Доводка шла с середины августа до начала сентября, около трёх недель: с 18 августа по 6 сентября в журнале работ 92 записи. В эти недели вошли ещё карточка в Яндекс Бизнесе и телефония, о них рассказывает кейс сайт, карточка и телефония для производителя электрощитов. Здесь — то, что касается самого сайта.
Мой набор короткий, в нём три части.
Статические страницы я выбираю потому, что у такого сайта мало частей, которые нужно обновлять и защищать. Весь сайт — папка готовых файлов. На сервере работают nginx и небольшие службы на Python для заявок и чата. Код лежит в моём репозитории: каждую правку можно посмотреть и откатить, а выкладка на сервер — один скрипт.
Когда страниц нужно много и они похожи одна на другую, я пишу для них генератор. Так появился генератор промо-страниц — настольная программа, которая собирает страницу из шаблона и описания или по ссылке. Какие ещё инструменты подходят для сайта, я разобрал в статье о том, какую нейросеть выбрать для вайбкодинга. Если само слово пока незнакомо, начните с записи вайбкодинг простыми словами.
Самая дорогая поломка сайта — тихая. Посетитель видит «спасибо», заявка теряется по дороге, и узнать об этом не у кого.
На сайте производителя электрощитов заявка почти всегда приходит с однолинейной схемой. Сначала форма молча выбрасывала файл, если тот не проходил проверку (например, слишком тяжёлый скан), и всё равно показывала страницу благодарности. Менеджер ответил бы на заявку, не зная, что схему присылали.
Отправка в Telegram тоже теряла обращения. Текст уходил в группу менеджеров с HTML-разметкой, и знак «меньше» в обычной для отрасли фразе «ввод < 630 А» ломал всё сообщение. Отправитель при этом получал автоответ «принято».
Теперь форма устроена так:
Вторая напасть — рассылки. 6 сентября на мой сайт за сутки пришло пять заявок, и все пять оказались предложениями чужих услуг. Три из них люди написали руками, и проверки, рассчитанные на роботов, их пропустили. Я добавил проверки самого текста: адрес Telegram в сообщении, адрес сайта в поле имени, слова торгового предложения. Такие заявки я помечаю «Похоже на рассылку» и никогда не выбрасываю: ошибка фильтра не должна стоить живого клиента.
Галочка согласия на сайте производителя была обязательной, и проверял её браузер: без неё кнопка не отправляла форму. Запрос, отправленный на адрес формы в обход страницы, сервер принимал и без галочки. Так владелец сайта мог получить персональные данные без согласия, которое сам же требует в своей политике.
Всё, что проверяет браузер, — подсказка для честного посетителя. Программа, которая шлёт запросы напрямую, страницу вовсе не открывает. Страницу и службу приёма заявок писала нейросеть, и галочку она проверяла только в браузере. Так часто и выглядят ошибки вайбкодинга: если отдельно не попросить нейросеть о проверке на сервере, её может просто не оказаться. После правки согласие и тип файла проверяет сервер.
Теперь о законе. Имя и телефон в заявке — уже персональные данные. Тот, кто собирает их через интернет, обязан опубликовать политику обработки и дать к ней свободный доступ (ч. 2 ст. 18.1 152-ФЗ). С 1 сентября 2025 года согласие на обработку оформляется отдельно от других документов (ст. 9 152-ФЗ в редакции закона № 156-ФЗ).
В своей политике я перечисляю, что собирает форма, зачем, где это хранится и через какие сервисы проходят данные: мессенджер, счётчик посещений, модель в чате. Вебвизор в Метрике на этом сайте выключен: он записывает ввод в поля, и контакт из формы попал бы к третьей стороне.
Тексты политики и согласия пишет юрист. Инженер отвечает за то, чтобы сайт делал ровно то, что в них написано. Что меняется, когда в системе появляется нейросеть, я разобрал в статье о 152-ФЗ и персональных данных.
На 6 сентября у сайта производителя электрощитов в поиске Яндекса не было ни одной страницы. Сайт открывался, все проверки проходили, робот Яндекса заходил на него с 27 августа. Снаружи оба сайта из этой статьи выглядели исправными. Ниже — четыре причины, по которым их страницы не попадали в поиск.
Плагин карты сайта для Astro всегда строит её в два уровня: файл sitemap-index.xml перечисляет sitemap-0.xml, и только во втором лежат адреса страниц. На сайте производителя Вебмастер показывал у карты «число ссылок в файле — 1». По журналу nginx робот Яндекса девять раз забрал главный файл карты и ни разу не открыл файл с адресами. Помогли вторая строка Sitemap в robots.txt с прямой ссылкой на sitemap-0.xml и ручное добавление этого файла в Вебмастере.
IndexNow — протокол, по которому сайт сам сообщает поисковикам о новых страницах. Поисковик принимает заявку сразу, а подлинность проверяет позже: приходит за файлом с ключом в корне сайта. На моём сайте скрипт выкладки писал «Принято: 97 из 97», хотя файла-ключа в корне не было. С 27 августа поисковики 96 раз приходили за этим файлом и каждый раз получали ошибку 404. Десять дней заявки молча отбрасывались. Теперь скрипт перед отправкой проверяет, что файл отдаётся с кодом 200.
Пока тексты согласовывались, сайт производителя был закрыт от поисковиков тремя способами сразу: noindex в разметке, заголовок X-Robots-Tag и robots.txt. Любой оставшийся запрет держал бы сайт вне индекса, поэтому снимать пришлось все три одновременно. Снятие запретов я добавил в скрипт выкладки: иначе следующая выкладка снова закрыла бы сайт.
Так Вебмастер помечает страницу, которую робот обошёл и в поиск не взял. Этот статус я видел на своём сайте. Лечится он содержанием: страница должна отвечать на вопрос, который люди задают поиску, и отвечать по существу — своими цифрами, случаями и выводами.
Чтобы проверить свой сайт, откройте в Вебмастере раздел «Индексирование»: там видно, сколько страниц в поиске и почему исключены остальные. Если сайт стоит на своём сервере, загляните в журнал nginx: заходил ли робот Яндекса на файл карты с адресами и какой код ответа получил. Первые две поломки нашлись именно в журнале.
Любой посетитель может открыть «Просмотр кода страницы» (Ctrl+U) и прочитать всё, что отдал сайт: комментарии в разметке, подключённые скрипты, собранный JavaScript. Во вкладке «Сеть» инструментов разработчика (F12) видно, куда страница обращается. Здесь стоит проверить три вещи.
Пока сайт производителя был закрытым черновиком, список недоделок лежал прямо в разметке. 19 августа сайт открыли поисковикам, и весь список оказался в коде страницы, доступном любому посетителю: «не решено, куда доставляется заявка», «чего ждём от владельца», разбор цифр местного конкурента. Покупатель увидел бы незаконченный сайт, конкурент — перечень слабых мест. Теперь такие пометки остаются только в черновой сборке.
На моём сайте служебный комментарий из подвала уходил в HTML всех 102 страниц. В Astro комментарий вида <!-- … --> попадает в готовую страницу. Комментарий в фигурных скобках {/* … */} остаётся в исходниках.
На этом сайте есть бесплатный конвертер выписок Казначейства для 1С. Он работает в браузере, и выписка никуда не уходит. Но на странице стоит Яндекс Метрика, и если посетитель её разрешил, она обращается к своим адресам — в том числе в тот момент, когда он нажимает «Собрать файл для 1С». Поэтому на странице прямо написано, какие адреса бухгалтер увидит во вкладке «Сеть»: сам сайт и, если счётчик разрешён, Метрику. Там же сказано, что содержимого выписки нет ни в одном запросе.
В Метрике этого сайта восемь целей: заявка с формы, переход в Telegram, прочитанная статья и другие. Каждая цель — запрос к серверам Метрики в момент действия. Пройдите по своему сайту с открытой вкладкой «Сеть» и нажмите все кнопки: каждый адрес должен быть вам знаком.
Всё, что попало в собранные файлы сайта, видит любой посетитель. Если нейросеть вставила ключ к платному сервису прямо в код страницы, этот ключ уже у всех. По данным Escape.tech, опубликованным в октябре 2025 года, проверка более 5 600 общедоступных приложений, собранных вайбкодингом, нашла свыше 2 000 уязвимостей и более 400 открытых секретов: ключей API и токенов доступа.
Ассистент в чате на этом сайте работает на GigaChat. Ключ к модели лежит на сервере в файле секретов: страница обращается к серверу сайта, а тот — к модели. Так же устроен ИИ-консультант на сайте магазина. Проверка простая: поищите начало своего ключа в папке собранного сайта. Если нашли, ключ пора заменить и убрать из кода.
Двенадцать пунктов, по порядку от содержания к серверу. Почти за каждым стоит поломка, разобранная выше.
У каждого числа на сайте есть документ или слово владельца. Заглушек «уточняется» нет.
Отправьте заявку сами: с обычным файлом, со слишком большим, с файлом не того типа и со знаком «<» в тексте. Посмотрите, что пришло.
Обращение записывается на сервере до отправки в мессенджер.
При сбое посетитель видит причину и телефон. «Спасибо» появляется только после настоящей отправки.
Запрос без галочки, отправленный в обход страницы, получает отказ.
Ссылка на неё стоит рядом с формой, в ней перечислены все сервисы, через которые проходят данные.
Проверены noindex в разметке, заголовок X-Robots-Tag и robots.txt.
В robots.txt есть прямая ссылка на файл с адресами. Карта добавлена в Вебмастер, сайт — в Search Console.
До первой отправки проверено, что файл-ключ открывается с кодом 200.
В «Просмотре кода» нет пометок и ключей, во вкладке «Сеть» — незнакомых адресов.
На экране шириной 375 px нет горизонтальной прокрутки. Несуществующий адрес отдаёт код 404 и страницу с разделами и телефоном.
В копию входят заявки и вложения. Файл правильного размера бывает битым, если копирование оборвалось.
Сайт-визитку, посадочную страницу, блог или страницу с формой заявки вы соберёте сами. Первая версия займёт вечер или день, и чек-лист выше тоже можно пройти без помощи. Деньгами это обойдётся в подписку на помощника, примерно 2–4 тыс. ₽ в месяц, плюс домен и хостинг.
Звать разработчика или хотя бы человека, который проверит работу, стоит в четырёх случаях:
В этих случаях незамеченная ошибка оборачивается потерянным платежом, испорченной базой или штрафом за нарушение 152-ФЗ.
Научиться собирать сайты самостоятельно можно на курсе вайбкодинга с нуля. Сайту там посвящён второй модуль: форма, Метрика, карта сайта, Вебмастер и согласие по 152-ФЗ. Работаем на вашем сайте с первого занятия. Если нужен сайт под ключ, загляните на страницу услуг: лендинг у меня стоит от 60 000 ₽, сайт — от 280 000 ₽.
За 90 минут ставим инструменты, описываем сайт словами, проверяем и правим то, что написала нейросеть. Вы уходите с первой версией сайта, записью занятия и планом следующих шагов.
Или просто задайте вопрос. В рабочее время отвечаю в течение 2 часов