Ваш сайт може бути невидимим для ChatGPT: перевірка на десять хвилин

Ситуація повторюється настільки часто, що стала впізнаваною. Компанія два-три роки тому переїхала на React або Vue. Позиції в Google не просіли, Search Console виглядає нормально, технічний підрядник претензій не має. Потім хтось питає в ChatGPT чи Perplexity те, у чому компанія має бути очевидним експертом, і у відповіді з’являються троє конкурентів. Першою гіпотезою стає «модель нас не любить». Насправді причина зазвичай значно нудніша: на сторінці немає жодного тексту, доки не відпрацює JavaScript, а більшість AI-краулерів його не виконують.

Це нова поломка. Десять років у веброзробці діяло правило: якщо Googlebot рендерить ваш застосунок, усе гаразд. Тепер це правило коштує грошей, бо системи, які генерують відповіді, не користуються рендерингом Googlebot.

Чому Googlebot і AI-краулер бачать різні сторінки

Googlebot запускає безголовий браузер. Він завантажує HTML, ставить сторінку в чергу, виконує скрипти й індексує вже те, що вийшло в DOM. Google описує цей триетапний цикл сканування, рендеру й індексації у власній документації з JavaScript SEO. Це працює, з затримкою, і саме тому чимало односторінкових застосунків спокійно ранжуються.

AI-краулери здебільшого так не роблять. Найкращий доступний первинний доказ – спільне дослідження Vercel і MERJ, опубліковане в грудні 2024 року на реальних серверних логах, а не на опитуваннях. Висновок був прямий: жоден із великих AI-краулерів не рендерив JavaScript. Краулери OpenAI та Anthropic скрипти завантажували – 11,5% і 23,84% усіх звернень відповідно – і не запускали їх. Винятків було два: пошук Gemini працює на інфраструктурі Googlebot і тому рендерить, а AppleBot використовує краулер на базі браузера.

До цієї цифри треба додати три застереження, і вони важливіші за заголовок. Дослідження датоване, тож це знімок грудня 2024 року, а не вічний закон природи. Логи взяті переважно з одного великого сайту документації та мережі Vercel, тобто це глибока вибірка, а не перепис вебу. І автори виключили Microsoft Copilot, бо той тоді не мав окремого користувацького агента.

Що точно не змінилося – це економіка. Рендер JavaScript дорогий. Google будував цю здатність роками, бо пошук був його основним бізнесом. Краулеру, який збирає навчальний корпус або дістає сторінку, щоб за дві секунди підперти нею відповідь, немає сенсу платити за браузерний рушій на кожну адресу. У документації самих постачальників про рендер не сказано нічого: ані в описі краулерів OpenAI, де є користувацькі агенти, діапазони IP і поведінка з robots.txt, ані в довідці Anthropic.

Заради чесності варто додати ще два пункти. MERJ повернувся до теми у матеріалі про те, яку версію сторінки віддавати якому краулеру у травні 2026 року, і там повторено, що ці агенти можуть не виконувати JavaScript, але без нових вимірювань. Тобто найсильніший доступний доказ – це одне дослідження, з однієї мережі, двадцятимісячної давнини, яке ніхто не оновлював. Це тонше за ту впевненість, з якою твердження зазвичай переказують, і про це варто знати до того, як витрачати на нього квартал.

Другий пункт: Google із висновком усе одно погоджується. У тій самій документації з JavaScript SEO є рядок про те, що серверний рендер або пререндер лишається гарною ідеєю, бо не всі боти вміють виконувати JavaScript. Це пошукова система з найдорожчим рендер-конвеєром у світі радить не покладатися на рендер.

Практичне правило звучить так: вважайте, що AI-краулер бачить рівно те, що бачить curl. Будь-який рендер понад це – подарунок, на який не варто розраховувати.

Шість команд, які дають відповідь

Ні інструмента, ні підписки, ні дашборда для цього не треба. Потрібні curl, браузер і одна важлива сторінка. Не головна: візьміть ту, яку ви хотіли б бачити процитованою. Сторінку послуги, сторінку з цінами, специфікацію.

Збережіть відповідь один раз і працюйте з файлом, щоб усі шість перевірок дивилися на ті самі байти.

curl -sL “https://yoursite.com/your-key-page/” > raw.html

1. Чи є там текст узагалі

Зріжте теги й порахуйте, що лишилося. Якщо сторінка, у якій ви бачите вісімсот слів, дає сорок, відповідь у вас уже є.

