One of the largest perceived drawbacks to creating a SPA or other Rich Internet Application is that they’re not SEO friendly or very accessible. With the advent of technologies such as ARIA, HTML5 and Node.js, things are changing. Web apps are becoming more usable and accessible, though also making them crawlable and highly performant is a formidable challenge. To solve this problem I for one am behind Derick Bailey’s approach for using HTML5 pushState and PE to achieve SEO and accessibility. After all, the hashbang method suggested by Google has a major problem: the URLs are not semantic.
Check out the Airbnb article referenced, which depicts the Holy Grail in a linked image, and ask yourself if you’re drinking from the right cup. You must choose, but choose wisely.
Update 2016-11-22: I’ve used two great React-based boiler plates for building Isomorphic apps. You can read about them on my list of Awesome React Boilerplates.