Ваша страница может занимать 1-е место в Google и при этом оставаться невидимой для ChatGPT
Краулер Google выполняет ваш JavaScript, подтягивает отрендеренный HTML в свой индекс и может поместить сайт с клиентским рендерингом на первую страницу результатов поиска. Та же самая страница при запросе через ChatGPT или ИИ-поиск Bing исчезает, потому что боты, обеспечивающие работу этих сервисов, никогда не исполняют JavaScript. В результате получается сайт с высокими позициями, который ни один ИИ-ассистент не может найти.
Почему ИИ-краулеры пропускают ваш контент
Два из наиболее широко используемых ИИ-краулеров — GPTBot от OpenAI и ClaudeBot от Anthropic — вообще не рендерят JavaScript. Исследование, проведенное Vercel и MERJ в декабре 2024 года, показало, что оба бота просто скачивают «сырой» HTML и любые связанные JavaScript-файлы, а затем останавливаются. Скрипты никогда не запускаются, поэтому боты видят лишь пустую оболочку.
Googlebot, напротив, ставит страницу в очередь, выполняет скрипты и индексирует полученный DOM. Это фундаментальное различие означает, что сайт, построенный на чисто клиентском фреймворке (React, Vue и т. д.), может быть полностью виден Google, оставаясь при этом «чистым листом» для поиска на базе ИИ.
Google против ИИ: разрыв в рендеринге
Google давно инвестирует в headless-рендеринг. Его бот может обрабатывать сложные одностраничные приложения (SPA), «гидрировать» их и извлекать структурированные данные, которые появляются после начальной загрузки. ИИ-краулеры, однако, все еще находятся в режиме «только загрузка». Они могут парсить JSON-LD, внедренный с помощью таких инструментов, как react-helmet, но только если эта разметка присутствует в исходном HTML.
Инструменты разработчика могут вводить в заблуждение. Панель Elements в Chrome показывает страницу после выполнения JavaScript, создавая ложное впечатление, что разметка является частью исходного кода. Использование «view-source» (или curl без браузера) показывает то, что бот получает на самом деле. Если контента или структурированных данных там нет, ИИ-краулеры их никогда не увидят.
Как проявляется эта проблема
Типичный React-сайт, полагающийся на клиентский рендеринг, будет высоко ранжироваться в Google по таким ключевым словам, как «лучшая кофеварка» или «как починить текущий кран». Тем не менее, пользователь, спрашивающий ChatGPT: «Какие кофеварки лучше всего?», получит ответы, в которых этот сайт будет полностью проигнорирован. Тот же разрыв существует и для ИИ от Bing, который обрабатывает примерно 92 % запросов агентов ChatGPT. Возможности рендеринга JavaScript у Bing ограничены, поэтому сайт, работающий только на стороне клиента, может быть невидим для обоих крупнейших поставщиков ИИ-поиска.
Проблема протекает незаметно. SEO-панели, отслеживающие позиции в Google, будут сообщать о хорошем положении, в то время как трафик сайта от ИИ-ассистентов будет равен нулю. Это несоответствие может стоить бизнесу растущей доли трафика из источников поиска, особенно по мере того, как все больше пользователей полагаются на разговорные интерфейсы для получения быстрых ответов.
Что разработчики делают не так
Многие команды полагают, что если Google может прочитать страницу, то и любой краулер справится. Они часто:
- Полагаются на
react-helmetили подобные библиотеки для внедрения JSON-LD после загрузки страницы, считая, что разметка «на месте». - Тестируют только во вкладке Elements в браузере, а не в исходном коде.
- Пропускают простую проверку через
curl, упуская тот факт, что заголовок или ключевые фразы никогда не появляются в начальном HTML-ответе.
Такая практика создает иллюзию здорового SEO, оставляя сайт «слепым» для ИИ-поиска.
Как это исправить
Решение заключается в том, чтобы передавать реальный контент в первом HTTP-ответе. Работают три проверенных подхода:
- Server-Side Rendering (SSR) — сервер выполняет JavaScript, рендерит полный HTML и отправляет его клиенту. Страница приходит уже наполненной контентом.
- Static Generation — на этапе сборки фреймворк создает статические HTML-файлы, которые включают в себя весь контент. Рендеринг во время выполнения не требуется.
- Prerendering — сервис-посредник (middleware) рендерит страницу один раз, кэширует результат и отдает статический снимок краулерам.
Такие фреймворки, как Next.js (React) и Nuxt (Vue), предоставляют встроенную поддержку этих методов. Переход от чисто клиентского бандла к одному из вышеперечисленных методов гарантирует, что и Googlebot, и ИИ-краулеры увидят один и тот же контент.
Быстрая проверка:
curl -s https://yourpage.com | grep "your headline text"
Если команда ничего не возвращает, значит, заголовок отсутствует в исходном HTML, и ИИ-боты его не увидят.
На что обратить внимание
Текущая ситуация — это явное несоответствие: движок рендеринга Google сложен, а ИИ-краулеры — нет. Исследование, выявившее этот разрыв, было опубликовано всего несколько месяцев назад, и как OpenAI, так и Anthropic выразили заинтересованность в улучшении своих конвейеров индексации. Тем не менее, ни одна публичная дорожная карта не гарантирует, что полноценное выполнение JavaScript будет добавлено в ближайшее время.
Тем временем цена игнорирования этой проблемы изменилась. Десять лет назад последствием была медленная индексация в Google; сегодня это исключение из самого быстрорастущего канала обнаружения — поиска на базе ИИ. Компаниям, зависящим от органического трафика, следует проводить аудит страниц с помощью инструментов анализа исходного кода, внедрять SSR или статическую генерацию там, где это возможно, и отслеживать отчеты об индексации, специфичные для ИИ, по мере их появления.
Главный вывод: Сайт, который выглядит идеально в рейтингах Google, может быть невидим для ChatGPT и Bing AI, если он полагается исключительно на клиентский рендеринг. Передача контента в исходном HTML — через SSR, статическую генерацию или пререндеринг — устраняет этот разрыв и обеспечивает видимость как в традиционном поиске, так и в поиске на базе ИИ.
