There are many possible reasons:
But what if it's none of them?
If you want to get insight into how Google sees your website, head to Google Webmaster tools.
From the left hand menu select Crawl -> Fetch as Google and click the red Fetch and Render button. What may happen is that you see something like this:
But Google indexes Angular websites now!
You can get a better idea of what is failing by running your site through the open source prerender software found at prerender.io
Run these commands
git clone https://github.com/prerender/prerender.git cd prerender npm install node server.js
And go to
example.com with your website.
Inspect the console for anything suspicious. What you might discover is that you are missing some polyfills, which can cause the renderer (and the Google one as well) to fail. Many polyfills can be found on MDN or similar sites.