• Технічне SEO · Серверний рендеринг
  • Вимір 31.07.2026

Індексація сайту на JavaScript: щоб пошуковик бачив те саме, що людина

Індексація сайту на JavaScript ламається в одному місці: бот забирає першу відповідь сервера, а контенту в ній ще немає — його збере браузер уже на пристрої. Далі адреса стає в чергу на виконання сценаріїв, і поки вона там стоїть, сторінки у видачі немає. Ми знімаємо два документи — той, що приходить пошуковому агенту, і той, що приходить браузеру, — і зводимо їх до однакового змісту. Спосіб обираємо після заміру, а не до нього: пререндер, попередня генерація і серверний рендеринг різняться за вартістю супроводу в рази.
Подивитись, як це працює
Вартість
після безкоштовного аудиту
Гарантія
30 днів після підписання акта
З чого починаємо
порівняння відповіді для пошукового агента з відповіддю для браузера на кожному типі сторінки
після безкоштовного аудиту
Вартість
Гарантія

днів після підписання акта

порівняння відповіді для пошукового агента з відповіддю для браузера на кожному типі сторінки
З чого починаємо
оболонка 3,0 КБ браузеру проти зібраного документа 126 КБ боту, сайт клініки, вимір 31.07.2026
Виміряний розрив
Строк робіт

робочих днів залежно від обраного способу віддачі

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

Ситуації, у яких ця послуга дає результат

Сценарій 1 із 5

Сайт відкривається нормально, а в пошуку його майже немає

Класичний розклад для інтерфейсу-застосунку. Людина заходить і бачить каталог, бот заходить і бачить порожній контейнер із підключеним скриптом. У Search Console такі адреси зазвичай лежать у статусі «просканована, наразі не проіндексована» — і це не покарання, а просто відсутність тексту, який можна було б проіндексувати.

Розберемо вашу ситуацію на безкоштовному аудиті
Кейси

Задачі та результат у цифрах — усі показники зняті нашим виміром

клініка пластичної хірургії та естетичної медицини

Задача
Інтерфейс зроблений як застосунок на 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.

GYPSUN

український виробник негорючих стінових панелей

Задача
Зробити так, щоб характеристики продукції знаходились у пошуку без дзвінка менеджеру.
Рішення
Сайт віддає готовий документ із сервера; дані про організацію, адресу, кількісні характеристики й пошуковий сценарій присутні в первинній відповіді.
Результат
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 робочих дні

Чому це безкоштовно

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

Що далі

Далі — оцінка обраного варіанта по етапах. Один із варіантів завжди «нічого не робити»: якщо бот уже отримує повний документ, роботи немає.

Коротка форма: контакт і адреса сайту

Працюємо офіційно

Договір, акт і рахунок — на кожен проєкт, а не тільки на великий. Без документів у вас немає ні прав на роботу, ні підстави провести витрати.

Нам довіряють6 брендів

Нам довіряють: Kvant Energy, GYPSUN, Naturel Cosmetics, Pancer Protection, LUGI, BeeTech

Умови, зафіксовані письмово8 пунктів
  • 01

    Договір, акт і гарантія 30 днів

    На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.

  • 02

    ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.

  • 03

    Права й доступи — ваші

    Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.

  • 04

    Портал клієнта замість переписки

    На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.

  • 05

    Сайти в дев'яти країнах

    Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.

  • 06

    Цифри, які можна перевірити

    Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.

  • 07

    Спершу аудит, потім сума

    Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.

  • 08

    Кажемо «ні», коли не впевнені

    Якщо задача не наша або строк нереальний — скажемо одразу.

  • 01

    Договір, акт і гарантія 30 днів

    На кожен проєкт письмовий договір: обсяг, строки, сума, порядок приймання. Після здачі — акт і рахунок, а далі 30 календарних днів гарантії: помилки з нашої вини усуваємо безоплатно. Усне з дзвінка дублюємо письмово того ж дня.

  • 02

    ФОП і безготівковий розрахунок

    Виконавець — зареєстрований ФОП. Оплата на рахунок із закривними документами.

  • 03

    Права й доступи — ваші

    Код, дизайн і матеріали переходять до вас після повної оплати. Домен, хостинг, репозиторій, аналітику оформлюємо на вас.

  • 04

    Портал клієнта замість переписки

    На час роботи ви отримуєте доступ до порталу: договори, рахунки, акти й стан проєкту в одному місці.

  • 05

    Сайти в дев'яти країнах

    Наші сайти працюють у дев'яти країнах: крім України — Польща, Німеччина, Австрія, Англія, Норвегія, Болгарія, Молдова, Іспанія.

  • 06

    Цифри, які можна перевірити

    Кожен кейс у портфоліо — з посиланням на живий сайт і технічним виміром.

  • 07

    Спершу аудит, потім сума

    Прайсу на сайті немає навмисно: обсяг тієї самої роботи у двох клієнтів відрізняється в рази.

  • 08

    Кажемо «ні», коли не впевнені

    Якщо задача не наша або строк нереальний — скажемо одразу.

