如何引用博客文章使用HTML微数据和schema.org?

前端之家收集整理的这篇文章主要介绍了如何引用博客文章使用HTML微数据和schema.org?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目标是通过使用 HTML微数据引用博客文章.

如何改进引用的以下标记

我正在寻求语法和语义的改进,以产生一个效果好的HTML5标准,在当前的浏览器中表现良好,并在搜索引擎中得到很好的解析.

关于这个问题的赏金是专家意见和指导.我的研究提出了许多意见和片段,所以我正在寻求明确的答案,完整的样本和规范的文件.

这是我的工作正在进行中,我正在寻求关于它的正确性的建议:

>使用< div class =“citation”>包裹所有东西
>使用< article>用itemscope和BlogPost来封装包含其嵌套信息的帖子信息.
>使用< header> < h1 itemprop =“headline”>包装邮件名称链接.
>使用< cite>包装邮件名称.
>使用< footer>包装作者信息和博客信息.
>使用< address>包装作者链接名称.
>使用rel =“author”注释作者姓名的链接.
>使用itemprop =“isPartOf”将帖子连接到博客.

这是我正在进行的工作HTML源:

<!-- Hello World authored by Alice posted on Bob's blog -->
<div class="citation">
  <article itemscope itemtype="http://schema.org/BlogPosting">
    <header>
      <h1 itemprop="headline">
        <a itemprop="url" href="…">
          <cite itemprop="name">Hello World</cite>
        </a>
      </h1>
    </header>
    <footer>
      authored by
      <span itemprop="author" itemscope itemtype="http://schema.org/Person">
        <address>
          <a itemprop="url" rel="author" href="…">
            <span itemprop="name">Alice</span>
          </a>
        </address>
      </span>
      posted on
      <span itemprop="isPartOf" itemscope itemtype="http://schema.org/Blog">
        <a itemprop="url" href="…">
          <span itemprop="name">Bob's blog</span>
        </a>
      </span>
    </footer>
  </article>
</div>

到目前为止的相关说明:

>< cite>标签W3引用说标签是“短语级别”,所以它的工作方式就像一个内联的跨度,而不是一个块div.但是< article>标签似乎受益于使用< h1>< header>< footer&gt ;.尽可能地告诉我,规范并没有给出一个解决方案来引用一篇文章,使用< cite>包装< article>.有解决方法吗? (正在进行中的工作通过使用< div class =“citation”>)
>< address>标签W3参考表示内容“地址元素不能用于表示任意地址,除非这些地址实际上是相关联系信息.”最好我可以告诉,规范没有给出标记文章作者的URL和名称解决方案,与文章的联系信息不同.有解决方案吗? (正在进行中的工作通过使用< address>作为作者的URL和名称)

请在评论中提问.我会更多地了解这篇文章.

解决方法

如果你问我哪个标记用于博客文章( OP’s context)的链接列表,没有看到你的例子,我会去这样的东西:
<body itemscope itemtype="http://schema.org/WebPage">

<ul>
  <li>
    <cite itemprop="citation" itemscope itemtype="http://schema.org/BlogPosting">
      <a href="…" itemprop="url" rel="external"><span itemprop="name headline">Hello World</span></a>,authored by <span itemprop="author" itemscope itemtype="http://schema.org/Person"><a href="…" itemprop="url" rel="external"><span itemprop="name">Alice</span></a></span>,posted on <span itemprop="isPartOf" itemscope itemtype="http://schema.org/CreativeWork"><a href="…" itemprop="url" rel="external"><span itemprop="name">Bob’s blog</span></a></span>.
    </cite>
  </li>
  <li>
    <cite itemprop="citation" itemscope itemtype="http://schema.org/BlogPosting">…</cite>
  </li>
</ul>

</body>

使用分段内容元素article,就像你的例子一样,当然是可能的,虽然也许是不寻常的(如果我正确地理解你的用例):由于文章是一个分段的内容元素,它在文档大纲中创建一个条目,它可能或可能不是你想要的情况. (例如,可以check the outline with the HTML5 Outliner)

另一个迹象表明,分段内容元素可能不是最佳选择:您的文章不包含任何实际的“主”内容.简单地说,分割内容元素的主要内容可以通过剥离其元数据来确定:页眉,页脚和地址元素. (这不是明确指定的,而是从0703的定义开始)

但是,没有这个内容没有错.你可以很容易地想象(也许你打算这么做),你会引用博客帖子(这个案例similar to a search result entry)的代码段,在这种情况下你会有:

<article>
  <header></header>
  <blockquote></blockquote> <!-- the non-Metadata part of the article -->
  <footer></footer>
</article>

我会进一步假设你想使用文章.

关于您的HTML5的注意事项

>语义上,不需要包装div.您可以直接向文章添加引文类.
> header elementoptional if it just contains a heading element(当你的标题不仅仅是一个标题元素时,这个元素很有意义).不过,当然没有错.
>我更喜欢在cite element中包含一个元素(类似于规范中的第五个例子).
> span元素只能包含phrasing content,所以地址不能作为一个小孩使用.
> address element必须包含联系信息才能使用.所以如果这个元素是合适的取决于链接页面上可用的内容:如果它是一个联系表单,是的;如果它是一个创作的博客文章的列表,不.
> author link type可能不合适,因为它被定义为提供关于article元素的作者的信息.但严格来说,你是作者.如果文章仅由博客作者的实际内容组成,则使用作者链接类型将是适当的;但在您的情况下,您正在撰写内容(“由…创作”,“张贴在”上).
>您可能希望使用external link type all external links.

关于您的Microdata的注意事项:

>您可以指定Schema.org属性标题名称in the same itemprop (separated with space).
>您可能需要在文章中使用Schema.org的citation property(这要求您指定CreativeWork父类型或其子类型之一;即,您的情况下可能为WebPage或甚至为AboutPage).

以你的榜样,这将给出:

<body itemscope itemtype="http://schema.org/WebPage">

<article itemprop="citation" itemscope itemtype="http://schema.org/BlogPosting" class="citation">
    <header>
      <h1>
          <cite itemprop="headline name"><a itemprop="url" href="…" rel="external">Hello World</a></cite>
      </h1>
    </header>
    <footer>
      authored by
      <span itemprop="author" itemscope itemtype="http://schema.org/Person">
          <a itemprop="url" href="…" rel="external"><span itemprop="name">Alice</span></a>
      </span>
      posted on
      <span itemprop="isPartOf" itemscope itemtype="http://schema.org/Blog">
        <a itemprop="url" href="…" rel="external"><span itemprop="name">Bob’s blog</span></a>
      </span>
    </footer>
</article>

</body>

(所有考虑的事情,我仍然喜欢无断面的变体.)

猜你在找的HTML相关文章