Mit prerender.io mit ReactJS für SEO
Habe ich realisiert, dass meine ReactJS Anwendung mit reagieren-router keine externen links. Suchmaschinen erkennen nicht, dass die Website hat eine Menge von verknüpften Inhalten. Prerender.io scheint wie eine gute Lösung, aber ich kann es nicht arbeiten für mein ReactJS Anwendung.
Kann prerender.io verwendet werden, mit ReactJS? Wenn nicht, gibt es eine weitere gute Möglichkeit zur Verbesserung der SEO für meine Website, ohne dabei alle rendering-server-Seite?
EDIT: Nach weiterem Graben, merkte ich, dass das Problem hier ist, dass reagieren-router verwendet eine "#" standardmäßig und nicht mit einem "#!". Ist es möglich, die reagieren-router die Arbeit mit einem "#!"?
- Neugierig, ich bin kein Entwickler reagieren, aber ich kann sehen, react-spa.herokuapp.com arbeiten mit html5mode reagieren-routing
- Gut wir haben auch angesichts dieses Problems, während wir arbeiten auf ReactJs Anwendung, die Bedürfnisse der SEO-Optimierung als auch. Bitte Kasse unsere reactjs boiler plate, über die wir erstellen SEO-freindly web-apps. github.com/Atyantik/react-pwa .
Du musst angemeldet sein, um einen Kommentar abzugeben.
Prerender scheint zu erwarten, dass real urls, denn sonst können Sie nicht dienen die zwischengespeicherten html, normalen Menschen (der hash ist nicht an den server gesendet).
Beim einrichten reagieren-router sicherzustellen, dass es mit dem Geschichte-Modus:
In Ihrem server, die Sie benötigen, um sicherzustellen, dass alle Routen, die nicht mit einer statischen Datei serviert werden, entweder durch senden index.html oder mit prerender.
Können Sie die Suche nach 'senden Sie alle Anfragen an index.html {insert server name here}' finden Sie details dazu.
Scheint es, dass standardmäßig prerender gilt nur in bestimmten Situationen. Hier ist ein Beispiel, wenn Sie mit der express.js middleware in node.js:
Sollten Sie in der Lage sein, um herauszufinden, ähnliche änderungen für andere middleware (Sie benötigen eine Gabel in den weniger flexiblen Sprachen).
#!
urls.#!
in ihm, außer einer Gruppe von bots. Alles nach dem#
ist nicht an den server gesendet.#!
. Mit html5 push Zustand, verwenden Sie die <meta name="fragment" content="!"> - tag in den <head> und crawler wird die Anfrage-URL mit?_escaped_fragment_=
am Ende der URL. Wenn Sie die#!
dann crawler ersetzen die#!
mit?_escaped_fragment_=
. Das ist, wie wir erkennen die crawler. Hier finden Sie weitere Unterlagen: prerender.io/Dokumentation/test-es