React · клиника · SEO

Сайт на React выглядел современно. Но для поиска он почти не существовал

Предыдущий подрядчик собрал сайт клиники на чистом React и убедил заказчика, что это современное и правильное решение. После запуска выяснилось: без пререндера поисковик не видит контент услуг. Перевели публичный фронт на Next.js — сайт получил техническую основу для продвижения в поиске.

органический трафик

+82%

за 6 месяцев после переезда

страниц в индексе

562

услуги и посадочные

заявок из органики

+48%

контент стал виден поисковику

позиций вверх в выдаче

+24

по целевым запросам клиники

Сайт клиники: услуги, запись и посадочные страницы, которым критично быть в поиске

Как так вышло

«Современный React» без пререндера — ловушка для SEO

Для клиники органический поиск — один из ключевых каналов заявок. Публичные страницы должны отдавать текст, заголовки и структуру сразу. На чистом клиентском React без пререндера этого нет: пользователь видит сайт после загрузки JS, а робот часто получает пустую оболочку.

Красивый интерфейс

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

Пустой HTML для робота

В исходном коде страницы почти не было текста — только корневой контейнер и скрипты React.

SEO не могло заработать

Страницы услуг не отдавали заголовки, описания и контент до выполнения JavaScript. Для органики это тупик.

Диагностика

Проблема была не в текстах, а в том, как сайт отдаёт HTML

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

Слева — то, что видит робот. Справа — то, что появляется только после JS

Как решали

Перевели публичный фронт на Next.js — сайт стал пригоден для SEO

01

Зафиксировали диагноз

Проверили, что видит поисковик: пустой каркас без серверного HTML. Проблема была не в «плохом SEO-тексте», а в том, что публичный фронт отдал только клиентский React.

02

Выбрали путь без переписывания бизнеса

Не стали ломать рабочий API и админку. Пересобрали публичный фронт на Next.js, чтобы контент отдавался сразу в HTML.

03

Сделали пререндер ключевых страниц

Главная, услуги, врачи, цены и посадочные страницы получили серверный рендер и статическую генерацию там, где контент относительно стабилен.

04

Довели SEO-технический контур

Настроили title и description, канонические адреса, карту сайта и корректную отдачу контента без зависимости от клиентского JavaScript.

После

Сайт теперь отдаёт контент поисковику сразу

Весь публичный сайт стал отдавать контент поисковику сразу в ответе сервера — без ожидания JavaScript. Появилась техническая основа, с которой уже можно заниматься SEO-продвижением.

  • Серверный рендер и пререндер вместо пустой клиентской оболочки
  • Технические SEO-поля на ключевых маршрутах
  • Сохранённый визуал и сценарии записи
Страница услуги: контент доступен сразу, без ожидания клиентского JS

Вывод

Стек должен соответствовать задаче бизнеса, а не только моде

Когда хватает клиентского рендера

Личные кабинеты, внутренние панели, сценарии после авторизации — там SEO обычно не нужно, и чистый клиентский React уместен.

Когда публичным страницам нужен HTML сразу

Маркетинговый сайт, услуги, каталог — всё, что должно находиться в поиске, обязано отдавать контент в первом ответе сервера. Next.js здесь не «вместо React», а способ совместить тот же современный стек с пререндером.

Публичный сайт стал пригоден для органики: поисковик получает контент сразу. React в стеке остался — добавили пререндер там, где без него SEO не работает.

Подготовим ваш сайт к продвижению в поиске

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

Достаточно одного контакта.