2016-01-03 12 views
7

Chciałbym rozwijać tematy/wtyczki do WordPress na podstawie pliku React.js. Aby uczynić go przyjaznym dla wyszukiwarek, potrzebuję go najpierw renderować na serwerze (renderowanie serwerowe).React.js rendering po stronie serwera z PHP

Jedynym sposobem, aby to zrobić, o ile wiem, jest użycie react-php-v8js, która wymaga PECL V8js extension. Jest to problem, ponieważ nie mam żadnej kontroli nad platformą, na której będą uruchamiane te motywy/wtyczki.

Czy istnieje sposób, aby programy React.js i WordPress współpracowały ze sobą bez konieczności instalowania dodatkowych rozszerzeń? Być może budując/kompilując pliki reaktywne w PHP?

+0

Czy możesz wyjaśnić, co masz na myśli przez "Nie mam kontroli nad platformą"? Zakładam, że masz na myśli to, że nie masz dostępu ani uprawnień do instalacji na serwerze takich rzeczy jak V8js czy Nodejs, prawda? Jest kilka znanych mi rozwiązań, ale dotyczą one instalacji jednego lub drugiego. – PeterG

+0

To prawda - nie mogę zainstalować żadnego rozszerzenia PHP (np. V8js) ani niczego podobnego do Node.js. Te wtyczki i motywy WordPress będą najprawdopodobniej działać na współdzielonych platformach hostingowych, które na to nie zezwalają. –

+0

W tym przypadku jedyne podejście, jakie mogę wymyślić, to skonfigurowanie nodejs lub V8 na oddzielnym serwerze, a twój kod reagowania powinien wywoływać go wyłącznie w celu renderowania po stronie serwera. Być może będziesz musiał poradzić sobie z niektórymi problemami CORS, ale teoretycznie nie rozumiem, dlaczego to nie zadziałałoby (zauważ, że sam tego nie próbowałem). – PeterG

Odpowiedz

0

Jeśli chcesz, aby Twoje treści były indeksowane przez wyszukiwarkę bez js, możesz drukować swoje minimalne treści za pomocą WordPressa, tylko minimum + kluczowe meta tagi, być może zlokalizować jakiś początkowy stan dla aplikacji reagującej na rozruch. Wystarczyłby motyw nagich kości, taki jak http://underscores.me/. Gdy js jest dostępny, możesz zastąpić całą treść wygenerowaną przez WordPress za pomocą React.

Idealnym rozwiązaniem jest wygenerowanie treści za Ciebie. Ale trudno, dopóki nie zobaczymy, że rozszerzenie nodejs/PECL V8js jest dostępne wszędzie.