NDA підписуємо на запит. Після завершення співпраці наші доступи до ваших сервісів видаляємо самі.

Не знайшли свій випадок?

Опишіть, як це влаштовано у вас, — відповімо, чи підходить «Індексація сайту на JavaScript» і що це означає у вашій ситуації. Без брифу й без дзвінка: одне питання, одна відповідь.

Що впливає на вартість

Чому дві однакові на вигляд задачі рахуються по-різному

  • Який спосіб віддачі підходить саме вамПререндер лягає поверх наявного застосунку й чіпає лише шар віддачі. Перехід на серверний рендеринг переписує маршрути й роботу з даними. Різниця між цими двома варіантами вимірюється не відсотками.
  • Скільки типів сторінок мають бути в пошукуГоловна, категорія, картка, стаття — кожен тип розбирається окремо: свої дані, свої метатеги, своя розмітка. Двадцять маршрутів у застосунку не означають двадцять типів; зазвичай їх чотири-шість, і саме це число рухає кошторис.
  • Звідки береться контент сторінкиОдин запит до вашого ж API — готовий документ збирається просто. Три джерела, частина з яких відповідає лише після дії користувача, — кожне доводиться розбирати окремо, і саме тут строк починає рости.
  • Хто веде фронтендЄ розробник, який знає застосунок, — ми віддаємо правки й перевіряємо результат. Немає — входимо в чужий код, і перший тиждень іде на те, щоб зрозуміти, як він збирається.
  • Чи потрібен нагляд за шаром віддачіПререндер ламається тихо: віддає стару сторінку без жодної помилки, і помічають це через місяці. Моніторинг цього шару ми виносимо окремим рядком, а не ховаємо в «супровід».
Технології та інтеграції

На чому будуємо і з чим це з'єднується

Стек

  • Серверний рендеринг — найчистіший варіант: документ збирається на сервері. Ціна питання — навантаження, якого раніше не було, і потреба в кеші
  • Попередня генерація на збірці — найшвидша віддача, але кожна зміна тексту вимагає перезбірки. Каталогу, що змінюється щогодини, не підходить
  • Пререндер за агентом — стає поверх готового застосунку за дні. Це окремий шар, і ламається він тихо: віддає стару сторінку без жодної помилки
  • Next.js — тримає всі три режими на рівні маршруту. Але переїзд на нього з Vite — це переїзд застосунку, а не налаштування
  • Search Console, перевірка URL — єдине місце, де видно, що Google справді отримав. Показує одну адресу за раз і з відкладенням
  • llms.txt і robots.txt — керують доступом агентів. Сила в них лише над тими, хто їх поважає: механізму примусу тут немає

Інтеграції

  • Google Search Console
  • Bing Webmaster Tools
  • GA4
  • Cloudflare
Готовий документ проти надії на чергу рендерингу

Чим цей варіант відрізняється від альтернативи

Коли контент стає видимим ботуу першій же відповіді сервера
Інші читачі вашого контентуBing, асистенти й агенти отримують те саме, що Google
Що видно з браузерарізниця зафіксована в документі з двома колонками
Ціна рішеннявпровадження плюс шар, який доведеться супроводжувати
Що потрібно від вас

Без цього не почнемо — краще підготувати заздалегідь

  1. Адресу сайту й дві-три сторінки, які для вас найважливіші: з них починається замір.
  2. Доступ до коду фронтенду або до розробника, який його супроводжує.
  3. Розуміння, які екрани мають бути в пошуку: не всі маршрути застосунку туди потрібні, і зайві краще відсікти на старті.
  4. Доступ до Search Console — без нього ми бачимо свій замір, але не бачимо, що з цим зробив Google.
  5. Рішення щодо AI-кравлерів: пускати, обмежувати чи закривати. Це позиція бізнесу, а не техніки, і ухвалити її має людина з вашого боку.

Якщо чогось із цього немає — скажіть, підкажемо, як зібрати або зробимо самі окремою задачею.

Часті питання

Те, що питають найчастіше — з конкретними відповідями

Google же виконує JavaScript — навіщо тоді все це?

Виконує, але у два проходи. Перший забирає розмітку, другий ставить адресу в чергу на виконання сценаріїв, і строк цієї черги не публікується. На сайті з десятка сторінок різницю ви не помітите; на кількох тисячах вона перетворюється на місяці, протягом яких частина каталогу просто не існує для видачі. Друга частина відповіді важливіша: Google — не єдиний читач. Bing, агенти асистентів, парсери маркетплейсів і сервіси, які будують попередній перегляд посилання в месенджері, здебільшого сценарії не виконують узагалі.

Пререндер для ботів — це не приховування контенту?

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

Що вибрати: серверний рендеринг чи пререндер для ботів?

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

Як зрозуміти, що проблема саме в рендерингу?

Запитати сторінку двічі — як браузер і як пошуковий агент — і покласти відповіді поруч. У виміряному нами сайті клініки браузер отримує оболонку на 3,0 КБ, у якій немає ні заголовка, ні опису, а пошуковий бот — зібраний документ на 126 КБ. Деталь, яка збиває з пантелику: боту при цьому відповідають ШВИДШЕ, ніж браузеру — 145 мс проти 198 мс, бо готовий документ уже лежить, а оболонку ще треба зібрати. З браузера все виглядає бездоганно, і саме тому проблему знаходять пізно.

У Search Console сторінки в статусі «просканована, наразі не проіндексована» — це воно?

Часто так, але не завжди. Цей статус означає, що бот адресу забрав і вирішив поки не класти в індекс. Причин дві великі групи: у відповіді не було контенту (це наш випадок) або контент був, але виглядає надто схожим на сусідні сторінки чи надто порожнім по суті. Розрізняється це за хвилину: подивіться в інструменті перевірки URL, що саме бачив бот. Якщо там оболонка без тексту — питання до рендерингу. Якщо текст є, а індексації немає — питання вже до контенту, і це інша послуга.

Чи впливає це на видимість в AI-асистентах?

Впливає на можливість, не на результат. Агенти читають те, що віддано в розмітці одразу; якщо там порожньо, вас процитувати нічим. Але жодних обіцянок щодо згадок ми не даємо: правил відбору не публікує жоден вендор, гарантій немає ні в кого, а обсяг переходів звідти поки що малий порівняно зі звичайним пошуком. Це робота на випередження з невідомою віддачею, і ми говоримо про неї саме так. Окремо про блокування тренувальних агентів: воно не прибирає ваш контент із моделей, які вже навчені.

Чи доведеться переписувати сайт на інший фреймворк?

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

Скільки це триває і коли буде видно ефект?

Самі роботи — 11–30 робочих днів залежно від обраного способу: пререндер швидший, серверний рендеринг зачіпає архітектуру, і строк там залежить від того, наскільки застосунок до неї готовий. Ефект в індексі рухається повільніше за роботи: після змін адреси йдуть на перевірку, і місяць ми просто дивимось звіт. Це не наша повільність — це швидкість, з якою пошуковик переобходить сайт, і прискорити її ззовні неможливо.
Демо

Ваш каталог на екрані телефона

Так може виглядати ваш магазин у телефоні: банер колекції, популярні товари й кошик, до якого один дотик. Натисніть «Додати в кошик» — лічильник у шапці оновиться, як у справжньому магазині.

  • Банер колекціїПерший екран показує новинку, а не логотип.
  • Картки товарівФото, ціна й кнопка — без переходу на окрему сторінку.
  • Кошик в один дотикЛічильник у шапці оновлюється одразу, як у справжньому магазині.
Магазини в портфоліо

Це демо-інтерфейс, а не магазин клієнта. Живі роботи — в портфоліо.

SHOP
Нова колекціяОсінь / ЗимаПереглянути
ПопулярнеВсі товари ›
  • Худі Essentials1 290 ₴
  • Рюкзак Urban1 490 ₴
  • Кепка Classic690 ₴
  • Футболка Basic590 ₴
  • Кросівки Street2 390 ₴
  • Шорти Active890 ₴

Надішліть адресу сайту й дві-три сторінки, які для вас найважливіші.

У відповідь — дві відповіді сервера поруч: та, що отримує браузер, і та, що отримує пошуковий агент, з розмірами й переліком того, чого в другій бракує. Якщо там уже все на місці, скажемо це першим же листом.

З виміряних кейсів164 адреси в карті сайту, 164 унікальні

Дивитись кейси
  • Відповідь протягом 2 годин
  • Без зобов’язань
  • Працюємо за договором

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