我正在开发一个流星应用程序,并尝试在人们共享链接时显示Facebook元数据。我们正在使用Iron Router并最终希望拥有动态元内容,但是现在我只是想让静态元内容工作。我读了很多关于spiderable的建议,但我认为提供动态内容更是如此。也许我弄错了?
我一直在使用Facebook调试器,但我不确定如何处理它提供的错误。在Facebook调试器中输入我们的网站URL时出现以下错误:
1)“网站”类型的网址“https://www.mywebsiteURL.com”上的对象无效,因为未提供“string”类型的必需属性“og:title”。
2)卷曲错误:OPERATION_TIMEOUTED操作在10000毫秒后收到0字节超时
3)必须修复的错误对象缺少必需的值 - “网站”类型的网址“https://www.mywebsiteURL.com”上的对象无效,因为必需的属性“og:title”属于没有提供类型'字符串'。
我们肯定有一个og:title,所以我认为这实际上不是问题。
似乎是因为超时它没有取任何东西。我有一个标题块,当我从谷歌网站管理员工具“谷歌获取”时,获取网页标题没有问题。下载时间为0.084秒。我最近做了一个新的索引请求,但我不认为这会导致Facebook的刮刀出现问题。
来自我的index.html文件:
<head>
<title>Company Name</title>
<meta name="description" content="Description here">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
<link rel="shortcut icon" href="image path">
<!-- Facebook Meta -->
<meta property="og:title" content="My Page Title"/>
<meta property="og:type" content="website" />
<meta property="og:site_name" content="My Website title"/>
<meta property="og:url" content="https://www.mywebsiteURL.com" />
<meta property="og:image" content="MyImagePath" />
<meta property="og:description" content="Website Description" />
<!-- Twitter Meta -->
<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@companyname" />
<meta name="twitter:title" content="My page title" />
<meta name="twitter:description" content="My page description" />
<meta name="twitter:image" content="My image path" />
<meta name="twitter:url" content="https://www.mywebsiteURL.com" />
</head>
我很难过。任何建议都会很棒!
答案 0 :(得分:1)
我最后通过下载Spiderable package解决了这个问题。我不完全确定为什么Facebook的刮刀在谷歌机器人出现时无法在HTML标题中获取静态元内容。
我使用Homebrew安装PhantomJS。如果您没有返回游标,请不要忘记在发布函数中包含this.ready()
!