sed ‘s/<[^>]*>/ /g’ raw.html | tr -s “[:space:]” ” ” | wc -w

2. Пошук речення, яке ви бачите на екрані

Відкрийте сторінку в браузері, скопіюйте характерне речення із середини тексту й пошукайте його у файлі. Це найпереконливіша перевірка зі списку, бо до неї неможливо причепитися через методику підрахунку.

grep -c “речення, скопійоване з відрендереної сторінки” raw.html

Нуль означає, що цього речення не існує, доки не виконається JavaScript. Для краулера, який його не виконує, речення не існує взагалі.

3. Порожня оболонка

Клієнтський рендер зазвичай лишає слід: одну точку монтування, всередині якої нічого немає.

grep -o ‘id=”root”‘ raw.html ; grep -o ‘id=”__next”‘ raw.html ; grep -o ‘id=”app”‘ raw.html

Сама наявність такого елемента проблемою не є. Проблема – коли він порожній, а видимого тексту в файлі немає ніде.

4. Порівняння сирого файлу з відрендереним DOM

У консолі браузера на тій самій сторінці виконайте рядок нижче й порівняйте з числом із першого пункту. Дві тисячі слів після рендеру проти шістдесяти до нього – це готовий діагноз.

document.body.innerText.split(/\s+/).length

Те саме порівняння з боку Google дає інструмент перевірки URL у Search Console, у режимі перегляду просканованої сторінки. Варто зробити обидва: вони цілком можуть розійтися.

Сам по собі розрив ще не катастрофа, і корисно розуміти, як виглядає норма. Web Almanac від HTTP Archive міряв саме цю різницю по всьому вебу: медіанна десктопна головна сторінка додає близько 18% слів після рендеру, а на десятому процентилі різниця сягає приблизно 32%. Тобто помірний розрив – це звичайна справа. Розрив у дев’яносто з чимось відсотків – зовсім інша історія.

5. Що отримує ботівський користувацький агент

Частина фаєрволів, бот-менеджерів і правил CDN віддає сторінку виклику або 403 усьому, що схоже на краулер. Це окрема поломка з тими самими симптомами.

curl -sL -A “Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot” -o /dev/null -w “%{http_code} %{size_download}” “https://yoursite.com/your-key-page/”

Порівняйте код відповіді й розмір тіла зі звичайним запитом. 403, редирект на перевірку або тіло вдесятеро менше означають, що сторінку не віддають ще до того, як рендер стає питанням.

6. Чи є розмітка в сирому HTML

Schema.org, яку підставляє менеджер тегів після завантаження, має рівно ту саму проблему, що й текст, який підставляється після завантаження.

grep -c “application/ld+json” raw.html

Як читати результат

Що ви побачилиЩо це означаєСкільки коштує ремонт
Сирий текст близький до відрендереного, речення знайденоНічого робити не треба. У вас серверний рендер або статикаНуль
Текст є, але немає цін і характеристикЧасткова гідратація. Невидимою лишилася саме комерційна частинаДні. Перенести ці блоки у серверну відповідь
Порожня точка монтування, тексту майже немаєПовний клієнтський рендер. Для краулера без скриптів сторінка порожняТижні або місяці, залежно від фреймворку
Ботівський агент отримує 403 або викликПравило на периметрі, а не проблема рендеруГодини. Зміна конфігурації
HTML нормальний, розмітки немаєSchema.org підставляється менеджером тегів на клієнтіГодини або дні

Чого ця перевірка не показує

Вона показує, чи здатна машина прочитати сторінку. Вона не показує, чи буде хтось її цитувати. Читабельність – це передумова, а не стратегія, і розрив між ними великий. Ідеально доступна сторінка, у якій немає жодної конкретики, буде проігнорована так само надійно, як порожня.

Так само перевірка нічого не каже про те, чи краулери взагалі до вас заходять. Це видно тільки в серверних логах з фільтром за користувацьким агентом, і це окрема робота на пів дня. Чимало сайтів цілком читабельні й просто нікому не потрібні.

Чотири виходи, за зростанням болю

ПідхідЩо робитьКоли доречнийУ чому підступ
Статична генераціяЗбирає справжні HTML-файли заздалегідьМаркетингові сторінки, документація, каталог із плановими змінамиЧас збірки росте разом із кількістю сторінок
Серверний рендерФормує сторінку на сервері, гідратує вже післяПерсоналізований або постійно змінний контентРеальна вартість серверів і складніший деплой
Пререндер на периметріВіддає краулерам закешований відрендерений знімокЗастосунок найближчим часом чіпати не можнаНакладка, яка з часом розходиться з живим сайтом
Гібрид: статична основа плюс віджетиТекст і ціни в HTML, інтерактив зверхуБільшість бізнесових сайтів, якщо чесноТреба вирішити, де контент, а де застосунок

Компроміси між цими варіантами добре розібрані в класичному матеріалі про способи рендеру у вебі, який писався задовго до появи AI-пошуку і від цього тільки виграв. AI-пошук не скасував жодного з тих аргументів. Він лише підняв ціну помилки.

Вибір тісно пов’язаний із тим, як улаштована система керування контентом. Якщо ви й так зважуєте відокремлений фронтенд, це те саме рішення, і наш розбір про те, кому справді потрібна headless CMS, показує, де така архітектура себе виправдовує, а де є дорогим театром. Те саме стосується вибору між застосунком і сайтом: проєкт, який по суті є застосунком у вкладці браузера, має цю проблему структурно, і це частина аргументації в матеріалі про мобільний застосунок і PWA.

Якщо переробки не буде найближчі пів року

Повний перехід на серверний рендер – це проєкт, і він рідко влазить у поточний квартал. Проміжні кроки, які дають більшу частину ефекту за кілька днів роботи, виглядають так.

  • Винесіть у серверну відповідь три речі: заголовок, перший абзац і ціну. Саме їх дістають із сторінки найчастіше, і саме вони найчастіше з’являються тільки після скриптів.
  • Перенесіть Schema.org із менеджера тегів у шаблон. Це годинна правка, яка не потребує жодних змін у застосунку.
  • Зробіть текстову версію ключових сторінок доступною за прямою адресою і додайте її до карти сайту. Некрасиво, зате читається будь-чим.
  • Перевірте правила на периметрі раніше за все інше. Якщо краулер отримує 403, архітектура тут ні до чого, а виправлення займає годину.

Чому це стало масовим

Причин дві. Компонентні фреймворки стали типовим способом зібрати будь-що, зокрема й візитку, у якій інтерактиву на два кліки. І генерація коду це підсилює: асистент, якого просять зробити лендинг, візьме патерн, який бачив найчастіше, тобто клієнтський застосунок, незалежно від того, чи він тут потрібен. Про цю родину поломок ми писали в матеріалі що ламається в сайтах, згенерованих AI, і ця поломка з них найтихіша, бо зовні нічого не зламано.

Окремо варто прочитати позицію самого Google, бо її легко сприйняти як заспокоєння. У посібнику з оптимізації під генеративні функції пошуку, оновленому в липні 2026 року, сказано, що Google уміє обробляти контент усередині JavaScript, якщо той не заблокований, і що жодних окремих файлів чи розмітки створювати не треба. Обидва твердження правдиві й обидва стосуються Google. Про решту систем, які зараз читають веб, там не сказано нічого, і саме цей розрив вимірює наша перевірка.

Коротко

Запустіть curl на найважливішу комерційну сторінку. Порахуйте слова. Пошукайте одне речення, яке ви бачите на екрані. Якщо його там немає, жоден краулер без виконання скриптів вас не процитує, а таких більшість. Ремонт тут архітектурний, а не редакційний: текст треба перенести у серверну відповідь. Ухвалити це рішення під час переробки коштує в рази дешевше, ніж дороблювати потім. Якщо перенесення сайту вже стоїть у планах, це той момент, коли зміна майже безкоштовна, і це одна з перших речей, які ми перевіряємо, коли розробляємо корпоративний сайт, який має бути процитованим, а не просто відвіданим.

Latest News

Жовта тактильна плитка з опуклими круглими елементами

Рік Європейського акта про доступність: Carrefour під щоденною астрентою, німецькі претензії, шведські перевірки

Що насправді вирішив суд у Кані щодо Carrefour, чому астрента не є штрафом, як по-різному працює примус у Німеччині та Швеції і на якому етапі стандарти EN 301 549 та WCAG.

Панорама центру Софії з висоти пташиного польоту надвечір

Болгарський інтернет-магазин у 2026 році: євро, болгарська мова, Наредба Н-18 і Safety Gate

Коли саме завершується подвійне зазначення цін у левах і євро, які насправді санкції за законом про євро, що змінилося в законі про захист споживачів з 3 лютого 2026 року і коли потрібен додаток 33.

View all news