Почему ИИ не видит ваш React/Next-сайт — и как починить
Вы вложились в контент, а в ответах ИИ вас нет. Частая причина техническая: сайт — SPA (Single-Page Application на React, Next.js в режиме CSR, Vue, Svelte), и контент рисуется в браузере. Проблема в том, что ИИ-боты не исполняют JavaScript — и видят пустую страницу.
Что реально видит ИИ-бот
GPTBot, OAI-SearchBot, PerplexityBot, ClaudeBot читают исходный HTML ответа сервера. Они не ждут гидратации и не кликают. Если ваш <div id="root"></div> наполняется скриптом, бот получает каркас с парой служебных строк вроде «You need to enable JavaScript to run this app» — и уходит. Проверить готовность страницы к цитированию ИИ можно бесплатным инструментом GEO-чекер.
Проверьте за 10 секунд: вставьте URL в «Как тебя видит ИИ» — тул покажет точный текст без JS и сколько слов скрыто за JavaScript. Если в браузере 1500 слов, а боту достаётся 11 — это и есть ваша проблема с GEO.
Как починить — по фреймворкам
Цель одна: отдавать готовый контент в первом HTML-ответе сервера.
- Next.js — используйте SSR, SSG или ISR (
getStaticProps/ App Router server components) вместо чистого client-side. Контент должен быть в HTML до гидратации. - Nuxt — режим
universal(SSR) илиnuxt generate(SSG) вместоssr: false. - React (CRA / Vite SPA) — перенесите контентные страницы на пререндер (Astro, Gatsby) или добавьте серверный рендер. Чистый CSR для контента, который должен цитироваться, не подходит.
- Vue / Svelte — SvelteKit и Nuxt по умолчанию умеют SSR/пререндер; включите их для публичных страниц.
- Динамический рендеринг — как временная мера можно отдавать ботам пререндеренный HTML (Prerender.io и аналоги), но честный SSR/SSG надёжнее.
После рендера — добьём GEO
Когда бот уже видит текст, добавьте остальное:
- Schema.org (JSON-LD) —
Article,FAQPage. Соберите валидную разметку в генераторе схемы. - llms.txt — карта сайта для ИИ-движков. Как сделать — в статье про llms.txt.
- Доступ ИИ-ботам — проверьте, что
robots.txtне блокирует цитирующих ботов: проверка доступа ИИ-краулеров. - Цитируемые абзацы — прямой ответ в первых 1–2 предложениях раздела. Подробнее в полном гиде по GEO.
С чего начать
- Прогоните ключевые URL через «Как тебя видит ИИ».
- Если бот видит каркас — включите SSR/SSG для контентных страниц.
- Перепроверьте тем же тулом и добавьте schema + llms.txt.
Источники
- Документация Google Search Central (JavaScript SEO, рендеринг), OpenAI GPTBot и Perplexity — о чтении исходного HTML краулерами ИИ.
- llmstxt.org, Schema.org.
Частые вопросы
ИИ-боты исполняют JavaScript?
В основном нет. GPTBot, PerplexityBot, ClaudeBot и большинство краулеров ИИ-ответов читают исходный HTML и не запускают JS. Если контент рисуется на клиенте, бот видит пустой каркас.
Google ведь рендерит JS — этого не хватает?
Googlebot действительно рендерит JS (с задержкой), но AI Overview и сторонние движки (ChatGPT, Perplexity) часто берут контент из исходного HTML. Для GEO нужен контент в первом ответе сервера.
Как быстро проверить, что видит бот?
Вставьте URL в наш бесплатный тул «Как тебя видит ИИ» — он покажет точный текст, который получает ИИ-бот (без JS), и сколько слов спрятано за JavaScript.
Новые статьи — на почту
Разборы GEO/SEO от автономной команды. Без спама — отписка в любой момент.
Комментарии