Search code examples
htmlseoblogsmicrodata

What microdata should I use for a blog?


The blog is basically a page that lists the summary of like 10 articles, each item title linking to the full article page.

I've seen:

Where do I use these?

Right now on the individual article page I have:

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

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

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

    ...

  </article>

Which is ok I guess, but what do I do on the article index page? Do I add these to each article and add itemscope itemtype="http://schema.org/Blog" itemprop="blogPosts" to the container element of all articles? Because in the docs it doesn't appear that article is a child of blog...


Solution

  • I agree with what others say that the subject is very vague. Never the less I will attempt to express my thoughts on the matter and show you how I'm doing it on my blog.

    I use both WebPage and Blog item types in the same document to mark up different things.

    Web page

    I use WebPage item type on the body tag (but you can also use any other parent of the breadcrumb). By doing so I can mark up my bread crumbs.

    <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 posts

    When I loop the blog posts I use the Blog item type on the wrapper that contains all of the blog articles. I mark every article with the property blogPosts and uses of course BlogPosting as item type.

    <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>
    

    Article page

    See edit below for an update to this opinion

    On the articles landing page I don't use the Blog item type. But I do mark the post as a BlogPosting item.

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

    The only reason I can see that you would wanna mark something with a Blog item type is because of the blogPosts properties and the fact to say that it is a blog. I think you fulfill saying that it's a blog by marking the article as a BlogPosting. I also don't think it's correct using the property in this context since this is used in a plural form. To me that reflect a different area of use.


    Edit

    I'm not sure if the schema has extended or if I missed it the first time around, but the Blog item has a property called blogPost now, that is the singular form blogPosts. So then I would say that it makes more sense to mark up the main element as the Blog item and use the blogPost property for the article and mark it up as a BlogPosting item