我应该为博客使用什么微数据?

时间:2012-01-14 22:50:18

标签: html seo blogs microdata

博客基本上是一个页面,其中列出了10篇文章的摘要,每个项目标题都链接到完整的文章页面。

我见过:

我在哪里使用这些?

现在,我在单个文章页面上:

  <article itemscope itemtype="http://schema.org/Article">       

    <h1 itemprop="name"> <a href="..."> A title...  </a> </h1>    

    <div itemprop="articleBody">
       bla bla
    </div>

    ...

  </article>

我想这是可以的,但我在文章索引页面上该怎么办?我是否将这些添加到每篇文章中并将itemscope itemtype="http://schema.org/Blog" itemprop="blogPosts"添加到所有文章的容器元素中?因为在文档中看起来文章似乎不是博客的孩子......

5 个答案:

答案 0 :(得分:41)

我同意其他人所说的主题非常模糊。我会尝试表达我对此事的看法,并告诉你我是如何在我的博客上做的。

我在同一文档中同时使用WebPageBlog项目类型来标记不同的内容。

网页

我在body标签上使用WebPage项类型。通过这样做,我可以标记我的面包屑。

<body itemscope itemtype="http://schema.org/WebPage">
  <ul itemprop="breadcrumb">
    <li>
      <a href="foo">foo</a> 
    </li>

    <li>
      <a href="foo/bar">bar</a>
    </li>

    <li>
      <a href="foo/bar/baz">baz</a>
    </li>
  </ul>

    ...

</body>

Blog postes

当我循环博客文章时,我在包含所有博客文章的包装器上使用Blog项类型。我使用属性blogPostes标记每篇文章,并使用课程BlogPosting作为项目类型。

<section itemscope itemtype="http://schema.org/Blog">
  <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
    ...
  </article>

  <article itemprop="blogPosts" itemscope itemtype="http://schema.org/BlogPosting">
    ...
  </article>

  ...

</section>

文章页面

请参阅下面的修改以了解此观点的更新

在文章登录页面上,我使用Blog项目类型。但我确实将帖子标记为BlogPosting项目。

<article itemscope itemtype="http://schema.org/BlogPosting">
  ...
</article>

我可以看到你想要用Blog项目类型标记某些内容的唯一原因是因为blogPostes属性以及说它是博客的事实。我认为你通过将文章标记为BlogPosting来表示它是一个博客。 我也不认为在这种情况下使用该属性是正确的,因为它以复数形式使用。对我而言反映了不同的使用领域。


修改

我不确定架构是否已扩展,或者我是否第一次错过了架构,但Blog项目现在有一个名为blogPost的属性,即单数形式{{1 }}。那么我会说将主要元素标记为Blog项更有意义,并使用文章的blogPosts属性并将其标记为BlogPosting

答案 1 :(得分:7)

我会将http://schema.org/WebPage用于您的所有页面,因为这样可以定义面包屑/导航等内容,这些内容对于描述网站非常重要,无论特定内容如何。

微数据模式中仍然需要做很多工作,你已经指出了什么似乎是一个差距 - 文章和我能看到的任何其他东西之间没有父/子关系(例如'Articleindex'或“文章”。

我还没有真正阅读任何表明这个父级子层次结构非常重要的东西,除非父母表达了重要的传达属性,所以我认为你可以侥幸逃脱。

但是,您还没有提到“文章”的内容类型。如果他们更具新闻性或官方性(如新闻文章,研究论文等),我会为每篇文章使用http://schema.org/Article而不用担心文章索引页面。否则,请为每个人使用http://schema.org/Blog http://schema.org/BlogPosting。

答案 2 :(得分:6)

文章和博客模式描述现在非常模糊,将来可能会发生变化,但我相信博客模式与博客相关性更高一些(甚至隐含在文章架构描述中)在“More specific types”下面的页面下方。

因此,您可以首先使用更高级别的架构定义主博客页面:

<!DOCTYPE html itemscope itemtype="http://schema.org/Blog">
<meta itemprop="creator" content="Creator of the blog">
<meta itemprop="name" content="Title of your Blog">
<meta itemprop="description" content="Description of your blog">
<meta itemprop="image" content="http://www.yourblog.com/main/image/pic.gif">

您可以使用二级博客架构BlogPosting定义博客页面,并定义相应的项目属性,如下所示:

<!DOCTYPE html itemscope itemtype="http://schema.org/BlogPosting">
<meta itemprop="author" content="Author of your blog">
<meta itemprop="name" content="Title of your content">
<meta itemprop="description" content="Description of your post">
<meta itemprop="image" content="http://www.yourblog.com/post/image/pic.gif">

Urghh,复杂:P,您可以使用一百万个属性,但只关注最重要的属性。

答案 3 :(得分:2)

糟糕!这段代码错了!

<!DOCTYPE html itemscope itemtype="http://schema.org/Blog">

您应该使用以下代码:

<!DOCTYPE html>

而不是:

<!DOCTYPE html itemscope itemtype="http://schema.org/Blog">

当我们声明博客的类型时,我们可以在body标签中添加它:

<body itemscope='' itemtype='http://schema.org/Blog'>

在本节的内部,我们可以使用“Itemprop”作为itemtype的属性 我们谈论的是网站的类型,而不是网站的基本语言。

答案 4 :(得分:1)

以下是使用

的其他重要项目范围

Person

的示例
<div itemscope itemtype="http://schema.org/Person">
     <span itemprop="name">Mahdi Maghrooni</span>
     <img src="http://maghrooni.ir/img/users/FCwNdpWQKGQqiZphN6rj2YuHY3bXrF.jpg" itemprop="image" alt="Maghrooni" />
</div>