How to dynamically load directive in angularjs through json?

What is the best way to optimize AngularJS application to not harm SEO?

  • JavaScript MVC frameworks are very bad for SEO. How we can obtain full crawlability / indexability of our apps ? What AngularJS directive or mechanism to use, when you want to render some default data from server (it'll become crawlable by Google) and right after user interaction switch to AJAX mode ?

  • Answer:

    Have you seen http://BromBone.com? It's a service that renders and stores ...

Chad DeShon at Quora Visit the source

Was this solution helpful to you?

Other answers

Have you seen http://BromBone.com? It's a service that renders and stores snapshots of all your pages. Then when Google visits your page, you just grab the snapshot from BromBone and send it to Google instead of your normal javascript page.

Chad DeShon

As far as I'm concerned, google bot's headless browser does execute javascript. So AJAX URLs using the hash (#) do get indexed and crawled. You can check with Google Webmaster Tools by using the Labs> Instant Preview  agains one of your site's hash URLs. Be aware of behavioral differences with !# vs # URLs.

Daniel Cerecedo

Here is some more information. https://developers.google.com/webmasters/ajax-crawling/docs/getting-started However, what we do at Cloudmanic Labs (http://cloudmanic.com) is we detect in the backend if the request is via ajax or not. If the request is not via ajax we include the complete html. With a good web framework this is pretty easy. Just change the html delivered based on the request type (ajax or not).

Spicer T. Matthews

Had you checked http://alexferreira.github.io/seojs/ It is a library that you can integrate in your server that will handling create full html snapshot when Google Crawler asks for your page. Meaning that you are not dependable on external services and have full control over configuration, customization. And it's free. The implementing process was explained pretty good in the website.

Tinh Ngo Vang Tieng

Things are changing now. Javascript MVC frameworks are being more and more utilised. Google is moving fast in that direction and I guess they will soon do something about it. In the meantime you can do many things. Using services like https://prerender.io/ or http://www.brombone.com/ can really make your life easier (prerender is also an open source project so you can always build it on your own servers). Of course as suggested the actual solution is building that sort of thing that google approves. That said, prerender does a really good job and it's almost free so, up to you. Personal experience, we tried many things and then we eventually decided to go with prerender running on our own server (monitoring it with monit). it does work just fine!

Alessio Santo

I wrote an article about the subject explaining how to build a good architecture based on prerendering snapshots and serving them to search engine http://www.doz.com/search-engine/angularjs-index-seo

Faouzi El-Yagoubi

Maybe, only wrong thing with this article is it's suggested usage of Hashbang URLs.

Anonymous

Just Added Q & A:

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.