Нейросети видят пустой каркас вместо сайта: ИИ-краулеры не исполняют JavaScript
Привычная картина: сайт в топе Google, трафик и конверсии в порядке, а ChatGPT на вопрос о компании называет трёх конкурентов или пересказывает данные двухлетней давности. Команда Habr проверила свой сайт запросами к разным моделям и посмотрела, что реально получает их инфраструктура. Выяснилось, что часть ИИ-краулеров не исполняет JavaScript, и вместо статьи до модели доезжает пустой каркас страницы. • Переписывание текстов и FAQ обычно не помогает: модель отвечает по тому, что до неё дошло. • Сайты, собирающиеся в браузере, для таких краулеров почти пусты. • Проблему можно проверить и исправить без смены контента.
AI-обработка оригинала Habr AI; редакция Hamidun News
Сайт стоит в топе поиска, трафик идёт, конверсии держатся. А на вопрос «что за компания X» ChatGPT называет трёх конкурентов или пересказывает факты двухлетней давности. Авторы свежего разбора на Habr прогнали собственный сайт через запросы к разным моделям, посмотрели, что получает их инфраструктура, и пришли к прозаичному выводу. Контента хватало. До модели он просто не доезжал: часть ИИ-краулеров не исполняет JavaScript, и вместо статьи они видят пустой каркас страницы.
Почему «больше контента» не лечит
Первая реакция маркетологов и разработчиков предсказуема: переписать тексты, добавить экспертизу, оформить FAQ. Гипотеза логична, но, по опыту авторов, почти никогда не подтверждается. Нейросеть отвечает не по тому, что написано на вашем сайте, а по тому, что до неё добралось. Если между сервером и моделью контент теряется, любые правки текста бьют мимо цели.
Главный источник потерь простой. Современные сайты на React, Vue или Angular часто отдают браузеру минимальный HTML и скрипты, а сам текст собирается уже на стороне клиента. Человек видит готовую страницу. Краулер, который не запускает JavaScript, получает `<div id="root"></div>` и ничего больше.
Это подтверждают и независимые замеры. В исследовании Vercel и MERJ конца 2024 года анализировали трафик ботов OpenAI и Anthropic: они запрашивали JavaScript-файлы, но не исполняли их. Googlebot, напротив, рендерит страницы полноценно, и именно поэтому сайт может быть в порядке для поиска и пустым для нейросети.
Где контент теряется по дороге
Путь от сайта до ответа модели состоит из нескольких звеньев, и ломаться может каждое:
- Рендеринг: текст появляется только после выполнения JS, а краулер его не запускает.
- Доступ: robots.txt, WAF или антибот-защита блокируют GPTBot, ClaudeBot, PerplexityBot и похожих ботов.
- Скрытый контент: ключевые данные лежат в табах, аккордеонах и модальных окнах, которые подгружаются по клику.
- Устаревший кэш: модель опирается на старую копию страницы или на сторонние упоминания, а не на актуальный сайт.
- Слабая структура: нет заголовков, разметки schema.org и дат обновления, по которым можно понять, что свежее.
Отдельно стоит различать обучающие краулеры и поисковые. Одни собирают данные для обучения моделей, другие подтягивают страницы в момент ответа пользователю. Блокировка первых не должна отрезать вторых, а у большинства компаний правила в robots.txt написаны одной строкой на всех сразу.
Что проверить и починить
Начать можно за пятнадцать минут и без подрядчиков.
1. Откройте исходный код страницы (view-source) или выполните `curl` и посмотрите, есть ли в HTML основной текст. Если там только скрипты, проблема найдена. 2. Повторите запрос с User-Agent ИИ-ботов. Если сервер отдаёт 403 или капчу, доступ закрыт на уровне защиты, а не контента. 3. Проверьте robots.txt и правила CDN: какие боты разрешены, а какие закрыты намеренно. 4. Сверьте ответы разных моделей на вопросы о компании, фиксируйте, какие факты они знают, а какие путают.
Если текст в HTML отсутствует, лечится это серверным рендерингом (SSR) или статической генерацией (SSG): Next.js, Nuxt и Astro умеют это из коробки. Для старых проектов иногда достаточно пререндера для известных ботов. Дальше имеет смысл вынести важное в чистый HTML: описание продукта, цены, контакты, даты обновления. Добавьте структурированную разметку и держите актуальным sitemap с корректным lastmod.
Формат llms.txt иногда предлагают как отдельное решение. Но о его реальном влиянии на ответы моделей надёжных данных пока мало, и ставить его выше базовой доступности контента не стоит. Сначала нужно убедиться, что страница читается без браузера. Всё остальное работает только после этого.
Системное обучение работе с ИИ и AI-агентами
Образовательная платформа Vibe Academy (vibe-academy.ru) — практические курсы, промпт-инжиниринг, автоматизация процессов и прикладные AI-воркфлоу.
Главное из мира ИИ — раз в неделю
7 ключевых событий недели, отобранных вручную. Без шума, репостов и пресс-релизов.
Готово! Проверьте почту — мы отправили подтверждение.