我有一个聚合物节点网站,我一直在研究,无法弄清楚如何包含动态元标记和Open Graph标记。 Jquery将无法工作,也不会使用聚合物api添加节点,因为它将在页面加载后添加所有标签,facebook将无法读取标签。 Google抓取工具会渲染页面,但最好能在标题中设置说明。
<html>
<head>
<meta name="description" content="description goes here" />
<meta property="og:title" content="title"/>
</head>
<body>
<group-pages id="grouppages" is="dom-bind"></group-pages>
</body>
</html>
grouppages设置数据并使用服务根据网址填充页面,但我无法找到的是如何根据页面更改元标记。
有人有什么想法吗?
一个想法是获取信息服务器端并将其发送到聚合物,但我仍然不确定节点和聚合物之间是否可能。
答案 0 :(得分:2)
这绝对是一个开放的问题,它涉及在客户端生成元标记的任何方式,无论是Polymer还是其他任何前端代码。
只有爬虫执行JS时才能克服。 2014年5月Google started doing so。另一方面,据我所知,Facebook尚未朝这个方向发展。
您可能需要查看其他两个答案以获得完整的图片:
截至今天,唯一100%可靠的方法是服务器拦截抓取工具,并在发送响应之前专门为其呈现内容。这也是isomorphic JavaScript的结果。已经有一些有用的工具可以支持这些任务,比如Prerender。
希望这有帮助!干杯
答案 1 :(得分:2)
如果您使用Firebase托管Polymer应用程序,则可以使用Firebase http trigger函数预渲染index.html文件。
exports.host = functions.https.onRequest((req, res) => {
// replace og-tags in the index.html file and return it
});
有关详细信息,请参阅this post。