2

I have developed a website using angularjs and web api.

The problem is that the ajax rendered content is not crawable by google. And no one can find the website using google search.

After reading many articles regarding this issue, including:

This one with all links of explanation going out, Google ajax crawling protocol, and also stack over flow question, I couldn't find the proper solution. Those that mention asp.net solutions, are talking about mvc, and I need only the simple REST by web api, other articles are not talking about asp.net.

Is there any simple explanation?

Community
  • 1
  • 1
HS1
  • 608
  • 2
  • 10
  • 28

2 Answers2

1

I'm the one who asked this same question long ago, so I will answer from my experience:

Firstly, if all your content are accessible via unique URIs (including the hashbang if you use it), modern search engines should index it just fine. In fact Google can index javascript generated content now. You can try that via the Google Webmaster tool and see how your site is indexed.

Secondly, there are libraries that help you to serve parsed content to search engines if you need to, but in my case I didn't bother much with it since Google is indexing js nicely.

mr1031011
  • 3,574
  • 5
  • 42
  • 59
  • I looked up to web master tools, those pages weren't indexed. The problem is that from time to time I need to change the content in my pages, and then to be found with the new keywords. – HS1 Jan 01 '15 at 17:09
  • http://googlewebmastercentral.blogspot.com/2014/05/understanding-web-pages-better.html here is the link regarding Google new practice. https://prerender.io/ as suggested above is also a good choice since you can set up cronjob to refresh the static content as often as you want. – mr1031011 Jan 01 '15 at 17:22
  • Note that prerender does have its source open: https://github.com/prerender/prerender – mr1031011 Jan 01 '15 at 17:29
0

I've seen others ask this question, and maybe I'm missing something or this is outdated, but I don't see why AngularJS needs to be an issue with SEO.

Say you have a landing page and it has a bunch of links. Assuming you're using html5 mode in AngularJS (and I'm not sure that's 100% necessary) and something like ng-route then the links on the landing page can work both as "angular" (JavaScript) links and "old school" (full page load) links.

If you're a human user you can click a link and it will do angular magic and adjust the content without loading the full page. Ok, all fine.

But if you instead copy the link and paste it in a new tab or new browser, it will still work - assuming you've set up routes correctly.

I'm not an SEO expert by any stretch of the imagination, but as I understand it, having links that load pages and having those pages have real and useful content is the core of SEO, and done this way, AngularJS should work fine. The key thing to check is if you copy and paste the link (not just click it) that it works.

Andrew E
  • 7,697
  • 3
  • 42
  • 38