Cyber SEO: скидка 50%
Настройки

Конфиденциальность важна для нас, поэтому вы можете отключить отдельные виды хранения данных, которые не нужны для базовой работы сайта. Блокировка некоторых категорий может повлиять на ваше впечатление от сайта. Подробнее (Политика использования cookie)

Принять все cookie

SEO для React: рендеринг, метаданные и ссылки для React-приложения, которое ранжируется

Руководство по SEO для React: почему клиентский рендеринг тормозит индексирование, когда выбирать SSR или пререндеринг, как задать метатеги в React 19 и остаться видимым для ИИ.

Опубликовано
25/10/2026
Обновлено
25/10/2026
Время чтения
7 мин
Скриншот Sorank: белая карточка с меткой Technical SEO и надписью 'React SEO' на фоне окна чата SEO-ассистента

Инструменты

На этой странице

Коротко

React-сайт может ранжироваться в Google, но стандартное одностраничное приложение отдает почти пустой HTML-файл и показывает контент только с помощью JavaScript. Это задерживает индексирование и скрывает страницу от большинства краулеров ИИ. Надежное решение: отдавать HTML с сервера, то есть пререндерить статические страницы при сборке или использовать фреймворк с серверным рендерингом (Next.js, React Router). Затем задайте каждому URL уникальные заголовок, описание и canonical, используйте настоящие ссылки и корректные коды ответа и проверяйте, что получают боты.

Хотите узнать больше? Спросите

Короткий тест

Подходит ли вам SEO и с чего начать?

Вопрос 1 из 425%
Ищут ли люди в Google то, что вы продаёте?

SEO для React означает работу над тем, чтобы React-приложение было доступно для сканирования, индексирования и понимания поисковыми системами и ИИ-ассистентами. Сам React нейтрален: проблемы возникают, когда все рендерится в браузере. Google подтверждает в основах SEO для JavaScript, что обрабатывает JavaScript-приложения в три этапа (сканирование, рендеринг, индексирование) и что рендеринг на сервере или предварительный рендеринг «по-прежнему отличная идея, потому что ускоряет сайт для пользователей и роботов, а JavaScript умеют выполнять не все боты».

Почему React сложен для SEO?

React-приложение, созданное как одностраничное, отдает HTML-файл, в котором почти ничего нет, кроме пустого корневого div и тега script. Браузер загружает JavaScript, выполняет его и собирает страницу. Робот, читающий только HTML, не видит ничего для индексирования: ни заголовков, ни текста, ни ссылок.

Googlebot выполняет JavaScript, но на отдельном этапе: страница сканируется, попадает в очередь на рендеринг, рендерится в Chromium без интерфейса, и только после этого используются отрендеренные ссылки и контент. Каждый лишний этап дает шанс на сбой (ошибка скрипта, заблокированный API, превышение времени ожидания) и добавляет задержку, прежде чем новые страницы появятся в поиске. Наше руководство по SEO для JavaScript описывает этот процесс, а статья об индексировании в Google объясняет, как ускорить индексацию страниц.

Другие боты менее терпеливы. Анализ Vercel от декабря 2024 года, The rise of the AI crawler, показал, что «ни один из крупных краулеров ИИ в настоящее время не рендерит JavaScript», и назвал GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot и PerplexityBot. Страница React с клиентским рендерингом невидима для ChatGPT, Claude и Perplexity, даже если Google ее проиндексировал.

Какой подход к рендерингу выбрать для сайта на React?

Команда React теперь рекомендует начинать новые приложения с фреймворка. Прекращая поддержку Create React App 14 февраля 2025 года, она написала в анонсе, что «серверный рендеринг может улучшить SEO», а также повышает производительность, сокращая объем JavaScript, который нужно загрузить до показа контента. Варианты от самого слабого до самого сильного для поиска:

ПодходЧто получают ботыОценка для SEOТипичные инструменты
Клиентский рендеринг (SPA)Пустой HTML, контент после JavaScriptСлабо: индексирование с задержкой, невидимость для краулеров ИИVite + React, старые проекты на Create React App
Динамический рендерингПререндеренный HTML только для ботовВременное решение, Google его не рекомендуетСервисы пререндеринга, прокси с браузером без интерфейса
Статический пререндеринг при сборкеПолный HTML для каждого известного URLОчень хорошо для редко меняющегося контентаПререндеринг в React Router, генераторы статических сайтов, статический экспорт Next.js
Серверный рендерингПолный HTML на каждый запрос, затем гидратацияЛучший вариант для больших или часто обновляемых сайтовNext.js, React Router (режим фреймворка, бывший Remix)

О динамическом рендеринге документация Google говорит прямо: он «был временным решением, а не долгосрочным», и вместо него Google рекомендует серверный рендеринг, статический рендеринг или гидратацию. Если вы выбираете фреймворк, наше руководство по SEO для Next.js подробно разбирает режимы рендеринга, Metadata API и карты сайта.

