October 16, 2015
In order to get your single page application indexed it is required to implement the following steps:
- use the HTML5 History API
Which is very easy with ui-router. You’ll find further information in the article about migrating existing projects from hashbang to regular urls.
- use sitemaps
From our point of view the google bot is able to fetch most sites without sitemaps, but you really should create a sitemap to cover all cases. Especially when you are having views whose urls will never be part of your menu structure or linked on your site. E.g. url with parameter chosen from a select box.
While the Meta Description and title tags will be perfectly recognized, google lacks of understanding canonical tags when they are generated from angular. Probably they will adjust this behavior in the near feature. If they wont you are advised to use Schema.org’s breadcrumbs.
Hint: Do not expect markup generated from angular to show up in the “Fetch as Google”. It wont! The result will only show the html file which calls your app. No angular generated html code / content. This does not mean that something went wrong.
If you are still not able to get your site in the google index make sure that you have sitemaps and try use of canonical tags or add your markup with JSON-LD in order to enhance googles understanding of the content.
When all of this wont help – use the comment section and post your link – we are looking forward to analyze some case studies.