If you don’t want to deal with server-side rendering for any reason, React-snap is a great package gives you all advantages of SSR with (almost*) no configuration.
React-snap simply crawls all available routes in your website after you build your app and compiles individual HTMLs for each path – which are still using your React JS of course. So you are getting best of both worlds just like a server-side rendered app: search engine crawlers and your users are not waiting for initial rendering of your page but you are still keeping all the advantages of your sleek SPA!
* react-snap works with create-react-app out-of-the-box. If you are using Redux with React, you need to some configuration to save your state too. This part is pretty similar to SSR configuration for Redux. Documentation on redux.js.org is pretty helpful on this.