Если миграция невозможна, Google все равно может проиндексировать одностраничное приложение при соблюдении некоторых условий. Они перечислены в нашем руководстве по SEO для одностраничных приложений; остальная часть статьи относится к обоим случаям.

Как задать заголовки и метатеги в React?

Начиная с React 19 (стабильная версия с 5 декабря 2024 года) компоненты могут напрямую рендерить теги title, meta и link, а React переносит их в head документа. В примечаниях к выпуску React 19 сказано, что эта встроенная поддержка работает «в приложениях только на клиенте, с потоковым SSR и с Server Components». До React 19 эту задачу решали библиотеки вроде react-helmet или react-helmet-async, и они по-прежнему полезны, чтобы переопределять значения по умолчанию для отдельных маршрутов.

function ProductPage({ product }) {
  return (
    <>
      <title>{`${product.name} | Shop`}</title>
      <meta name="description" content={product.summary} />
      <link rel="canonical" href={`https://example.com/p/${product.slug}`} />
      <h1>{product.name}</h1>
    </>
  )
}

Три правила действуют при любом способе:

  • Один заголовок на страницу, уникальный и описательный. Документация React предупреждает: если несколько компонентов одновременно рендерят заголовок, «поведение браузеров и поисковых систем не определено». Передавайте одну строку (шаблонную строку), а не смесь текста и переменных.
  • Одно описание и один canonical на URL, сгенерированные из данных страницы. Генератор метатегов поможет их составить, а проверка canonical подтвердит, что опубликовано.
  • Теги Open Graph в исходном HTML для страниц, которыми делятся, потому что боты предпросмотра ссылок обычно читают исходный HTML.

Внимание

В приложении, работающем только на клиенте, теги, отрендеренные React, появляются лишь после выполнения JavaScript. Google может прочитать их после рендеринга, а краулеры ИИ и большинство ботов предпросмотра соцсетей нет. Серверный рендеринг или пререндеринг помещает их в HTML-ответ для всех.

Какие ошибки маршрутизации и ссылок мешают индексированию?

Google указывает, что «может обнаружить ваши ссылки, только если это HTML-элементы a с атрибутом href», и не советует использовать фрагменты URL для загрузки разного контента. Большинство проблем SEO в React связаны с деталями маршрутизации:

