Client-Side React & SEO
Can Google index a client-side React app?
Updated: Dec 18, 2016 — The test app has been taken down, but results are still below.
Updated: May 7, 2016 — TL;DR: Yep.
I created a basic React app with three pages of content for a topic that should be easy to rank for, “Chris Arasin's Soup Recipe”. The index.html page does have the appropriate initial title tag, “Chris Arasin's Secret Soup Recipe”, but all the content, links, images, and other page titles are rendered by React.
I used React Router, and my test is pretty much just its demo setup. You can see the code here.
The setup includes:
- An index page with an image rendered by React
- A secondary page with a link to it from a static html page
- A secondary page with only a React-generated link pointing to it
Google fully indexed the test app. A Google Webmaster Tools fetch and render showed the index page fully rendered.
A search for Chris Arasin's soup recipe showed all three pages indexed. Including the instructions page, which was only linked to by a React-generated link.
Searching for text on a page returns the proper result.
And the image has been indexed.
Cool! But, Don't Forget Bing
This is a nice result, and perhaps with some tests of more complicated applications, I would not have Google search concerns about using React without server-side rendering.