We developers like our acronyms. SEO for SPA...
Search Engine Optimization for Single-Page Apps
<body> <div id="applicationHost"> <div id="app-splash" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: #3ebeba; color: #fff; text-align: center;"> <div class="app-loader-container"> <div class="app-loader"> <div class="app-loader-rings"> <div class="ring"></div> <div class="ring"></div> <div class="ring"></div> </div> </div> </div> </div> </div> <script src="/assets/js/main-built-c9d74035ecf9b9aba46058750d0db4cf.js"></script> </body>
During the #ngeurope conference in Paris, Brad Green from Angular claimed that Google should be able to fully-crawl an Angular application by the end of 2014. As far as I'm aware that is not yet the case, however I asked him what should be done when you want to rank for all search engines, instead of being dependent on Google:
The suggested approach is a headless-browser; such as PhantomJS which would crawl your entire website and create an HTML representation of it. Googlebot would then hit this HTML representation instead of the rendered content, so it would be imperative to update the HTML snapshot regularly if your content is changing frequently. There are also services which provide something similar, such as BromBone....and quite frankly, both felt like a hack; rather than doing things the correct way.
The Incredible Way...
And the caveat....unfortunately this is still a work in progress but should enough be on GitHub in the very near future. :(