WebValid
WebValid Team

ИИ заблокировал ваш сайт: Топ-5 фатальных ошибок в robots.txt при vibe-кодинге

ИИ SEO Vibe Coding Next.js QA

Это руководство применимо к Next.js App Router (app/robots.ts), Astro (public/robots.txt) и другим SSG, где ИИ-помощники динамически создают или внедряют мета-файлы.

Эпоха «vibe-кодинга» с использованием ИИ-ассистентов вроде Cursor или GitHub Copilot позволяет развертывать фичи за считанные минуты. Но у этой скорости есть скрытая цена: бесшумные ошибки конфигурации, которые не вызывают проблем в консоли, но разрушают бизнес-логику в продакшене. Одной из самых катастрофических является генерация некорректного robots.txt. Разработчик запускает приложение, проверяет UI, видит успешный билд — и только через две недели замечает, что трафик упал до нуля, потому что Google был заблокирован.

Разберем топ-5 способов, которыми ИИ может «стереть» вашу видимость из поиска, и как это остановить.

Копирование кода из Staging в Production

Critical - SEO Crawl Block

Когда вы просите ИИ «создать robots.txt для проекта на Next.js», модель часто выдает наиболее распространенный паттерн из своих обучающих данных. Часто это шаблон, используемый для скрытия тестовых (staging) окружений от поисковых систем.

Bad AI Code:

User-agent: *
Disallow: /

Если вы слепо примете это автодополнение, вы фактически запретите всем поисковым ботам индексировать ваш домен. ИИ не знает, разворачиваете ли вы проект локально или в глобальном кластере; он просто выдает то, что выглядит «соответствующим контексту». Для ИИ ограничивающий шаблон выглядит так же естественно, как и стандартный.

Fixed Code:

User-agent: *
Allow: /

WebValid Alignment: WebValid сканирует сгенерированный файл и проверяет наличие глобальных запрещающих правил, подсвечивая эту ошибку еще до того, как изменения попадут в продакшен.

Случайная блокировка Googlebot

High - Traffic Collapse - OWASP WSTG-INFO-003

Популярный сценарий использования ИИ сегодня — защита от «жадных» ботов. Разработчики просят Cursor: «Обнови мой robots.txt, чтобы заблокировать OpenAI, Anthropic и других агрессивных скреперов».

ИИ с энтузиазмом выполняет просьбу, но, пытаясь быть максимально полезным, часто галлюцинирует строки User-Agent или путает области видимости.

Bad AI Code:

User-agent: GPTBot
Disallow: /

