设置angularjs app进行抓取

时间:2013-08-23 00:49:21

标签: angularjs google-search

我有一个角度应用程序设置为在html5模式下使用#!回退,所以在大多数浏览器上它适用于http://example.com/foo/bar,而在不太酷的浏览器上我们得到http://example.com/#!/foo/bar。一切似乎都有效。

我一直在尝试让谷歌很好地抓取网站,而且它似乎没有按预期工作。我在页面中设置了<meta property="fragment" content="!" />以表示要使用?_escaped_fragment_=重新抓取,并设置nginx以在收到此类请求时重定向到页面的静态版本。

正在为首页工作 - 查看访问日志,我可以看到http://example.com/?_escaped_fragment=并且可以谷歌“来自首页的句子”并将主页作为结果

然而适用于任何内部页面,如果我查看访问日志,我可以看到一大堆http://example.com/foo/bar/?_escaped_fragment_=而不是http://example.com/?_escaped_fragment_=/foo/bar/可能已经预料到了。

有什么明显的我想让Google做我想做的事吗?

1 个答案:

答案 0 :(得分:0)

我认为这适用于具有HTML5路由的AngularJS应用程序,实际上,您应该看到只有?_escaped_fragment_ =的请求,而不是?_escaped_fragment _ = / foo / bar /。有关详细信息,请查看“3.处理没有散列片段的页面”部分https://developers.google.com/webmasters/ajax-crawling/docs/getting-started