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

Есть сайт на котором сейчас 7 страниц, переписываю его на ReactJs. Backend на PHP.
Какие есть решения для поисковой оптимизации?
Гугл пишет, что его поисковые роботы могут запускать js, по поводу Яндекса не совсем понятно.
Первое, что приходит в голову, поместить отрендеренный html в блок App, который, если js работает, будет содержать React приложение и статичную разметку, если нет.
Но возникает вопрос, как поступить со всеми страницами, ведь их фактически нет и для перехода по ним используется react router.
У меня есть только базовые навыки PHP, поэтому сервер рендеринг кажется сложным, возможно, есть способы проще?
Также гугл пишет, что не рекомендует как-либо менять контент специально для роботов, может ли он понизить в поисковой выдаче, если сайт без js будет выглядеть не так, как с ним?
  • Вопрос задан
  • 2130 просмотров
Решения вопроса 1
RotgarSett
@RotgarSett
SEO Эксперт
Понижать в выдаче не будет ни гугл, ни яндекс.

Если у вас сайт построен полностью на ReactJS, то вам необходимо рендерить страницы для веб краулера.
Почитайте рекомендации гугла и яндекса и можете посмотреть в сторону SaaS https://prerender.io/

https://yandex.ru/support/webmaster/robot-workings...
https://support.google.com/webmasters/answer/81766...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@kuftachev
Я бы начал с самого простого, у самого поисковика можно посмотреть как робот видит страницу.

Я смотрел, когда выбирал между Angular и Vue. У второго все было видно, а у первого только пустые блоки с разметкой.
Ответ написан
Комментировать
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку
React вполне хорошо может в server-side rendering, по крайней мере в связке с Redux или Mobx. Всё, что представляет ценность для поисковиков, рендерите на сервере, затем отдаёте в виде готовой html, остальное получаете дополнительно уже после инициализации движка сайта в браузере. Например, меню сайта, наиболее важные разделы и текст статьи готовим (получаем и рендерим в html) на сервере, а комментарии к статье - уже на клиенте обычным реактовским способом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы