BlogPosting
is a more specific type of Article
, but Blog
isn’t.
Blog
is for the blog itself. It can make sense to use it only for the homepage of the blog, but it’s also possible to use it for every page of the blog. Wherever you use Blog
, if the page contains blog posts (or blog post teasers), you can use the blogPost
property to link the BlogPosting
items.
When you have a blog post, use BlogPosting
, not Article
. It’s a best practice to always use the most specific type for your case. Google mentions this in their technical guidelines, too:
Use the most specific applicable type and property names defined by schema.org for your markup.
Thanks to the type inheritance, conforming consumers will understand that a BlogPosting
is also a SocialMediaPosting
and an Article
and a CreativeWork
and a Thing
:
Thing
> CreativeWork
> Article
> SocialMediaPosting
> BlogPosting