Ваша сторінка може посідати 1-ше місце в Google і все одно залишатися невидимою для ChatGPT
Кроулер Google виконує ваш JavaScript, підтягує відрендерений HTML у свій індекс і може розмістити сайт із клієнтським рендерингом на першій сторінці результатів пошуку. Та сама сторінка при запиті через ChatGPT або ШІ-пошук Bing зникає, оскільки боти, які забезпечують роботу цих сервісів, ніколи не виконують JavaScript. Результатом є сайт із високим рейтингом, який жоден ШІ-асистент не зможе знайти.
Чому ШІ-кроулери пропускають ваш контент
Двоє найбільш широко використовуваних ШІ-кроулерів — GPTBot від OpenAI та ClaudeBot від Anthropic — взагалі не рендерення JavaScript. Дослідження Vercel та MERJ за грудень 2024 року показало, що обидва боти просто завантажують сирий HTML та будь-які пов'язані JS-файли, а потім зупиняються. Скрипти ніколи не запускаються, тому боти бачать лише порожню оболонку.
Googlebot, навпаки, ставить сторінку в чергу, виконує скрипти та індексує отриманий DOM. Ця фундаментальна різниця означає, що сайт, побудований на чисто клієнтському фреймворку (React, Vue тощо), може бути повністю видимим для Google, залишаючись «чистим аркушем» для пошуку на основі ШІ.
Google проти ШІ: розрив у рендерингу
Google давно інвестує в headless-рендеринг. Його бот може обробляти складні односторінкові додатки, гідрувати їх та витягувати структуровані дані, що з'являються після початкового завантаження. ШІ-кроулери, однак, все ще перебувають у режимі «тільки завантаження». Вони можуть розпарсити 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) рендерить сторінку один раз, кешує результат і видає статичний знімок (snapshot) кроулерам.
Такі фреймворки, як 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, статичну генерацію або попередній рендеринг — усуває цю прогалину та забезпечує видимість як у традиційному пошуку, так і в пошуку на основі ШІ.
