我有一个角度应用程序设置为在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做我想做的事吗?
答案 0 :(得分:0)
我认为这适用于具有HTML5路由的AngularJS应用程序,实际上,您应该看到只有?_escaped_fragment_ =的请求,而不是?_escaped_fragment _ = / foo / bar /。有关详细信息,请查看“3.处理没有散列片段的页面”部分https://developers.google.com/webmasters/ajax-crawling/docs/getting-started。