JavaScript SEO — это раздел технического SEO, который простыми словами отвечает за то, чтобы сайты на React, Vue или Angular корректно попадали в индекс Google. Направление оформилось после 2015 года, когда Googlebot начал рендерить JS, а массовый переход на SPA обнажил проблему: контент, собранный на клиенте, поисковик видел пустым.
Актуальность выросла с 2019 года, когда Google перевёл краулер на evergreen Chromium и подтвердил двухволновую индексацию. Что это значит для бизнеса: задержка рендера достигает нескольких дней, а Search Console и инструмент Mobile-Friendly Test показывают, что именно увидел робот.
§ 01Зачем нужен
JavaScript SEO решает разрыв между HTML, который отдаёт сервер, и DOM, который собирает браузер. Googlebot работает в две волны: сначала парсит исходный HTML, затем ставит страницу в очередь рендеринга — задержка по данным Мартина Сплитта (Google) занимает от секунд до недели. Оптимизация JS-сайтов отличается от классической: ссылки через onClick не передают вес, а контент, скрытый до взаимодействия, не индексируется.
§ 02Как настраивается
Базовый стек — SSR (Server-Side Rendering) или пререндеринг через Prerender.io, Rendertron, встроенные механизмы Next.js 14 и Nuxt 3. Для динамических страниц применяют гидратацию и Dynamic Rendering, хотя Google в 2024 году называет последний временным решением. Краулинговый бюджет (crawl budget) для JS-сайтов расходуется быстрее: каждый рендер стоит ресурсов, поэтому JavaScript SEO предписывает отдавать ботам готовый HTML.
индексация 38% → 92% — Интернет-магазин одежды на Next.js с 12k SKU перешёл с CSR на SSR через getServerSideProps и добавил prerender для фильтров. Доля проиндексированных URL выросла с 38% до 92% за 4 месяца. Замер через Google Search Console Coverage и логи Googlebot.
органика +63% за 8 мес — B2B SaaS-платформа на Vue 3 SPA внедрила Server-Side Rendering через Nuxt и динамический рендеринг для устаревших краулеров. Органический трафик вырос на 63% за 8 месяцев, видимость в Ahrefs +41%. Динамика по GA4 Acquisition и Ahrefs Site Explorer.
§ 03Где смотреть результат
Проверка проходит в URL Inspection Tool внутри Search Console — вкладка «Просмотреноe Google» показывает отрендеренный HTML и скриншот. Screaming Frog с режимом JavaScript Rendering эмулирует Googlebot и сравнивает raw vs rendered DOM. Что делает аудитор дополнительно: смотрит логи сервера на User-Agent Googlebot и сверяет с отчётом Coverage. Для метрики LCP ≤ 2.5 с используется CrUX и PageSpeed Insights.
§ 04Подводные камни
Частая ошибка — блокировка JS и CSS в robots.txt: робот не построит DOM и контент пропадёт. Lazy-loading без атрибута loading="lazy" и нативного IntersectionObserver скрывает изображения от индекса. Роутинг через хеш (#/page) Google игнорирует с 2015 года — нужен History API. JavaScript SEO также страдает от soft 404: SPA отдаёт код 200 на несуществующих URL, поэтому продвижение требует серверной проверки маршрутов и корректных редиректов.