User-agent: *
Disallow: /bot-traffic
Disallow: /*

В примере выше ИИ добавил глобальную блокировку (Disallow: /*) при попытке поймать отдельных ботов. В синтаксисе robots.txt Disallow: /* эквивалентно Disallow: / — оба правила полностью блокируют сайт для любого агента, подходящего под User-agent: *, включая Googlebot.

Если вы хотите узнать больше о том, как ИИ галлюцинирует критические операции, ознакомьтесь с нашим руководством по DOM-галлюцинациям.

WebValid Alignment: WebValid выполняет программную проверку синтаксиса, отделяя правила для конкретных ботов от общих масок (wildcards) и гарантируя, что широкие запреты не затрагивают основных поисковых роботов.

Галлюцинации регулярных выражений

Medium - Ignored Directives - OWASP WSTG-INFO-003

Если вы попросите ИИ заблокировать URL с динамическими параметрами (например, ?sort=price), он почти всегда предложит использовать стандартную логику разработчика: регулярные выражения (RegEx).

Bad AI Code:

User-agent: *
Disallow: /products/?[a-z]*=

Проблема заключается в том, что стандарт robots.txt (и Google Search Central) не поддерживает полноценные регулярные выражения. Поддерживаются только два простых символа: звездочка (*) для замены любого количества символов и знак доллара ($) для обозначения конца строки.

Поскольку боты Google не парсят конструкцию [a-z], они будут воспринимать это как часть обычной текстовой строки. Ваши динамические URL будут проиндексированы, что приведет к перерасходу краулингового бюджета и созданию дублей контента.

Fixed Code:

User-agent: *
Disallow: /products/*?*sort=

Здесь * перед ? соответствует любому пути до знака вопроса, а * после sort= соответствует любому значению параметра. Google воспринимает ? как литерал, что позволяет точно блокировать Query-параметры.

Запустите автоматический аудит конфигурации вашего сайта с WebValid прямо сейчас.

Игнорирование приоритета длины пути

High - Information Leakage - OWASP WSTG-INFO-003

Когда ИИ пытается скомбинировать сложные правила Allow и Disallow, он неизбежно группирует их либо в случайном порядке, либо по алфавиту.

Согласно правилам Google, приоритет имеет самый длинный (наиболее специфичный) путь. Но что произойдет, если ИИ создаст короткое правило блокировки и более длинное разрешающее правило?

Bad AI Code:

User-agent: Googlebot
Disallow: /admin/
Allow: /admin/dashboard/public-view/

Google отдаст приоритет правилу Allow для всего, что находится внутри /public-view/, потому что эта строка длиннее. ИИ редко считает количество символов при генерации текста. Это часто приводит к непреднамеренным утечкам информации (OWASP WSTG-INFO-003), когда защищенные пути начинают индексироваться из-за локального правила Allow, перекрывающего общий запрет.

Подробнее о том, как небольшие структурные ошибки превращаются в крупные утечки, читайте в нашем материале про уязвимости Open Wire.

WebValid Alignment: WebValid автоматически анализирует иерархию правил. Он вычисляет приоритет длины строки точно так же, как это делает Googlebot, выдавая предупреждение при опасных конфликтах директив.

Потеря директивы Sitemap

Medium - Delayed Indexation

Файл robots — это не только щит, но и карта. Директива Sitemap: https://domain.com/sitemap.xml сообщает краулерам, где именно искать ваш самый важный контент.

Так как мы обычно просим ИИ о «блокировке» чего-либо («Заблокируй этот путь», «Останови ИИ-ботов»), модель гиперфокусируется на матрице User-agent и полностью «забывает» о строке Sitemap. В результате Google не получает прямых ссылок на ваш новый динамический контент. Это не угроза безопасности, но критически замедляет индексацию современных приложений.

Факт-чекинг: ИИ-галлюцинации в Robots.txt

Происходит ли это на самом деле или это только теория?

Доказательства:

Мнение: На практике большинство фатальных SEO-ошибок возникают из-за того, что разработчики доверяют формату robots.txt только потому, что он «выглядит как текст». Но для поисковика это строгий контракт исполнения, а ИИ относится к нему как к черновику сообщения.

Автоматизировано с WebValid

Вот как WebValid системно ловит то, что галлюцинирует ИИ:

ПроблемаВозможности WebValid
Глобальные запретыПроверяет текст на наличие случайных Disallow: /
Поддержка синтаксисаПроверяет использование недопустимых регулярных выражений
Приоритет масокВычисляет конфликты правил по логике длины пути
Обнаружение SitemapПроверяет наличие и доступность директивы Sitemap:
Сканирование контентаОценивает содержимое билда без исполнения скриптов

WebValid проверяет синтаксис и соответствие правилам Google, предотвращая крах краулингового бюджета. Однако он не может знать вашу бизнес-логику — например, он не поймет, должна ли папка /dashboard быть публичной, если вы сами не настроите права доступа на сервере.

Ваш чек-лист для Robots.txt

Не позволяйте ИИ лишить вас трафика. При генерации мета-файлов следуйте этому алгоритму:

  1. Проверяйте вывод robots.ts или robots.txt с помощью независимых инструментов аудита сразу после генерации.
  2. Тестируйте Production-билд. Убедитесь, что файл доступен по финальному адресу без конфликтующих заголовков.
  3. Пишите промпты лучше: используйте структурированные Markdown-промпты с параметрами Expected (Ожидаемо) и Actual (Фактически) при постановке задач ИИ.

Ваш ИИ-помощник умеет писать хороший код — он просто не знает, в какой момент ошибся. Дайте ему отчет об ошибках от WebValid, и он исправит всё сам.

Начните аудит вашего сайта бесплатно

Документация

Эта статья была полезна?