根据我的测试,Facebook 的爬虫不会像浏览器那样呈现客户端模板。
我想不惜一切代价避免使用网络服务器并为 Open Graph 对象构建 HTML 文件。我想通过 URL 即时生成元标记,但 Facebook 似乎无法做到这一点。
Facebook 的人可以确认一下吗?我在#mobiledevcon 上问过 Open Graph 的负责人,她说 Facebook 可以渲染像 {{value}}
这样的东西我的元标记如下,它们在每个浏览器中都能正常显示。但是 Facebook Open Graph Debugger 只能看到原始文本,看不到插入的内容。
<meta property="{{meta.property}}" content="{{meta.content}}">
最佳答案
当你仔细想想它应该很清楚,为什么这行不通。
Facebook 爬虫下载服务器提供的 HTML。 Facebook 爬虫不会执行任何 JavaScript,就像所有爬虫都不会执行 JavaScript 一样。这是由于安全限制和速度原因(他们没有时间在他们的服务器上执行 JavaScript)。
没有办法解决这个问题。如果您希望爬虫将您的页面编入索引,您需要直接向他们提供您希望他们阅读的内容。
提示:您可以使用类似 phantom.js 的内容在服务器端呈现您的页面并将其提供给爬虫。
关于facebook - 如何使用 AngularJS、Mustache、Handlebars 等客户端模板引擎制作 Facebook Open Graph 友好元标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16481731/