我们有一个使用HTML5路线的AngularJS网站。 我只是做了一些testing“抓取谷歌”运行。 结果有点混乱: 在抓取选项卡上,我看到我们的网站,因为它看起来在视图源,所有的前端绑定{{}},而不是所有的HTML呈现 在渲染选项卡上,我们的网站看起来非常好,没有{{}}variables,看起来像谷歌机器人抓取和渲染的网站,这也许是符合这个http://googlewebmastercentral.blogspot.ae/2014/ 05 /渲染页面与提取作为google.html 。 不过,我们已经准备好让Google无法抓取我们的网站,所以我们已经添加了,所以Google bot会以“?_escaped_fragment_ =”重新访问我们的网页,我们遵循https://developers.google.com / webmasters / ajax-crawling / docs / getting-started (“3.处理没有哈希碎片的页面”)在我们的Nginxconfiguration中,我们有这样的内容: if ($args ~ "_escaped_fragment_=") { serve the static HTML snapshots } ,如果我们自己传递_escaped_fragment_ =,它确实可以正常工作。 但是,Google机器人从未尝试使用此参数来抓取我们的网站,因此它从不抓取快照。 我们错过了什么吗? 我们是否也应该在我们的Nginx conf上添加Google bot的代理检测? 像这样的东西? if ($http_user_agent ~* "googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com") { server from snapshots } 如果我们能更好地理解这一点,那将是非常好的,非常感谢你! 更新: 我只是读了这个, http://scotch.io/tutorials/javascript/angularjs-seo-with-prerender-io?_escaped_fragment_=tag#caveats 。 所以,在使用手动工具(Google抓取)的时候,我们也应该把自己放在#! 或?_escaped_fragment_ […]