ОшибкаПоследствиеРешение
Навигация через onClick на div или кнопкеGoogle не находит ссылку для переходаИспользовать компонент Link маршрутизатора, который рендерит a с href
Хеш-маршруты (/#/products)Для Google все страницы делят один URLИспользовать маршруты на основе History API (/products) с BrowserRouter или фреймворком
Экран «не найдено» со статусом 200«Ложная ошибка 404» в Search ConsoleВозвращать настоящий 404 с сервера или добавлять noindex через JavaScript в чистом SPA
Только клиентские редиректыМедленные или пропущенные редиректыИспользовать серверные редиректы 301 или 308 для перенесенных страниц
Контент, загружаемый по клику или прокруткеТекст никогда не рендерится для роботаРендерить основной контент при загрузке; разбивать списки на страницы с настоящими URL
JavaScript или API заблокированы в robots.txtGoogle рендерит пустую страницуРазрешить скрипты и эндпоинты API, нужные странице

Чтобы увидеть, что рендерит Google, откройте инструмент проверки URL в Search Console и посмотрите HTML проверенной страницы или прогоните ключевые шаблоны через проверку индексируемости.

Как работать с картой сайта и структурированными данными в React?

В React нет встроенной карты сайта. Генерируйте sitemap.xml при сборке из маршрутов и данных (или функцией карты сайта во фреймворке), включайте только канонические URL с ответом 200 и укажите файл в robots.txt. Для небольшого статического сайта хватит генератора XML-карты сайта.

Структурированные данные подчиняются тому же правилу, что и метаданные: рендерьте скрипт JSON-LD вместе со страницей, из тех же данных, желательно на сервере. Google может прочитать JSON-LD, вставленный через JavaScript, после рендеринга, но разметка, которой нет в исходном HTML, отсутствует и для роботов, которые не рендерят страницы. Используйте Article для статей, Product для интернет-магазина, Organization на всем сайте и BreadcrumbList для глубоких страниц.

Совет

Выполните curl для URL страницы и найдите в выводе ее H1 и фразу из основного текста. Если их нет, Google, возможно, проиндексирует страницу после рендеринга, но краулеры ИИ ничего не увидят.

Как производительность влияет на SEO для React?

Большие JavaScript-бандлы ухудшают Core Web Vitals: браузер должен загрузить, разобрать и гидратировать код, прежде чем страница начнет реагировать, а это нагружает Largest Contentful Paint и Interaction to Next Paint, особенно на мобильных. В анонсе команды React о Create React App отмечается, что серверный рендеринг отправляет меньше JavaScript и полный HTML-документ, что ускоряет First Contentful Paint и может снизить INP. Практические рычаги: разделение кода по маршрутам через React.lazy, изображения с явными размерами, ленивая загрузка компонентов ниже первого экрана и аудит сторонних скриптов.

Что должно входить в чек-лист SEO для React?

  1. Каждый индексируемый URL отдает полный HTML (серверный рендеринг или пререндеринг), что проверено через curl.
  2. Уникальные заголовок, описание и canonical на саму себя для каждого URL.
  3. Маршруты на основе History API, никаких хеш-URL, каждая внутренняя ссылка рендерится как a с href.
  4. Настоящие коды ответа: 404 для отсутствующих страниц, 301 или 308 для перенесенных.
  5. sitemap.xml, сгенерированная из тех же данных, что и маршруты, и указанная в robots.txt.
  6. JSON-LD рендерится вместе со страницей и проверен инструментом проверки расширенных результатов.
  7. Скрипты, стили и API, нужные для рендеринга, разрешены в robots.txt.
  8. Код разделен по маршрутам, а Core Web Vitals отслеживаются на реальных пользователях.

Как сделать сайт на React видимым в ответах ИИ?

GEO (оптимизация для генеративных систем) начинается с доступа. Поскольку краулеры ИИ забирают исходный HTML, страница React должна отдавать текст, заголовки и JSON-LD без JavaScript, чтобы ее прочитали, пересказали и процитировали. Аудит доступности сайта для ИИ показывает, что эти боты получают с ваших страниц. Второе условие: контент, который стоит цитировать, то есть страницы, где каждый раздел отвечает на один вопрос, с источниками, цифрами и четкими определениями.

Эту контентную часть автоматизирует Sorank, наш продукт. Sorank: программа для SEO и GEO в режиме autopilot. Ее Генератор статей для блога пишет и публикует 20, 60 или 120 статей в месяц с источниками, внутренними ссылками и изображениями и подключается через webhook к сайтам на собственном стеке, например на React или Next.js. SEO Chat отвечает в формате диалога на вопросы о результатах вашего сайта в поиске.

Ассистент SEO Chat от Sorank отвечает в диалоге на вопрос о результатах сайта в поиске

Итог: отдавайте HTML с сервера, задайте каждому URL собственные заголовок, описание и canonical и используйте настоящие ссылки. Тогда React-сайт ранжируется как любой другой, а ИИ-ассистенты могут его прочитать. Чтобы регулярно наполнять такой сайт статьями для Google и ИИ, посмотрите тарифы Sorank: от 49 долларов в месяц и 3 дня бесплатного пробного периода.

Часто задаваемые вопросы

React плох для SEO?

Нет. React является библиотекой для интерфейсов, и SEO зависит от того, как рендерятся страницы. Одностраничное приложение с клиентским рендерингом отдает пустой HTML и полагается на этап рендеринга в Google, что задерживает индексирование и скрывает контент от краулеров ИИ. Тот же код React с серверным рендерингом или статическим пререндерингом ранжируется как обычный сайт.

Индексирует ли Google сайты на React?

Да. Googlebot выполняет JavaScript в актуальной версии Chromium и поэтому может индексировать контент, который React-приложение строит в браузере. Рендеринг происходит после сканирования и может задержаться или не удаться, если скрипты выдают ошибки или API заблокированы. Инструмент проверки URL в Search Console показывает отрендеренный HTML так, как его видит Google.

Нужен ли React Helmet при React 19?

Для простых случаев нет. React 19 рендерит теги title, meta и link из любого компонента и переносит их в head документа. Библиотеки вроде react-helmet-async остаются полезными, когда нужно переопределять общие значения сайта для отдельных маршрутов или поддерживать старые версии React.

Бесплатный SEO- и GEO-аудит

Получите бесплатный контент-план на 30 дней

Мы бесплатно анализируем ваших конкурентов, ваш сайт и вашу видимость в ИИ и составляем персональный контент-план.

Наши бесплатные SEO-инструменты

Все наши бесплатные инструменты

Получите бесплатный аудит сайта

ОНИ ПОПРОБОВАЛИ SORANK ДО ВАС

Отзывы амбициозных основателей

Органический ростЭлектронная коммерция

От 0 до 10000 посетителей за 5 месяцев

Celio Fabianomonrobotlavevitre.fr
Органический ростПрограммное обеспечение

От 0 до 5000 клиентов за 8 месяцев

Thibault BMsorank.com
Органический ростДосуг и авиация

от 0 до 1104 кликов за 4 месяца

Dominiqueflight-sensations-idf.com
Органический ростГенерация лидов для установщиков

x98 кликов за 2 месяца

LeadBolt Agencyleadbolt.online
Органический ростМузыкальное ПО

Клики x55 за 5 месяцев

Valentin Cordiertiger-sounds.com