Чому сайт видно в Google AI Overviews і не видно в ChatGPT: справа в JavaScript
Коротка відповідь: спеціалізовані ШІ-краулери не виконують JavaScript. Вони завантажують HTML, читають те, що прийшло в первинній відповіді, і на цьому зупиняються. Googlebot, навпаки, рендерить сторінку повністю, а AI Overviews і Gemini користуються тим самим конвеєром рендерингу. Звідси асиметрія, через яку сперечаються цілі команди: один і той самий сайт може цитуватись у відповідях Google і бути повністю невидимим для ChatGPT, Claude та Perplexity.
Нижче цифри, механіка й перевірка, яка займає десять хвилин і не потребує жодного платного інструмента.
Що саме показали логи
Найбільший публічний замір такого роду це аналіз серверних логів Vercel спільно з MERJ, опублікований 17 грудня 2024 року. Вибірка перевищує 500 мільйонів звернень GPTBot, плюс окремі зрізи по інших агентах.
| Агент | Тягне JS-файли | Виконує JavaScript |
|---|---|---|
| GPTBot, OpenAI | 11,50% запитів | ні, жодного разу |
| ClaudeBot, Anthropic | 23,84% запитів | ні |
| PerplexityBot | тільки сирий HTML | ні |
| Meta-ExternalAgent, Bytespider, CCBot | тільки сирий HTML | ні |
| Googlebot | 15,25% запитів | так, повний рендеринг |
| AppleBot | браузерний | так |
Цифри в першій колонці збивають з пантелику, тому варто пояснити окремо. Краулер справді завантажує файл скрипта, але поводиться з ним як з текстом, а не як з програмою. Він не створює DOM, не чекає на запити до API, не бачить нічого, що ваш фронтенд домальовує після завантаження.
Практично це означає одне: для цих агентів ваша сторінка це рівно те, що сервер віддав у першій відповіді. Усе решта для них не існує.
Звідки береться асиметрія з Google
Тут ховається половина непорозумінь у розмовах про ШІ-видимість.
AI Overviews і Gemini не мають окремого краулера, який ходив би по сайтах замість Googlebot. Вони спираються на той самий індекс і той самий конвеєр рендерингу, що й звичайний пошук. А Googlebot рендерить сторінки повністю вже багато років.
Тому сайт на React або Vue, який віддає порожню оболонку і домальовує вміст скриптами, потрапляє в дивний стан. Google його бачить, індексує й може процитувати в AI Overviews. ChatGPT, Claude і Perplexity бачать порожню оболонку.
Команда при цьому дивиться на одну панель, бачить нормальні позиції й нормальну присутність в оглядах Google, і робить хибний висновок, що з технічною базою все гаразд. Насправді половина ринку ШІ-відповідей для неї закрита, і закрита не через контент, а через спосіб доставки контенту.

Хто виконує JavaScript, а хто ні. Серверні логи Vercel і MERJ, 17 грудня 2024.
Перевірка за десять хвилин
Порядок дій простий, і він не потребує нічого, крім терміналу й браузера.
Крок 1. Подивіться, що віддає сервер. Заберіть сторінку так, як її бачить агент, тобто без виконання скриптів. Найпростіше це `curl` з потрібним user-agent і збереженням у файл.
Крок 2. Знайдіть у цьому файлі свій текст. Візьміть характерне речення з середини сторінки, те, яке точно унікальне, і пошукайте його у відповіді. Якщо речення там є, ви в нормі. Якщо немає, для ШІ-краулерів цієї сторінки не існує.
Крок 3. Порівняйте з тим, що бачите в браузері. Різниця між первинною відповіддю й фінальним DOM це і є та частина, яку ШІ-агенти не побачать ніколи.
Крок 4. Перевірте ключові типи сторінок, а не одну. Головна часто зроблена статично, а картки товарів, статті й фільтри підвантажуються. Саме там зазвичай і виявляється діра.
Крок 5. Подивіться логи. Якщо є доступ до серверних логів, відфільтруйте звернення за назвами агентів і подивіться, які коди відповіді вони отримують. Це найчесніше джерело, бо показує реальну поведінку, а не припущення.
Що з цим робити технічно
Варіантів небагато, і вони давно відомі.
Серверний рендеринг. Найпряміший шлях: сторінка формується на сервері й приходить агенту вже з текстом. Для сучасних фреймворків це штатний режим, а не екзотика.
Попередній рендеринг для ботів. Компроміс, коли переписувати застосунок дорого. Сервер віддає готовий HTML тим агентам, які не рендерять, і звичайний застосунок людям. Важливо, щоб вміст в обох варіантах збігався, інакше це вже інша історія з іншими наслідками.
Статична генерація для контентних розділів. Блог, довідка, посадкові сторінки рідко потребують клієнтської логіки. Винести їх у статику зазвичай найдешевше рішення з усіх.
Чого робити не варто, так це віддавати ботам іншу за змістом сторінку. Це вже не оптимізація доставки, а підміна вмісту, і ставлення пошукових систем до неї не змінилось.
Чого ці цифри не доводять
Кілька меж, без яких висновки будуть завеликими.
Замір опубліковано в грудні 2024 року. Це найбільше публічне вимірювання такого масштабу, але з того часу минув час, і поведінка агентів могла змінитись. Свої логи надійніші за будь-яку чужу статистику, включно з цією.
Серверний HTML не гарантує цитування. Він гарантує лише те, що вас прочитали. Далі працює відбір фрагмента, а це окрема задача з іншими правилами.
І сама частка завантажених JS-файлів нічого не каже про наміри. Ми не знаємо, навіщо агент забирає скрипти, якщо не виконує їх. Можливо, для аналізу, можливо, просто тому, що ходить по всіх посиланнях підряд.
Часті питання
Чи бачить ChatGPT контент, який підвантажується після кліку?
Ні. Він не клікає й не виконує скрипти. Для нього існує тільки те, що прийшло в первинній відповіді сервера.
Чи допоможе динамічний рендеринг тільки для ботів?
Технічно так. Але вміст для ботів і для людей має збігатись, інакше це вже підміна сторінки.
Ми в топі Google і в AI Overviews, значить з рендерингом усе гаразд?
Не значить. Google рендерить, а спеціалізовані ШІ-краулери ні. Присутність в оглядах Google нічого не каже про ChatGPT і Claude.
Чи достатньо перевірити головну сторінку?
Ні. Найчастіше діра саме в шаблонах карток і статей, бо головну зазвичай роблять статичною.
Чи впливає швидкість на цих агентів?
Впливає доступність. Якщо сервер відповідає повільно або віддає помилку, агент піде без вмісту, і жодні оптимізації тексту вже не спрацюють.
Підсумок
Спеціалізовані ШІ-краулери не виконують JavaScript. GPTBot забирає JS-файли в 11,5% запитів і не запускає їх, ClaudeBot у 23,84% з тим самим результатом, PerplexityBot працює тільки з сирим HTML. Googlebot рендерить повністю, і саме тому AI Overviews бачать те, чого не бачить ChatGPT.
Для бізнесу висновок практичний. Присутність у відповідях Google не є доказом технічної готовності до ШІ-пошуку загалом. Перевіряти треба первинну відповідь сервера, по кожному важливому типу сторінок, і робити це на своїх логах, а не за чужими зрізами.
Матеріал підготували Євгеній Чиж, засновник Chyzh Agency, і Дмитро Попрядухін, Head of SEO.
У каталозі 1700+ діджитал-агентств, які готові допомогти в реалізації ваших завдань. Вибирайте та економте до 30% свого часу та бюджету! Це безкоштовно та займе менше 3-х хвилин.