使用'meta'元素而不是用CSS隐藏元素?

时间:2017-10-27 06:41:43

标签: html meta microdata

我为博客文章制作了一个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隐藏非样式元素是一种不好的方式。

1 个答案:

答案 0 :(得分:3)

是的,meta元素是不可见数据的正确选择。但是,如果值是网址,则为must use a link element而不是meta元素。

meta元素的问题:

  • 这是无效的,因为content属性是必需的:

    <meta itemprop="mainEntityOfPage" itemscope="" itemtype="http://schema.org/WebPage">
    

    This answer describes alternatives for mainEntityOfPage.

  • 这是无效的,因为meta不能拥有src属性:

    <meta itemprop="image" src="http://example.com/logo.png">
    

    但如上所述,您必须使用link元素(具有href属性)。