AngularJS / AJAX应用和搜索引擎抓取工具

时间:2013-02-23 01:54:36

标签: ajax seo angularjs googlebot

我有一个大量使用AngularJS / AJAX的网络应用程序,我希望谷歌和其他搜索引擎可以抓取它。我的理解是,我需要做一些特别的工作,如下所述:https://developers.google.com/webmasters/ajax-crawling

不幸的是,这看起来很讨厌,我宁愿不介绍哈希标签。我想做的是直接向Googlebot(基于用户代理)提供静态页面,或者通过向其发送302重定向。这样,网络应用程序可以是相同的,整个Googlebot解决方案很好地隔离,直到不再需要它为止。

我担心谷歌可能会错误地认为我试图欺骗Googlebot,而我的目标是帮助它。你们对这种方法有什么看法,你会推荐什么?

4 个答案:

答案 0 :(得分:1)

最近我遇到了这个优秀的post from yearofmoo,详细解释了如何使你的Angular应用程序SEO友好。从本质上讲,当机器人看到一个带有哈希标签的uri时,他们会知道它是一个ajaxed页面,并试图通过替换'#!'来达到相同的uri。在你的uri中使用'?_escaped_fragment_ ='。这个替代uri指示机器人他们应该期望找到他们正在访问的页面的确定静态版本。

当然,为了达到这个目的,你必须在你的uris中引入哈希标签。我不明白你为什么要试图避开它们。是不是gmail使用哈希标签?

答案 1 :(得分:1)

是的,不幸的是,如果你想要编入索引 - 你必须坚持这个计划:(如果你运行一个ruby应用程序 - 有一个宝石实现任何机架应用程序的爬行方案....

gem install google_ajax_crawler

如何使用它的说明位于http://thecodeabode.blogspot.com.au/2013/03/backbonejs-and-seo-google-ajax-crawling.html,源代码位于https://github.com/benkitzelman/google-ajax-crawler

答案 2 :(得分:1)

看看这些链接,它会给你一个很好的指导:

  • 使用Prerender.io开源代码设置自己的Prerender服务:

      https://prerender.io/
    
  • 使用其他现有服务,例如Br​​omBone,Seo.js或SEO4AJAX:

      http://www.brombone.com/
      http://getseojs.com/
      http://www.seo4ajax.com/
    
  • 创建自己的服务,以便为搜索引擎呈现和提供快照。阅读这篇文章。它会给你一个大局:

      http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io
    

答案 3 :(得分:0)

截至2014年5月,GoogleBot现在执行JavaScript。检查网站站长工具,了解Google如何看待您的网站。

http://googlewebmastercentral.blogspot.no/2014/05/understanding-web-pages-better.html

编辑:请注意,这并不意味着其他抓取工具(Bing,Facebook等)将执行Javascript。您可能仍需要采取其他措施来确保这些抓取工具能够看到您的网站。