Google indexing of my AngularJS application Google indexing of my AngularJS application angularjs angularjs

Google indexing of my AngularJS application


The Google crawler does execute javascript on the pages that it crawls. With AngularJS, there are a few steps you have to take to make sure that your application is getting crawled and indexed properly.

HTML5 Mode

You must use html5 mode.

Webserver Setup

For the html5 mode to work properly, you must configure your webserver so that requests to directories that don't exist get rewritten to index.html.

Sitemap

Google does not properly follow links in angularjs apps yet, therefore you must create a sitemap for all of your routes. This sounds like a pain to do, however, with proper build processes this can be a very automated process. (gulp, grunt, etc.)

Cons

This of course only applies to the google crawler. Other search crawlers such as Bing may not support javascript applications yet, though I wouldn't be surprised if this changes over the next year or two (if it hasn't already.)

Other considerations

One commonly missed problem with indexing angular apps is things like pagination and content that shows up after clicking a button. If these actions do not change the url, google will not crawl it. For example, say you have a page with a table using pagination and it has 3 pages. Google will only crawl the first page unless each page has a different url route such as /table/page/1 /table/page/2 /table/page/3


You might want to use Angular Universal. It looses the benefit of rendering the angular application on the client however it will allow proper search engine indexing (not only google).

you will have to decide if the trade off is worth it for your requirement

Angular Universal Official Website


Nowadays you wont get good SEO with AngularJS.

First thing is to get your pages crawled. See this simple JS indexing experiment.

To diagnose your site you can use Chrome 41 used by Googlebot to index JS pages. See this.