Приложение написано на ReactJS, сборщик webpack.
Для работы SEO необходимо менять link, description в head.
Как это вижу, у меня есть HTML написанный на ejs, он для всех страниц(url=> rout) одинаковый, в нем есть div root в который reactJS(routing) импорт разные страницы.
Без SSR это сделать просто, но вот как это сделать когда мы собрали наше приложение ?
Пример:
Страница signIn в head set <link rel='test>
Даже нет никаких мыслей в голове как это сделать.
Почитал про ejs он не решит эту задача.
Если есть опыт подскажите, пожалуйста, как это можно сделать
Как Вы рендерите шаблоны *.ejs ?
C помощью webpack, во время сборки ‘production’ используя плагин HtmlWebpackPlugin вот его настройка; https://jsfiddle.net/Polyakh/7vw1p5hf/
То есть я правильно понимаю, что на момент запуска приложения у Вас уже собранный Webpack’ом шаблон и он один? И Вы отдаете этот index.ejs по любому route, а React уже на клиенте разбирается с routing?
Если да, то:
Честным вариантом было бы пробрасывать в шаблон context с нужными данными и обрабатывать их там (но при такой архитектуре, как сейчас у Вас, это не будет удобно);
Я не очень знаком с React, но помню, что в Angular 1.x можно было корневым элементом указать не <div id="app"></div>, а <body></body>. И таким образом “рулить” большим количеством элементов на странице.
Этот пример демонстрирует, что ничего невозможного нет, но выглядит настолько ужасно, что я прошу вас срочно забыть всё, что только что увидели. Лучше переписать архитектуру, которая честно отдавала бы контекст в шаблон.