Вы видите полноценную страницу. Агент получает сырой HTML-файл. Если ваш контент собирается в браузере с помощью JavaScript, есть реальный шанс, что на другую сторону пришла пустая оболочка. Единственное публичное измерение, которое мне удалось найти по этой теме — исследование Vercel и MERJ, декабрь 2024 года — показало, что ни один из основных ИИ-краулеров не выполняет JavaScript: файлы JS они скачивают (11,50 % запросов ChatGPT, 23,84 % запросов Claude), но никогда не запускают. Исключение — Google: он рендерит с помощью evergreen-версии Chromium, хотя тоже останавливается на 2 МБ. Сама проверка занимает две минуты и одну строку curl.
Единственный вопрос, который имеет значение: что находится в исходном HTML
Есть разница между тем, что ваш сайт показывает, и тем, что ваш сайт отправляет. Браузер получает HTML-документ, скачивает файлы JavaScript, выполняет их, делает дополнительные вызовы API и из всего этого собирает страницу, которую вы видите. Вся цепочка происходит на машине пользователя, а не на вашем сервере. Агент, который запрашивает URL и на этом останавливается, получает только первый шаг.
В большинстве классических систем управления контентом это не проблема, потому что HTML приходит с сервера уже полностью собранным. Сложности начинаются, когда сайт построен как клиентское приложение: React, Vue или Angular генерируют контент после загрузки. В этом случае документ, покидающий ваш сервер, может быть тремя килобайтами пустых тегов с <div id=”root”></div> посередине, а всё остальное собирается только в браузере.
Один момент стоит подчеркнуть: это не вопрос разрешений. Вы можете дать всем ботам полный доступ, возвращать 200 на каждый запрос — и всё равно не появиться ни в одном ответе, просто потому что читать было нечего. Слой разрешений я разобрал отдельно в карте ботов 2026; это слой, который идёт сразу после него.
Что действительно измерили — и что нет
Тема требует аккуратности, потому что вокруг неё ходит множество цифр без источника. Что существует на самом деле: совместное исследование Vercel и MERJ, опубликованное 17 декабря 2024 года и построенное на реальных логах крупных сайтов. Его главный вывод: ни один из основных ИИ-краулеров — GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot и другие — не выполняет JavaScript. Файлы JS они скачивают, но не запускают. Исключение в их списке — AppleBot, который рендерит через браузер.
То же исследование даёт представление и об объёмах: около 569 миллионов запросов в месяц от GPTBot и порядка 370 миллионов от Claude — вместе примерно пятая часть объёма запросов Googlebot за тот же период.
Оговорка, которую я обязан сделать: это измерение относится к декабрю 2024 года и построено на ограниченной выборке сайтов. Это не измерение в масштабах всего интернета и не цифра 2026 года. Я проверил официальную документацию OpenAI, Anthropic и Perplexity — ни одна из трёх не документирует, рендерят ли её боты JavaScript вообще. Это отсутствие само по себе является результатом: нельзя полагаться на обещание, которого никто не давал, поэтому единственное безопасное допущение — контент должен быть в HTML.
Google — исключение, а не правило
Google Search Central прямо указывает на странице, обновлённой 4 марта 2026 года, что поиск Google выполняет JavaScript с помощью evergreen-версии Chromium и что Googlebot ставит в очередь на рендеринг все страницы, возвращающие код состояния 200. В том же документе Google добавляет самую важную здесь оговорку: не все боты умеют выполнять JavaScript.
Стоит знать два практических ограничения Google. Во-первых, согласно документации Googlebot, краулер забирает первые 2 МБ поддерживаемого типа файла и на этом останавливается. Если ваш HTML тяжелее, всё, что за пределом, просто не читается. Во-вторых, применительно к функциям на основе ИИ Google указывает, что дополнительных технических требований нет — страница должна быть проиндексирована и иметь право отображаться со сниппетом. Никакого специального файла и никакой отдельной разметки: то, что хорошо читается в поиске, хорошо читается и там.
Три сценария, которые опустошают страницу
Клиентский рендеринг. Классический случай. Документ с сервера содержит оболочку, а контент подгружается после. Легко заметить: исходный код страницы значительно короче того, что видит глаз.
Контент, который открывается только по взаимодействию. Аккордеоны, вкладки, «показать ещё», бесконечная прокрутка. Если контент вставляется в DOM только после клика, в документе его нет. Если он присутствует в HTML и просто скрыт через CSS — он там, и это совершенно нормально.
Блокирующие слои перед контентом. Баннер cookie, требующий согласия до загрузки контента, пейволл, модальное окно входа или слой bot management, возвращающий challenge. В таких случаях бот страницу всё-таки получает — но не вашу.
Как проверить это за две минуты
Никаких внешних инструментов не нужно. Трёх строк достаточно, чтобы точно узнать, что покидает ваш сервер:
curl -sA «GPTBot» https://example.com/page/ -o raw.html
wc -c raw.html
# 2. How many words of visible text does it actually contain
curl -sA «GPTBot» https://example.com/page/ \
| sed -e ‘s/<script[^<]*<\/script>//g’ -e ‘s/<[^>]*>/ /g’ \
| tr -s ‘ \n’ ‘ ‘ | wc -w
# 3. Is a key sentence from the page really in the document
curl -sA «GPTBot» https://example.com/page/ | grep -c «your key sentence»
Интерпретация простая. Если строка 2 возвращает число, близкое к количеству слов, которое вы видите на странице, всё в порядке. Если она возвращает 40 слов для страницы на 1200 слов — контент собирается в браузере. Если строка 3 возвращает 0, вашей ключевой фразы не будет ни в одном ответе, который когда-либо сгенерируют из этой страницы. Стоит также повторить ту же проверку с обычным браузерным user-agent и сравнить: большой разрыв между двумя результатами указывает на сервер, отдающий ботам другой контент.
Как убедиться, что бот настоящий
Прежде чем делать выводы из лога, убедитесь, что тот, кто назвался GPTBot, действительно GPTBot. Все крупные вендоры публикуют официальные списки IP-адресов, а Google дополнительно публикует метод проверки через обратный DNS:
| Вендор | Официальный источник проверки | Примечание |
|---|---|---|
| OpenAI | openai.com/gptbot.json openai.com/searchbot.json openai.com/chatgpt-user.json | Отдельный файл для каждого бота |
| Anthropic | claude.com/crawling/bots.json | Один файл на всех ботов |
| Perplexity | perplexity.com/perplexitybot.json perplexity.com/perplexity-user.json | Отдельный файл для каждого бота |
| developers.google.com/crawling/docs/ crawlers-fetchers/verify-google-requests | И диапазоны IP, и проверка обратного DNS по googlebot.com |
Google — единственный из четырёх, кто предлагает проверку через обратный DNS. У остальных сверка IP с официальным списком остаётся единственной доступной проверкой. Эти файлы стоит забирать автоматически, а не переписывать диапазоны вручную — они меняются.
Что делать, если ответ — «страница пустая»
Исправление зависит от архитектуры, но направление во всех случаях одно: перенести сборку контента из браузера на сервер.
- Серверный рендеринг или статическая генерация. В современных фреймворках это настройка на уровне отдельной страницы, а не переписывание. Результат — полный HTML уже в самом первом ответе, что заодно улучшает время загрузки для живых пользователей.
- Убедитесь, что основной контент не зависит от взаимодействия. Аккордеон, содержимое которого лежит в HTML и скрыто через CSS, — совершенно корректное решение. Аккордеон, подгружающий содержимое по клику, — нет.
- Проверьте, что происходит до согласия. Если баннер cookie блокирует контент до клика, бот не видит ничего. Контент должен быть в документе даже тогда, когда ничего не нажато.
- Измерьте снова, не предполагайте. После каждого изменения — та же строка curl. Проверка занимает секунды, а предположение, что всё сработало, — ровно то, что и создало проблему изначально.
А если вам интересен более широкий вопрос — что ИИ-агент вообще читает на вашем сайте ещё до того, как встаёт вопрос рендеринга — я написал об этом в материале о слое обнаружения.
Практический порядок приоритетов
Если у вас есть час, вот порядок, который я рекомендую. Сначала прогоните проверку curl на трёх самых важных страницах сайта — главной, основной странице услуги и статье с наибольшим трафиком. Затем сравните количество слов с тем, что реально видно. Только если есть разрыв, имеет смысл открывать вопрос архитектуры. На большинстве сайтов на WordPress и на маркетинговых сайтах ответ будет «всё в порядке», и это отличный результат — лучше знать, чем потратить месяц на решение проблемы, которой у вас нет.
Часто задаваемые вопросы
Выполняют ли ИИ-краулеры JavaScript?
Ни одна из крупных компаний официально этого не документирует. Единственное существующее публичное измерение — исследование Vercel и MERJ от декабря 2024 года — показало, что ни один из основных ИИ-краулеров не выполняет JavaScript: файлы они скачивают, но не запускают. В отсутствие официального обязательства безопасное допущение — контент должен присутствовать в исходном HTML.
Рендерит ли Googlebot?
Да. Google указывает, что поиск выполняет JavaScript с помощью evergreen-версии Chromium и что каждая страница, возвращающая код состояния 200, ставится в очередь на рендеринг. Есть техническое ограничение: Googlebot сканирует первые 2 МБ поддерживаемого типа файла и на этом останавливается.
Как понять, есть ли мой контент в HTML?
Заберите страницу через curl, без браузера, уберите теги и посчитайте слова. Если число близко к тому, что вы видите на странице, контент отдаётся сервером. Если оно существенно меньше, контент собирается в браузере и до агента не доходит.
Нужен ли специальный файл, чтобы попасть в ИИ-функции Google?
Нет. Google указывает, что дополнительных технических требований нет, а условие — чтобы страница была проиндексирована и имела право показываться в результатах со сниппетом.
Как подтвердить, что бот в моём логе настоящий?
OpenAI, Anthropic, Perplexity и Google публикуют официальные списки IP в виде JSON-файлов. Google дополнительно публикует метод проверки через обратный DNS по домену googlebot.com. У остальных вендоров сверка со списком IP остаётся единственной доступной проверкой.
- Карта ИИ-ботов 2026: кто на самом деле сканирует ваш сайт и что можно безопасно закрыть
- Слой обнаружения: что ИИ-агент на самом деле читает на вашем сайте
- Как написать страницу, которую ИИ-агент действительно сможет процитировать
- От чтения к действию: что нужно, чтобы ИИ-агент выполнил задачу на вашем сайте
