1

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

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

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

4

4 回答 4

1

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

当然,要实现这一点,您必须在 uri 中引入哈希标签。我不明白你为什么要试图避免它们。gmail不是使用哈希标签吗?

于 2013-02-23T09:03:05.437 回答
1

是的,不幸的是,如果你想被索引 - 你必须遵守该方案:(如果你运行一个 ruby​​ 应用程序 - 有一个 gem 可以为任何机架应用程序实现爬取方案....

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

于 2013-04-13T09:12:59.710 回答
1

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

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

      https://prerender.io/
    
  • 使用不同的现有服务,例如 BromBone、Seo.js 或 SEO4AJAX:

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

      http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io
    
于 2014-03-10T23:56:08.140 回答
0

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

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

编辑:请注意,这并不意味着其他爬虫(Bing、Facebook 等)将执行 Javascript。您可能仍需要采取其他步骤来确保这些爬虫可以看到您的网站。

于 2014-07-22T15:58:26.310 回答