In reference to the Blog schema, do I use Blog or BlogPosting in the @type field? I've seen examples of both.

The example below passes both Google's structured data test and the Structured Data Linter.

"@context": "http://schema.org/",
"@type": "Blog",
"headline": "<?=$title;?>",
"url": "<?=$page_url;?>",
"datePublished": "<?=$iso_date_published;?>",
"dateModified": "<?=$iso_date_edited;?>",
"author": "<?=$poster;?>",
"publisher": {
  "@type": "WebSite",
  "name": "News &amp; Opinion"
"description": "<?=$j_body;?>"

However if I change the @type to BlogPosting, then I get some errors about not including images etc.

What is the difference between Blog and BlogPosting? When would you use either of them?


You are writing an article in a blog so you should use the BlogPosting type, google guidelines explain it well, you can use the Blog type if you are in the homepage of your blog because the structured data refer to the blog and not the article.
If BlogPosting is giving you problem you can use the blogPost property of Blog

Not the answer you're looking for? Browse other questions tagged or ask your own question.