我仅在客户端使用Meteor,并一直在尝试优化开放图元标记。我使用了kadira:dochead
并在路由器中输入了以下代码:
Router.route('/', function() {
setupOg();
if (isMobile()) {
this.render('landing_mobile');
$('body').css("overflow", "visible");
}
else {
this.render('landing');
$('body').css("overflow", "hidden");
}
});
function setupOg() {
var title = { property: "og:title", content: "Blah" };
var type = { property: "og:type", content: "website" };
var url = { property: "og:url", content: "https://blah.io" };
var image = { property: "og:image", content: "http://i63.tinypic.com/2howf4k.png" };
var siteName = { property: "og:site_name", content: "Blah" };
var description = { property: "blah blah blah." };
DocHead.addMeta(title);
DocHead.addMeta(type);
DocHead.addMeta(url);
DocHead.addMeta(image);
DocHead.addMeta(siteName);
DocHead.addMeta(description);
}
在浏览器中,在检查HEAD内容时,上面每个属性的内容都为<meta property="og:title" content="Blah" dochead="1">
等。
但是,当我查看Facebook Sharing Debugger时,它似乎没有找到任何这些优化,当我尝试在Linkedin上分享时,同样的事情。这是为什么?
注意,我的main.html
看起来像这样:
<head>
<link rel="icon" sizes="16x16 32x32" href="/favicon.ico">
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Blah</title>
</head>
答案 0 :(得分:1)
我可以区分两个原因:
Meteor有客户端渲染,这意味着当Facebook打开分析OG标签的URL时,它看不到任何内容,所以你需要告诉Facebook机器人它需要等到你的页面被加载,看看这个Meteor包:https://atmospherejs.com/meteor/spiderable
可以缓存该网址的数据。