2016-01-03 2 views
7

Я хотел бы разработать темы/плагины для WordPress на основе React.js. Чтобы сделать его дружественным к поисковой системе, мне нужно, чтобы он сначала отображался на сервере (serveride-rendering).Отверстие на стороне сервера React.js с PHP

Единственный способ сделать это, насколько я знаю, использовать react-php-v8js, для чего требуется PECL V8js extension. Это проблема, так как у меня нет контроля над платформой, на которой будут запускаться эти темы/плагины.

Есть ли способ заставить React.js и WordPress работать без установки дополнительных расширений? Возможно, создавая/компилируя реактивные файлы в PHP?

+0

Можете ли вы пояснить, что вы подразумеваете под «Я не контролирую платформу»? Я предполагаю, что вы имеете в виду, что у вас нет доступа или разрешения на установку на сервере таких вещей, как V8js или Nodejs, правильно? Есть несколько решений, с которыми я знаком, но они связаны с установкой того или другого. – PeterG

+0

Это правильно - я не могу установить какое-либо расширение PHP (например, v8js) или что-то вроде Node.js. Эти плагины/темы WordPress, скорее всего, будут работать на платформах общего доступа, которые этого не позволяют. –

+0

В этом случае единственный подход, который я могу придумать, - установить nodejs или V8 на отдельном сервере, а ваш код реакции вызывать его исключительно для выполнения на стороне сервера. Возможно, вам придется иметь дело с некоторыми проблемами CORS, но теоретически я не понимаю, почему это не сработало (заметьте, что я на самом деле не пробовал это сам). – PeterG

ответ

0

Если вы хотите, чтобы ваш контент был проиндексирован поисковой системой без js, вы можете распечатать свой минимальный контент с помощью Wordpress, всего лишь минимальные + важные метатеги, возможно, локализовать начальное состояние для вашего реагирующего приложения для загрузки. Достаточной голосовой темы, такой как http://underscores.me/, было бы достаточно. Когда js доступен, вы можете заменить весь сгенерированный контент WordPress на «Реагировать».

Идеальным является то, что React генерирует контент для вас. Но это трудно, пока мы не увидим, что расширение nodejs/PECL V8js доступно повсеместно.

Смежные вопросы