根据我的测试,Facebook的爬虫不会使像浏览器客户端的模板。
我要不惜一切代价避免了Open Graph的对象网络服务器和建筑物HTML文件。 我想生成经由URL飞meta标签,但似乎Facebook的不能做到这一点。
从Facebook是否有人可以证实? 我问的Open Graph的头在#mobiledevcon她说Facebook能够呈现这样的东西{{值}}
我的meta标签如下所示,它们在每个浏览器渲染罚款。 但Facebook的Open Graph的调试器只能看到原始文本,而不是插值内容。
<meta property="{{meta.property}}" content="{{meta.content}}">
当你想想看应该很清楚,为什么这是行不通的。
因为它是由服务器提供Facebook的履带式下载HTML。 Facebook的履带不会执行任何JavaScript,像所有的爬虫不会执行JavaScript。 这是由于安全限制和速度的原因(他们没有足够的时间在他们的服务器上执行JavaScript。)
有没有办法解决这个。 如果您希望检索索引页面出现,你需要给他们你希望他们能够直接读取内容。
提示:您可以使用类似phantom.js呈现在服务器端页面和服务于这个的爬虫。
该解决方案基本上是使用某种类型的服务器端用户代理检测的回暖,每当一个社会媒体履带到达。
与预渲染服务一起使用?_escaped_fragment_方法。 Facebook将遵循相同的抓取阿贾克斯规格为谷歌。 请参阅https://developers.google.com/webmasters/ajax-crawling/docs/specification
文章来源: How to do Facebook Open Graph friendly meta tags with client-side template engines like AngularJS, Mustache, Handlebars