Почему ChatGPT не видит текст сайта: проверка HTML вместо браузера

Разбираю три причины, почему текст не попадает в ответы ИИ: блокировка ботов, клиентский рендеринг и неверная структура. Даю команды curl для проверки и рабочие настройки SSR.

Почему ChatGPT не видит текст сайта: проверка HTML вместо браузера

Открываете страницу в Chrome, текст читается. Открываете исходный код через Ctrl+U или запрашиваете её curl -A "GPTBot" и видите пустой div с id="root". Для ChatGPT, Claude и Perplexity этот контент не существует, пока JavaScript не выполнится в браузере. Проверка занимает 2 минуты.

Почему браузер показывает текст, а поисковый бот получает пустой каркас?

Большинство AI-краулеров, включая GPTBot и ClaudeBot, используют упрощённые HTTP-клиенты без выполнения JavaScript. Они парсят HTML-ответ сервера как есть. Если сайт собран на React, Vue или Angular с клиентским рендерингом (CSR), сервер отдаёт только оболочку и ссылку на bundle.js. В исходном коде такой страницы нет ни заголовков, ни текста, ни цен.

Сравнение типов рендеринга:

ТипЧто получает ботСтоимость внедренияКогда использовать
CSRПустой каркас, текст только после JSНизкая, ничего менять не надоТолько если не нужна индексация ИИ
SSRГотовый HTML с текстомСредняя, нужен серверный рендерингДинамические страницы: каталоги, блоги
SSGГотовый HTML заранееНизкая, генерируется при сборкеСтатичные страницы, документация
ПререндерингСнимок HTML через headless-браузерСредняя, настраивается отдельноТочечно для критичных URL

Источник: Rush Agency, 3 сентября 2026.

Запустите проверку для своей страницы:

curl -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" -s https://yourdomain.com/page/ | head -50

Если в выводе только <div id="root"></div> и подключение скриптов, причина найдена.

Какие боты ходят на сайт и как понять, что их блокирует WAF или robots.txt

robots.txt может явно запрещать GPTBot, ClaudeBot, PerplexityBot. Частая причина: после обновления CMS в файл попадают директивы Disallow для новых агентов. Проверьте:

User-agent: GPTBot
Disallow: /

Эта директива закрывает сайт для OpenAI. Аналогично для ClaudeBot и PerplexityBot.

Серверный WAF и защита от ботов иногда отдают 403 или капчу по user-agent, даже если robots.txt открыт. В логах запросы от этих ботов отсутствуют, хотя трафик с других источников есть.

Скрипт сравнивает ответ сервера для браузера и трёх ботов:

for UA in "Mozilla/5.0" "GPTBot/1.0" "ClaudeBot/1.0" "PerplexityBot/1.0"; do
 CODE=$(curl -s -o body.html -w "%{http_code}" -A "$UA" "https://example.com/page/")
 SIZE=$(wc -c < body.html)
 HAS=$(grep -c "Ключевой текст" body.html)
 echo "$UA код $CODE, $SIZE байт, фрагмент: $HAS"
done

Если у браузерного user-agent код 200, а у ботов 403, блокирует WAF. Если коды одинаковые, но размер HTML меньше 5 КБ и фрагмент не найден, рендеринг не включён.

Что делать, если сайт на React, Vue или Angular: точечный SSR или пререндеринг

Полный переезд на другой стек не обязателен. Достаточно обеспечить серверный рендеринг для страниц, которые должны цитироваться: цены, контакты, составы услуг, ключевые абзацы описаний. Остальные страницы могут подгружаться скриптами.

Для Next.js добавьте в страницу:

export async function getServerSideProps() {
 const res = await fetch('https://api.example.com/data')
 const data = await res.json()
 return { props: { data } }
}

После этого HTML будет содержать текст и данные. Для Vue используйте Nuxt с универсальным режимом или prerender для статичных маршрутов. Для Angular настройте Angular/ssr.

Пререндеринг только критичных страниц: цены, контакты, описания услуг

Если полный SSR нецелесообразен, можно настроить пререндеринг через headless-браузер: он сохраняет HTML-снимок страницы после выполнения JS и отдаёт его ботам по user-agent. При этом бот получает тот же контент, что и человек, без выполнения скриптов. Важно не допускать клоакинга: содержание для бота и человека должно совпадать.

Почему сайт индексируется в Google, но не попадает в ответы ChatGPT: три разных канала

Google давно рендерит JavaScript при индексации. AI-краулеры часто не ждут выполнения скриптов. Это разные каналы: Google Search Console показывает индексацию Google, но не гарантирует видимость для ChatGPT.

По данным RESONEO на сентябрь 2026, ChatGPT открывает страницу только в 7% быстрых ответов, в остальных 93% использует сниппет из индекса или внешних источников. Сниппет берётся из текста страницы, а не из meta description, который игнорируется в одном случае из трёх.

Кроме того, JSON-LD разметка вырезается при передаче в модель, alt-текст картинок сохраняется. Жёсткий лимит страницы 4 МБ, превышение даёт HTTP 400.

Как убедиться, что починка сработала: повторный curl и серверные логи

После включения SSR повторно запустите проверку с user-agent бота. Сравните размер HTML до и после, поищите контрольные фрагменты. В серверных логах по каждому AI-агенту смотрите коды ответов, размер тела и время ответа: рост среднего размера тела показывает, что изменения доехали до продакшена.

Учтите кэш ChatGPT: прочитанная страница хранится около 30 минут, дальше отдаётся устаревшая копия, обновление в фоне. Поэтому результаты могут появиться с задержкой.

Типичные ошибки при проверке и что сделать завтра утром

  • Проверять сайт глазами в браузере: браузер показывает результат скриптов, бот его не увидит. Нужен просмотр исходного кода или curl.
  • Считать, что раз сайт в индексе Google, его видят все ИИ: индекс лишь один из трёх путей.
  • Переписывать фронтенд, не проверив коды ответа: при 403 никакой SSR не поможет.
  • Закрывать задачу после включения SSR: гидрация, потоковая отдача и кэш на периметре могут оставлять бота с каркасом.
  • Забыть про окно неактуальности: человеку цену дорисовывает скрипт, а бот цитирует застывшую в HTML прошлую сборку.

Завтра утром откройте исходный код трёх ключевых страниц и поищите цену, ответ на частый вопрос и пункты меню. Пятнадцать минут без бюджета.

FAQ

Источники

  1. JS-слепота AI-краулеров: что боты видят на сайте
  2. Оптимизация сайта под нейросети
  3. Рендеринг и JavaScript: видят ли ИИ-боты ваш сайт
  4. ChatGPT не открывает страницу в 93% быстрых ответов
  5. Почему ChatGPT не видит ваш сайт: разбор причин
  6. Почему AI-краулеры не рендерят JavaScript и как это проверить
Оценка статьи

Материал был полезен?

1 прочитали

Следующая статья