SEO for ReactJs, AngularJs, BackboneJs, EmberJs
AMP your first page for Free:
Another consideration with single page apps is Google crawl budget.
A couple months ago Google released how it determines how to crawl every site. https://webmasters.googleblog.com/2017/01/what-crawl-budget-means-for-googlebot.html
Google calls this crawl budget. If your site loads fast and has unique content it will crawl more pages. Here are 6 other determinations they state.
1) Faceted navigation and session identifiers
2) On-site duplicate content
3) Soft error pages
4) Hacked pages
5) Infinite spaces and proxies
6) Low quality and spam content
There are some other ways to tell Google what to crawl.
One way is setting frequency and order in your sitemap. Another way is how internally link your site to your interior pages. All these components decide when and how Google prioritizes and crawls your site.
Another tool for single page apps are prerendering pages.
Prerendering pages for SEO purposes has been a page Speed tactic for many years along with minifying JS and CSS. Prerendering has many technical intricacies. SEOforAjax, Prerender.io and brombone are supposed to precache and solve this. They all have different types of problems, but they should help for most scenarios. You can even roll your own solution and do DOM snapshots with phantomjs. Phantomjs is tricky. It also takes away priceless developer time. That’s why Google’s solution is the best option. This is prerendering your pages in Google AMP.
Google wants your brand and data and they want it easy. So they are trading traffic to sites that use AMP and schema.org.
War of Attention
But why is Google doing this?
Because Facebook is winning the attention war. Google needs to keep people on the SERP to sell more ads. If you want to see the future of the SERP just Google “apple pie recipe” or “best software list”. You will see a combination of multiple data sources. Knowledge graph segments, wikipedia data and schema based rich snippets are taking over the SERP.
These results start to look like a social feed. You can even share right in the SERP!
So what should you do? Kill two birds with one stone Google AMP your pages as a way to precache you Single Page Application.