我为博客文章制作了一个Schema.org标记。我不确定将<meta>
与其他代码结合使用是否正确,将<meta>
放在<div>
内,甚至将<meta>
放在<head>
之外< / p>
<article itemprop="mainEntity" itemscope="" itemtype="https://schema.org/BlogPosting">
<meta itemprop="mainEntityOfPage" itemscope="" itemtype="http://schema.org/WebPage">
<header class="entry-header">
<h1 class="entry-title" itemprop="headline">Article Title</h1>
<time itemprop="datePublished" datetime="2017-10-23T11:40:36+00:00" content="2017-10-23T11:40:36+00:00" class="date">
October 23rd, 2017
</time>
<time class="modified" itemprop="dateModified" datetime="2017-10-23T11:49:15+00:00" content="2017-10-23T11:49:15+00:00">
October 23rd, 2017
</time>
<div itemprop="author" itemscope="" itemtype="https://schema.org/Person">
<meta itemprop="image" content="http://example.com/images/nick.jpg">
<meta itemprop="name" content="nick">
<meta itemprop="url" content="http://example.com/authors/nick">
</div>
<div itemprop="publisher" itemscope="" itemtype="https://schema.org/Organization">
<div itemprop="logo" itemscope="" itemtype="https://schema.org/ImageObject">
<meta itemprop="image" src="http://example.com/logo.png">
<meta itemprop="url" content="http://example.com">
<meta itemprop="width" content="300">
<meta itemprop="height" content="270">
</div>
<meta itemprop="name" content="Publicher Name">
</div>
<meta itemprop="image" content="http://example.com/uploads/2017/10/Article-title.jpg">
</header>
<div class="entry-content jpibfi_container" itemprop="text">
</div>
</article>
这种组合的原因很简单。我只是不需要向用户显示一些数据,但我需要将它显示给SE,我知道用display:none
隐藏非样式元素是一种不好的方式。
答案 0 :(得分:3)
是的,meta
元素是不可见数据的正确选择。但是,如果值是网址,则为must use a link
element而不是meta
元素。
meta
元素的问题:
这是无效的,因为content
属性是必需的:
<meta itemprop="mainEntityOfPage" itemscope="" itemtype="http://schema.org/WebPage">
这是无效的,因为meta
不能拥有src
属性:
<meta itemprop="image" src="http://example.com/logo.png">
但如上所述,您必须使用link
元素(具有href
属性)。