Отображение на стороне сервера визуализированного компонента responseJS в приложении PHP

Ранее я использовал responseJS для другого проекта. При создании проекта я заметил падение, а именно потерю преимуществ SEO, связанных с компонентами, предоставленными JS.

Я перестраиваю старый проект, и я хотел бы заменить часть Javascript на ReactJS.

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

Тем не менее я хотел бы поддерживать аспекты SEO страницы, имея первый шаг.

Для этого мое исследование подразумевает, что я должен использовать React's React.renderComponentToString

    Изучив проблему, мой мыслительный процесс заключается в том, что я должен отображать серверную часть компонентов с помощью node.js, а затем обслуживать их в браузере. Затем компонент добавляется повторно для каждого пользователя, чтобы добавить функциональность клиентской стороны. Мой первый вопрос: подходит ли это подход? Есть ли гораздо более простой подход, который я забыл?

    Пит Хант упоминает здесь ( https://groups.google.com/forum/#!msg/reactjs/eUespJPdyas/hmJywyo9ZSwJ ), что Instagram использует / использует Django и имеет настройку, подобную той, что я себе представлял.

    Мое приложение написано на php с использованием phalcon. Мой вопрос в основном связан с этим утверждением:

    Затем узел возвращает HTML-код, составляющий компонент. Django принимает этот HTML-код и вставляет его в DOM через обычные шаблоны Django.

    Как мне это сделать в PHP? Я не хочу, чтобы этот компонент отображался за кулисами и использовался по запросу, а скорее отображался при необходимости PHP с переданными параметрами.

    Я нашел этот вопрос ( Отправка сообщений с PHP на Node.js ), которые заставили меня думать, что один из подходов состоит в том, чтобы просто использовать CURL для запроса порта, который мой экземпляр узла прослушивает, чтобы получить html, который я потом выводю.

    Меня беспокоит то, что весь мой опыт с CURL показал, что он очень медленный. Я не хочу, чтобы мое время загрузки страницы резко уменьшалось, чтобы получить какую-то выгоду от SEO.

    Может ли кто-нибудь советовать по вышеуказанным вопросам / моему направлению?

    Большое спасибо

    Related of "Отображение на стороне сервера визуализированного компонента responseJS в приложении PHP"

    Стоян Стефанов создал библиотеку для вызова в V8 JS-библиотеку из PHP-кода для такого рода вещей; он доступен здесь:

    https://github.com/reactjs/react-php-v8js

    Вы можете прочитать о том, как он настроил рендеринг сервера React в этих двух сообщениях:

    http://www.phpied.com/server-side-react-with-php/
    http://www.phpied.com/server-side-react-with-php-part-2/

    Рендеринг не будет мгновенным, но он должен быть достаточно быстрым. Если у вас проблемы с производительностью, и кеширование не помогает, вы можете использовать функцию обхода Google AJAX для использования рендеринга сервера только для робота Googlebot, но не для обычных запросов:

    https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

    Обратите внимание, что браузеры также используют преимущества разметки, созданной сервером, поэтому, даже если начальный запрос медленнее, рендеринг может быть более быстрым.