⚛️
SEO и реклама

JavaScript SEO: как Google читает React, Vue, Angular сайты

05.04.2026
← Все статьи

JavaScript SEO — особый подход к SEO для сайтов на React, Vue, Angular или других JS-фреймворках. Контент таких сайтов создаётся не как обычный HTML, а после запуска JavaScript в браузере. Googlebot тоже может запустить JS и прочитать контент, но процесс сложный и часто с ошибками. Правильный выбор подхода — критичен для SEO сайта.

Разница классического HTML и JS-сайта

Классический HTML — сервер отдаёт полный HTML-документ. Браузер (или Googlebot) сразу читает, контент сразу виден. Нажали URL — контент.

JS-фреймворк (SPA) работает иначе. Сервер отдаёт пустой или минимальный HTML, контент строится JavaScript в браузере. Для пользователя плавно. Для Googlebot — сложнее.

Как Googlebot читает JavaScript

Googlebot делает два этапа рендеринга. Первый — обычный HTML-краул. Googlebot заходит, получает первоначальный HTML, читает. В этом HTML нет JS-контента — только структура и loader.

Второй — рендер. Googlebot ставит страницу в очередь на запуск JS и в своё время рендерит через Chrome render engine. JS запускается, контент создаётся, индексируется. Но время второго этапа — несколько дней или даже недель.

Проблема двухэтапного рендеринга

Это главная проблема JS SEO. При добавлении нового товара или поста Googlebot сначала видит исходный HTML (без контента), и только через 1-2 недели рендерит и индексирует. Новый контент в Google появляется через 2 недели или дольше.

Также если JS даёт ошибку или проблема на рендере, Googlebot вообще не получит контент. Статистика: 30%+ JS SPA сайтов не рендерятся правильно у Googlebot и контент не индексируется.

Server-Side Rendering (SSR)

SSR — главное решение. На сервере запускается JS (через Node.js) и полностью рендеренный HTML отправляется браузеру. Браузер получает готовый HTML — для Googlebot тоже готовый, рендер не нужен.

Для React — Next.js, для Vue — Nuxt.js, для Angular — Angular Universal. Польза SSR: первая загрузка быстрее, лучше Core Web Vitals (LCP), лучше UX.

Static Site Generation (SSG)

SSG — ещё радикальнее. Сайт на этапе build конвертируется в статические HTML-файлы. Никакого server-side рендера — каждая страница уже HTML и через CDN отдаётся мгновенно. Ультра-быстро, ультра-дёшево.

Инструменты: Next.js, Gatsby, Hugo, Jekyll, Astro. Подходит для миллионов страниц.

Гибридные подходы: ISR и dynamic SSG

Incremental Static Regeneration (ISR, Next.js) — страницы статические, но иногда обновляются. На build исходный HTML, при посещении старая страница сразу показывается, в фоне обновляется. Идеально для e-commerce.

Vercel, Netlify нативно поддерживают ISR.

Тесты JavaScript SEO

В GSC \"URL Inspection\" — \"View tested page\" показывает, как Googlebot видит. Mobile-Friendly Test, Rich Results Test — то же. Lighthouse в Chrome DevTools — SEO ошибки.

Ручной тест: отключите JS в Chrome (chrome://settings/content/javascript) и откройте сайт. Если контента нет — Googlebot тоже его не увидит.

Практические советы JS SEO

Правило 1: для нового сайта с приоритетом SEO выбирайте SSR или SSG. CSR (только клиентский рендер) — худший выбор для SEO. CSR подходит для логин-дашбордов, не для публичного сайта.

Правило 2: если у вас CSR, хотя бы для главных SEO-страниц используйте pre-rendering. Prerender.io, Rendertron — pre-rendered HTML для Googlebot.

Технологический выбор Сайт.uz

Сайт.uz — не JS SPA, мы сделали PHP классический HTML сайт. Причина: для SEO осторожность и техническая простота. PHP отдаёт полный HTML, рендер не нужен, индексация сразу. Для UX используем Alpine.js (лёгкий JS).

Результат: новый блог-пост индексируется в Google за 1-2 дня, рендер-проблем нет, сервер быстрый. Не пользуемся UX-плюсами SPA, но SEO и техническая простота — наш приоритет.

Похожие статьи

🛒 Product Schema разметка: показ товаров в Google 📋 HowTo Schema разметка: пошаговые инструкции в Google 🏆 Google Lighthouse — аудит сайта 📑 Duplicate content: проблема дублей и canonical
🌐 Язык
🇺🇿 O'zbek 🇺🇿 Ўзбек 🇷🇺 Русский 🇬🇧 English