Content displayed via
Using the Fetch as Google functionality from Google's Search Console helps understanding what Google sees from a webpage.
SEO For Angular & Ajax Based Libraries
Angular.js modifies the content of a webpage dynamically using Ajax URLs, but it is hard for Google to crawl and index such content. Ajax URLs typically contain hashbangs #! to communicate with the server.
Regarding SEO, there is an agreement that web crawlers will transform hashbang URLs into escaped fragments URLs when sending requests to servers. Such servers return html content equivalent to the hashbang URLs content for indexing.
Some documentation to make your website Ajax crawalable via hashbangs URLs is available here and here. Many expect this method to be decommissioned sooner or later, since there is a better alternative.
Using HTML5's pushState()
Typically, one-page applications load their content via Ajax. Users don't navigate from URLs to URLs. HTML5's
Avoiding to rely on escaped fragments for SEO is the safest long term practice today.