К содержанию

Wiki · Индексация сайта

JavaScript SEO: CSR и SSR

Сайт на React выглядит в браузере отлично, но если открыть исходный код страницы, там почти пусто: один div и ссылки на скрипты. Всё содержимое достраивает JavaScript уже у пользователя. Человек этого не замечает, а поисковый робот может увидеть пустую страницу.

CSR и SSR

CSR (Client-side rendering)SSR (Server-side rendering)
Где собирается страницаВ браузереНа сервере
Что получает робот сразуПочти пустой HTMLГотовый HTML с текстом и ссылками
ИндексацияЗависит от того, выполнит ли робот JS и когдаНадёжная
Первая отрисовкаМедленнееБыстрее
ПримерыSPA на чистом React, VueNext.js, Nuxt, классические CMS

Есть и промежуточные варианты: статическая генерация страниц заранее (SSG) и гидратация, когда сервер отдаёт готовый HTML, а браузер оживляет его скриптами.

Как поисковики обрабатывают JavaScript

Google рендерит JavaScript, но в две волны: сначала индексирует исходный HTML, а рендер ставит в очередь. Яндекс тоже умеет выполнять JS, но надёжнее, когда основной контент есть в HTML сразу. Для важных коммерческих страниц мы не рекомендуем полагаться на рендеринг поисковика.

Ссылки, которые работают только через onclick без href, робот не считает ссылками. Навигация на таких «ссылках» оставляет часть сайта невидимой для поиска.

Чек-лист для JS-сайта

  • Текст, заголовки, title и description есть в исходном HTML или отдаются сервером.
  • Все ссылки: обычные теги a с атрибутом href.
  • У каждой страницы свой адрес без решётки # в пути.
  • Несуществующие адреса отдают 404, а не 200 с пустым шаблоном.
  • Проверка URL в Search Console показывает на скриншоте весь контент.

Частые ошибки JS-сайтов

  • Title и description одинаковые на всех страницах, потому что меняются только скриптом.
  • Бесконечная прокрутка без адресов страниц: робот видит только первые товары.
  • Контент в табах подгружается по клику и отсутствует в HTML.
  • Файлы JS закрыты в robots.txt, и поисковик не может отрисовать страницу.

Пререндер как компромисс

Если переписать SPA на SSR дорого, есть промежуточное решение, пререндер. Специальный сервис заранее рендерит страницы в готовый HTML и отдаёт его поисковым роботам, а люди получают обычное приложение. Google называет этот подход динамическим рендерингом и считает его временным обходным путём, а не рекомендацией. Для долгосрочного проекта лучше закладывать SSR или статическую генерацию страниц ещё на этапе выбора технологии.

Как проверить сайт за 5 минут

  1. Откройте любую важную страницу, нажмите Ctrl+U и найдите в исходном коде кусок основного текста. Нет, значит, контент рендерится скриптом.
  2. Проверьте, что в исходном коде есть title и description, уникальные для этой страницы.
  3. Найдите ссылки на другие разделы: это должны быть теги a с атрибутом href.
  4. Введите несуществующий адрес и посмотрите код ответа: должен быть 404.
  5. Прогоните страницу через проверку URL в Search Console и посмотрите скриншот, который видит Google.

Если хотя бы один пункт не выполняется, сайт теряет часть потенциального трафика, и это стоит обсудить с разработчиками.

Что спросить у разработчиков

  • Где рендерится страница: на сервере или в браузере?
  • Как формируются title, description и canonical для каждой страницы?
  • Что отдаёт сервер на несуществующий адрес?
  • Как будет формироваться sitemap.xml?

Вопросы про JavaScript SEO

Нужно ли переписывать SPA на SSR?
Если сайт должен получать трафик из поиска, скорее да, или хотя бы включить пререндер для роботов. Для личного кабинета за авторизацией это неважно: его и не нужно индексировать.
Как проверить, что видит робот?
Откройте исходный код страницы (Ctrl+U), а не инспектор элементов. Если текста там нет, его нет в первой волне индексации. Второй способ: проверка URL в Search Console и Вебмастере.
Сайты на 1С-Битрикс страдают от этого?
В целом нет: Битрикс рендерит страницы на сервере. Проблемы бывают с отдельными блоками, которые подгружаются AJAX-ом, например отзывы или товары в табах.

Разработку сайтов с учётом SEO делаем в услуге разработки сайтов, а проверку индексации JS-сайтов, в техническом аудите.

Источники

  • Google Search Central: «Основы JavaScript SEO»
  • Google Search Central: «Рендеринг в интернете» (обзор CSR, SSR, SSG)
  • Яндекс Справка для вебмастера: «Сайты на JavaScript»

См. также: Индексация сайта, Скорость сайта, Коды ответов сервера.

Остались вопросы по теме «JavaScript SEO: CSR и SSR»?

Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.

Евгений БаевОтвечает по темеЕвгений БаевРуководитель

Над статьёй работали

Тарифы

Тарифы по теме

Все тарифы →
от 70 000 ₽/мес при оплате за 3 месяца, помесячно 80 000 ₽

Стартовый тариф для небольшого бизнеса: наводим порядок на сайте и получаем первые заявки из Яндекса и Google.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
SEO ProХит
от 90 000 ₽/мес при оплате за 3 месяца, помесячно 99 000 ₽

Тариф для растущего бизнеса. Работаем на количество заявок: считаем звонки через коллтрекинг и дорабатываем сайт под конверсию.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T
от 135 000 ₽/мес при оплате за 3 месяца, помесячно 149 000 ₽

Для масштабирования бизнеса: SEO, A/B-тесты, карточки в Яндекс.Бизнесе и 2ГИС, техподдержка сайта. Нейросети берут на себя рутину, итог проверяют специалисты.

  • Техническая оптимизация сайта
  • Контентная оптимизация
  • Семантическое ядро под город или регион
  • Настройка Яндекс Вебмастера и Google Search Console
  • Цели в Яндекс Метрике
  • Ежемесячный отчёт по позициям, трафику и заявкам
  • Оптимизация поведенческих факторов
  • Оптимизация коммерческих факторов и E-A-T

Проверим ваш сайт бесплатно

Экспресс-аудит за 24 часа: скорость, индексация, мета-теги, коммерческие факторы и цели Метрики.