社交网络可以很好地从共享URL的网站中提取标题和描述,但对于图像,创建自定义元标记仍然是必要的:if ($this->request->is('post')) {
}else{
$this->Session->setFlash(__('UserHub already exists contact admin'));
}
property="og:image"
name="twitter:image"
。所以我的问题是这个工作:
itemprop="image"
所以我不必为我网站上的每个网页创建3个不同的元标记。
答案 0 :(得分:1)
property
属性来自RDFa,itemprop
属性来自Microdata,name
属性来自纯HTML。
可以同时使用itemprop
和property
,但name
元素的meta
itemprop
属性具有<meta property="og:image" name="twitter:image" content="http://example.com/image.jpg" />
<meta itemprop="image" content="http://example.com/image.jpg" />
<!-- note that this snippet is still invalid, see below -->
属性(虽然RDFa允许它,所以你可以使用两个元素:
<meta name="twitter:image" content="http://example.com/image.jpg" />
<meta itemprop="image" property="og:image" content="http://example.com/image.jpg" />
<!-- note that this snippet is still invalid, see below -->
<meta property="og:image image" name="twitter:image" content="http://example.com/image.jpg" />
<!-- note that this snippet is still invalid, see below -->
由于Schema.org也可以与RDFa一起使用,您可以省略微数据(除非您需要支持不支持RDFa的消费者):
link
为什么这些无效?因为doesn’t allow使用meta
元素而不是twitter:url
元素,所以如果值是URI。但是,在实践中这是有问题的,因为:
meta
定义为have to,而不是meta extension(但由于该值为网址,因此link type为链接类型)link
,而不是<meta name="twitter:image" property="og:image" content="http://example.com/image.jpg" /> <!-- invalid, but expected -->
<link property="image" href="http://example.com/image.jpg" /> <!-- valid -->
(我没有测试它,这是我在这里回答有关它时多次阅读的内容 - 例如:{{3} })因此,虽然Twitter Cards和Facebook的OGP建议使用(并且可能仅支持)无效标记,但Schema.org消费者并不一定如此。因此,您可能希望将无效和有效方式结合起来:
image
(请注意,使用Schema.org的vocab
属性的所有这些片段都需要一个带有image
的父元素。如果您不提供它,则不清楚{{1}的词汇表}属性。如果你不能,你应该使用schema:image
。)