Почему генеративные поисковики игнорируют ссылки, созданные через JavaScript
По данным ROI Revolution, свежее исследование подтвердило то, что опытные бэкендеры подозревали давно: генеративные поисковики не справляются с контентом, который появляется только после исполнения JS в браузере.

ИИ-краулеры не видят ваши ссылки, сгенерированные на клиенте. По данным ROI Revolution, свежее исследование подтвердило то, что опытные бэкендеры подозревали давно: генеративные поисковики не справляются с контентом, который появляется только после исполнения JS в браузере. Для тех, кто до сих пор пихает ссылки в useEffect, — пора делать SSR, иначе ваш сайт в ИИ-выдаче просто не существует.
Что именно сломалось
Анализ показал: боты на базе ИИ, которые сканируют страницы для генеративной выдачи, не дожидаются полной отработки клиентских скриптов. Если ссылка рождается через document.createElement, fetch + render или магию реактивного фреймворка — её для краулера как будто нет. HTML, который отдаёт сервер, остаётся единственным, что бот реально видит. Пустой HTML, без навигации, без внутренних линков.
В логах это выглядит характерно: запрос от краулера приходит, отрабатывает быстрее, чем успевает прогрузиться основной JS-бандл. Время до первого байта — копеечное, время до полного рендера — вечность. Бот забирает первые килобайты разметки и уходит. Всё, что ниже фолда и за пределами стартового HTML, — для него терра инкогнита.
Знакомая картина: рендер есть, а индексации нет. С Googlebot такая история тянулась годами — там хотя бы был рендеринг через headless Chrome с задержкой. ИИ-краулеры экономят на этом ещё агрессивнее. Результат предсказуем: страница выглядит на UI нормально, пользователи не жалуются, метрики скриншотами радуют глаз. А в ИИ-выдаче — пустота.
Что делать, пока не поздно
ROI Revolution советует классику: серверный рендеринг или гибрид. На человеческом — HTML собирается на бэкенде до отдачи клиенту, либо используется гибридная схема, где критичное для индексации приходит сразу, а тяжёлые интерактивные куски догружаются позже. Если у вас SPA на чистом клиенте без SSR — это не «особенность архитектуры», а SEO-баг, который вы игнорируете.
Прежде чем раскатывать «это всё и так работает» — прогоните свой сайт через простую проверку:
curl -s | grep -E 'href|src' | wc -lСчитаем, сколько ссылок реально присутствует в HTML без JS. Если число сильно меньше того, что вы видите в DevTools после рендера, — поздравляю, у вас классический костыль «SPA ради SPA».
Итог для прагматиков
Краулеры ИИ-поисковиков уже не остановить — они становятся одним из основных источников трафика для растущего числа ниш. Если бизнес зависит от органики, клиентский рендер без SSR — это не оптимизация, а мина замедленного действия. Фиксируйте robots.txt, не забывайте про sitemap.xml — и не надейтесь, что «фреймворк сам разберётся». Не разберётся.