Индексация сайта на JavaScript: чтобы поисковик видел то же, что человек
Индексация сайта на JavaScript ломается в одном месте: бот забирает первый ответ сервера, а контента в нем еще нет – его соберет браузер уже на устройстве. Далее адрес становится в очередь на выполнение сценариев, и пока он там стоит, страницы в выдаче нет. Мы снимаем два документа — приходящий поисковому агенту и приходящий браузеру — и сводим их к одинаковому содержанию. Способ выбираем после замера, а не к нему: пререндер, предварительная генерация и серверный рендеринг разнятся по стоимости сопровождения в разы.
рабочих дней в зависимости от выбранного способа отдачи
бесплатная проверка того, что получает бот, 2–3 рабочих дня
Перед сметой
боту и человеку идет одинаковый по содержанию контент — иначе это уже риск санкций
Жесткое условие
упоминаний в ответах AI-ассистентов: правил отбора не публикует ни один вендор
Чего не обещаем
Кому подходит
Ситуации, в которых эта услуга даёт результат
Сценарий 1 из 5
Сайт открывается нормально, а в поиске почти нет
Классическое расписание для интерфейса-приложения. Человек заходит и видит каталог, бот заходит и видит пустой контейнер с подключенным скриптом. В Search Console такие адреса обычно лежат в статусе «просканированный, пока не проиндексированный» — и это не наказание, а просто отсутствие текста, который можно было бы проиндексировать.
Разберём вашу ситуацию на бесплатном аудите
Сценарий 2 из 5
Контент страницы приходит отдельным запросом после загрузки
Описание услуги, характеристики, цена тянется с API уже после того, как разметка отдана. Для посетителя это четверть секунды, для первого ответа сервера – пустота. Проверяется это через минуту: спросите адрес без выполнения сценариев и посмотрите, есть ли в теле ответа ваше название.
Сценарий 3 из 5
Навигация сделана на обработчиках событий, а не на ссылках
Кнопка, которая меняет маршрут программно для бота не существует: он ищет href и не находит ничего. Сайт может иметь тысячу страниц, а бот дойдет до четырех, на которые ведут обычные ссылки из шапки.
Сценарий 4 из 5
Вам важно, чтобы контент читали не только поисковики
Ассистенты и AI-режимы поиска ходят собственными агентами и в большинстве своем сценарии не выполняют — видят то же, что бот в первом ответе. Здесь сразу предел: читабельность мы обеспечиваем, упоминание в чьем-то ответе не обещаем, потому что правил отбора не публикует никто, а объем переходов оттуда пока мал.
Сценарий 5 из 5
Разработчик говорит, что Google все выполняет, и формально он прав
Google действительно исполняет сценарии. Вопрос в том, когда и как полно: второй проход ставится в очередь, срок которой не публикуется и от вас не зависит. На десятке страниц это не заметно, на нескольких тысячах заметно очень.
Кейсы
Задачи и результат в цифрах — все показатели сняты нашим замером
клиника пластической хирургии и эстетической медицины
Задача
Интерфейс сделан как приложение на JavaScript. Требовалось, чтобы поисковик и агенты ассистентов получали страницу с текстом, а не пустую оболочку.
Решение
Поисковым агентам отдается полностью собранный документ; медицинская разметка, данные врача и хлебные крошки лежат в первоначальном ответе; политика для AI-кравлеров вынесена в отдельные файлы
Результат
Браузер получает оболочку 3,0 КБ без заголовка и описания за 198 мс, поисковый бот – собранный документ 126 КБ (24 КБ в сжатом виде) за 145 мс до первого байта и 178 мс до полного документа; страница «о нас» - 86 КБ. Карта сайта на 89 адресов, 10 типов структурированных данных, в том числе MedicalClinic, Physician и BreadcrumbList. llms.txt на 22 810 байт, robots.txt закрывает тренировочные агенты и пускает ведущие живой трафик. Обнаруженный дефект: встроенный снипет диспетчера тегов самоблокируется — условие выхода сравнивает идентификатор сам с собой, поэтому контейнер не грузится вообще, и аналитики на сайте фактически нет. Несовпадение: в портфолио заявлено Next.js, по факту React и Vite. Измерение 31.07.2026.
украинский производитель негорючих стеновых панелей
Задача
Сделайте так, чтобы характеристики продукции находились в поиске без звонка менеджеру.
Решение
Сайт отдает готовый документ с сервера; данные об организации, адресе, количественных характеристиках и поисковом сценарии присутствуют в первоначальном ответе.
Результат
164 адреса в карте сайта, 164 уникальных — ни одного дубля. Первый ответ 244 мс на главной и 208 мс в каталоге продукции, полный документ за 429 мс при весе 528 КБ. 8 типов структурированных данных: Organization, PostalAddress, Country, QuantitativeValue, SearchAction, WebSite, ImageObject, EntryPoint. robots.txt оставляет открытым каталог и закрывает служебные разделы /api/, /admin/, /_next/. Заявленный в портфолио стек совпадает с фактическим – в нашей выборке это скорее исключение. Измерение 01.08.2026.
Что входит
Полный перечень работ и того, что вы получаете на выходе
Снимаем два ответа на каждом типе страницы – для поискового агента и для браузера – и показываем разницу в байтах и в содержании: дальше разговор идет по документу, а не по ощущениям
Выбираем способ отдачи готового документа под ваше приложение и называем, что каждый стоит не только на внедрении, но и в сопровождении.
Переносим название страницы, описание и канонический адрес в первоначальный ответ – снипет в выдаче состоит из вашего текста, а не из случайного отрывка
Отдаем структурированные данные просто в разметке: вставленные скриптом доходят до поисковика не всегда
Превращаем навигацию в обычные ссылки – бот получает путь вглубь каталога без выполнения ни одного сценария
Сверяем содержание двух ответов строчку в строчку: именно этот пункт держит работу в безопасной зоне
Меряем время до готового документа для бота после внедрения и фиксируем цифру в письменном виде
Разделяем в robots.txt агентов, ведущих живой трафик, и собирающих данные на тренировку — решение ваше, реализация наша
Составляем llms.txt как сжатую карту контента для ассистентов: в измеренном нами сайте клиники этот файл весит 22 810 байт.
Ставим ключевые адреса на проверку в Search Console и 30 дней смотрим отчет индексации
Когда эта услуга не подходит
Что не входит в работу — чтобы не было сюрпризов на сдаче
Переписка фронтенда на другой фреймворк
Разработка нового интерфейса
Обещания по поводу упоминаний в ответах AI-ассистентов
Работа с контентом и текстами
Этапы работы
Прозрачные этапы с согласованием на каждом шагу
Общий срок:10–30 дней
1
Замер текущего состояния
2–3 рабочих дня
Спрашиваем ключевые адреса разными агентами и кладем ответы рядом: размер, наличие заголовка и описания, структурированные данные, ссылки. На выходе документ с двумя колонками, где видно, чего бота не достается.
2
Выбор способа и пределы работы
1–2 рабочих дня
Фиксируем перечень страниц, действительно должны быть в поиске, и способ отдачи под них. Здесь же принимается решение по AI-агентам: кого пускать, кого ограничить. Это позиция бизнеса, мы лишь показываем последствия каждого варианта.
3
Внедрение отдачи готового документа
5–15 рабочих дней
Пререндер по агенту или серверный рендеринг маршрутов. Начинаем с одного типа страницы на тестовом контуре и двигаемся дальше, только если на нем ответ для бота совпадает по содержанию с браузерной.
4
Метатеги, разметка и ссылки
2–5 рабочих дней
Название, описание, канонический адрес и структурированные данные переезжают в исходный ответ, навигация получает обычные ссылки. Ориентир по нашему измерению: в сайте производителя панелей в первоначальном ответе лежит 8 типов структурированных данных.
5
Сверка содержания и замеры
1–3 рабочих дня
Сравним строку в строку, которую видит бот и что человек: расхождение в содержании – это уже не оптимизация, а риск. Меряем время до первого байта и полного документа для бота, цифры остаются у вас письменно.
6
Наблюдение за индексацией
30 календарных дней
Ключевые адреса идут на проверку в Search Console, далее смотрим отчет: сколько страниц изменило статус и как быстро. Луна – это не запас времени, это период, за который отчет вообще успевает среагировать.
Бесплатная проверка того, что получает бот вместо вашей страницы
Проверка проста и наглядна: мы спрашиваем ваши страницы так, как это делает поисковик, и сравниваем ответ с тем, что видит браузер. Разница между этими двумя документами и есть размер проблемы.
Что мы измеряем
Размер ответа для бота против браузераСколько байт получает каждый. Мы мерили сайт, где браузеру приходила оболочка на 3,0 КБ, а поисковому боту полностью собран документ на 126 КБ.
Наличие контента в первичном ответеЕсть ли в ней заголовок, описание, тексты и ссылки – все ли это собирается уже на устройстве.
Метатеги и разметкаПопадают ли в первоначальный ответ название страницы, описание и структурированные данные. Разметка, вставленная скриптом, приходит не всегда.
Внутренние ссылкиСуществуют ли они в разметке как обычные ссылки. Навигация, построенная на обработчиках событий, для бота не существует.
Поведение для AI-агентовАссистенты в большинстве своем не выполняют сценарии на странице. Если контент собирается на устройстве, сайт пуст.
Время готового документаЗа сколько бот получает полный ответ. В измеренном случае это 145 мс до первого байта и 178 мс до полного документа – то есть пререндер может быть быстрым.
Что вы получаете
Сравнение двух ответов – для бота и для браузера – с размерами и содержимым.
Список того, что не доходит до поисковика сейчас.
Варианты решения объясняют, что каждый стоит в поддержке, а не только на внедрении.
Разговор на 30–40 минут по документу.
Срок: 2–3 рабочих дня
Почему это бесплатно
Ибо проверка занимает часы, а разница в стоимости решений кратна. Продавать серверный рендеринг там, где достаточно пререндера, мы не хотим.
Что дальше
Далее – оценка выбранного варианта по этапам. Один из вариантов всегда «ничего не делать»: если бот уже получает полный документ, работы нет.
Короткая форма: контакт и адрес сайта
Договор, акт и гарантия 30 дней
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
Заказчики из Европы
Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
Не нашли свой случай?
Опишите, как это устроено у вас, — ответим, подходит ли «JS-рендеринг для поиска» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.
Что влияет на стоимость
Почему две одинаковые на вид задачи считаются по-разному
Какой способ отдачи подходит именно вамПререндер ложится поверх имеющегося приложения и трогает только слой отдачи. Переход на серверный рендеринг переписывает маршруты и работу с данными. Разница между этими двумя вариантами измеряется не процентами.
Сколько типов страниц должно быть в поискеГлавная, категория, карточка, статья – каждый тип разбирается отдельно: свои данные, свои метатеги, своя разметка. 20 маршрутов в приложении не означают 20 типов; обычно их четыре-шесть, и именно это число двигает смету.
Откуда берется контент страницыОдин запрос к вашему же API – готовый документ собирается просто. Три источника, часть из которых отвечает только после действия пользователя, каждый приходится разбирать отдельно, и именно здесь срок начинает расти.
Кто ведет фронтендЕсть разработчик, знающий приложение, мы отдаем правки и проверяем результат. Нет — входим в чужой код, и первая неделя идет на то, чтобы понять, как она собирается.
Нужен ли надзор за слоем отдачиПререндер ломается тихо: отдает старую страницу без ошибки, и замечают это через месяцы. Мониторинг этого слоя мы выносим отдельной строчкой, а не прячем в «сопровождение».
Технологии и интеграции
На чём строим и с чем это соединяется
Стек
Серверный рендеринг – самый чистый вариант: документ собирается на сервере. Цена вопроса — нагрузки, которой раньше не было, и потребность в кэше
Предыдущая генерация на сборке – самая быстрая отдача, но каждое изменение текста требует пересборки. Изменяемому ежечасно каталогу не подходит
Пререндер за агентом – становится поверх готового приложения за дни. Это отдельный слой, и ломается он тихо: отдает старую страницу безо всякой ошибки
Next.js – держит все три режима на уровне маршрута. Но переезд на него с Vite – это переезд приложения, а не настройки
Search Console, проверка URL – единственное место, где видно, что Google действительно получил. Указывает один адрес за раз и с отложением
llms.txt и robots.txt – управляют доступом агентов. Сила у них только над уважающими их: механизма принуждения здесь нет
Интеграции
Google Search Console
Bing Webmaster Tools
GA4
Cloudflare
Готовый документ против надежды на очередь рендеринга
Чем этот вариант отличается от альтернативы
Оставить как есть: Google сам выполнит сценарииНаш подход
Когда контент становится видимым ботапосле второго прохода, срок которого не публикуется и от вас не зависитв первом же ответе сервера
Другие читатели вашего контентав основном сценарии не выполняют и видят пустой контейнерBing, ассистенты и агенты получают то же, что Google
Что видно из браузеравсе выглядит нормально, пока кто-то не спросит страницу как ботразница зафиксирована в документе с двумя колонками
Цена решенияноль затрат сейчас и неизвестный срок появления страниц в индексевнедрение плюс слой, который придется сопровождать
Что нужно от вас
Без этого не начнём — лучше подготовить заранее
1Адрес сайта и две-три страницы, которые для вас самые важные: с них начинается замер.
2Доступ к коду фронтенда или к сопровождающему его разработчику.
3Понимание, какие экраны должны быть в поиске: не все маршруты приложения туда нужны и лишние лучше отсечь на старте.
4Доступ к Search Console – без него мы видим свое намерение, но не видим, что с этим сделал Google.
5Решения по AI-кравлерам: пускать, ограничивать или закрывать. Это позиция бизнеса, а не техники, и принять ее должен человек с вашей стороны.
Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.
Частые вопросы
Что спрашивают чаще всего — с конкретными ответами
Google же выполняет JavaScript – зачем тогда все это?
Выполняет, но в два прохода. Первый забирает разметку, второй ставит адрес в очередь на выполнение сценариев и срок этой очереди не публикуется. На сайте из десятка страниц разницу вы не заметите; в нескольких тысячах она превращается в месяцы, в течение которых часть каталога просто не существует для выдачи. Вторая часть ответа важнее: Google – не единственный читатель. Bing, агенты ассистентов, парсеры маркетплейсов и сервисы, строящие предварительный просмотр ссылки в мессенджере, в основном сценарии не выполняют вообще.
Пререндер для ботов – это не сокрытие контента?
Нет, пока боту и человеку идет одинаковый по содержанию документ. Нарушением является показ боту одного текста, а посетителю – другого; форма подачи может отличаться, и это нормально. Поэтому в наших этапах есть отдельный пункт сверки: мы сравниваем два документа строчку в строчку и письменно фиксируем, что они совпадают. Если у вас есть желание подсунуть боту дополнительные ключевые слова, которые человек не увидит, — это не к нам, и не потому, что мы осторожны, а потому, что прилетает за это именно вам.
Что выбрать: серверный рендеринг или пререндер для роботов?
Зависит от приложения и от того, сколько вы готовы платить за сопровождение. Серверный рендеринг более чистый: документ собирается на сервере для всех одинаково, отдельного слоя нет. Но он затрагивает маршруты и работу с данными, и сервер начинает нести нагрузку, которой раньше не было. Пререндер ставится поверх готового приложения за дни и стоит меньше — цена в том, что это дополнительный слой, который ломается без уведомления: страница отдается старая, ошибки нет, замечают через месяц. Мы называем обе цифры, внедрение и наблюдение, и решение остается у вас.
Как понять, что проблема именно в рендеринге?
Спросить страницу дважды – как браузер и как поисковый агент – и положить ответы рядом. В измеренном нами сайте клиники браузер получает оболочку на 3,0 КБ, у которой нет ни заголовка, ни описания, а поисковый бот – собранный документ на 126 КБ. Деталь, сбивающая с толку: боту при этом соответствуют быстрее, чем браузеру — 145 мс против 198 мс, потому что готовый документ уже лежит, а оболочку еще нужно собрать. Из браузера все выглядит безупречно, и именно поэтому проблему находят поздно.
В Search Console страницы в статусе «просканированы, пока не проиндексированы» — это оно?
Часто да, но не всегда. Этот статус означает, что бот адрес забрал и решил пока не класть в индекс. Причины две большие группы: в ответе не было контента (это наш случай) или контент был, но выглядит слишком похожим на соседние страницы или слишком пустым по существу. Различается это за минуту: посмотрите в инструменте проверки URL, что видел бот. Если там оболочка без текста – вопрос к рендерингу. Если текст есть, а индексации нет – вопрос уже к контенту, и это другая услуга.
Влияет ли это на видимость в AI-ассистентах?
Влияет на возможность не на результат. Агенты читают то, что отдано в разметке сразу; если там пусто, вас процитировать нечем. Но никаких обещаний по поводу упоминаний мы не даем: правил отбора не публикует ни один вендор, гарантий нет ни у кого, а объем переходов оттуда пока мал по сравнению с обычным поиском. Это работа на опережение с неизвестной отдачей, и мы говорим о ней именно так. Отдельно о блокировке тренировочных агентов: оно не убирает ваш контент из уже обученных моделей.
Придется ли переписывать сайт на другой фреймворк?
В большинстве случаев нет, и мы намеренно начинаем не с этого. Сначала проверяем, умеет ли ваше текущее приложение отдавать готовый документ хотя бы на нужных маршрутах — часто умеет, просто этим никто не занимался. Совет, который мы даем чаще других: не меняйте фреймворк для поиска. Переезд с одного стека на другой – это переезд всего приложения с новыми ошибками, и рядом с ним пререндер на четырех типах страниц выглядит как работа на неделю. Переписка фронтенда в эту услугу вообще не входит.
Сколько это длится и когда будет виден эффект?
Сами работы — 10–30 рабочих дней в зависимости от выбранного способа: более быстрый, серверный рендеринг затрагивает архитектуру, и срок там зависит от того, насколько приложение к ней готово. Эффект в индексе двигается медленнее работы: после смен адреса идут на проверку, и месяц мы просто смотрим отчет. Это не наша медлительность – это скорость, с которой поисковик переобходит сайт, и ускорить ее извне невозможно.
Отправьте адрес сайта и две-три страницы, которые для вас самые важные.
В ответ — два ответа сервера рядом: получающий браузер и получающий поисковый агент с размерами и перечнем того, чего во второй не хватает. Если там уже все на месте, скажем это первым же письмом.
Из измеренных кейсов164 адреса в карте сайта, 164 уникальных
Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.