Yes, React has faced SEO related issues since Google gets confused with React’s Single Page Application (SPA) feature. Dynamically rendered pages means the crawler has to repeat on every load since the structure is subject to change (possibly).
So I researched into it and found an article that listed the following solutions to counter SEO issues:
- Pre-rendering
- Isomorphic React
Isomorphic React detects if Javascript is running on the client side. If its not, Javascript runs on the server side and sends the final content to the client. With this, all the necessary content, attributes and meta data are present when the page loads. If JS is already running on the client side, the app runs as dynamically comprising of multiple components (similar to React). This means: 1) Faster loading; 2) Wider Compatibility with browsers
On the other hand, Pre-render entails loading the full page at the backend before displaying it on the browser. A tool like Prerender can be utilised that makes use of Headless Chrome to render the page. This method has the following advantages: 1) Enable websites to be correctly crawled by Google 2) Less Pressure on the server compared to Isomorphic React