Blog using JSON-LD
A blog.
-Schema.org/Blog
Blog uses
There are lots of uncertancies of how you use Blog right. The way I see it is using it on your domain.com only.
Why? Kinda simple as you cant use breadcrumbs on schema.org/Blog. That only make sense on "root". It also only have one property, and that is a posting or several postings.
- blogPost
- A posting that is part of this blog. Supersedes blogPosts.
Minimal Code Example
<script type="application/ld+json">{
"@context": "http://schema.org",
"@type": "Blog",
"name": "Blog name",
"url": "https://example.com",
"description": "Same as meta description",
"sameAs": [
"https://facebook.com/BlogPage",
"https://plus.google/BlogPage"
],
"publisher": {
"@type": "Organization",
"name": "Blog Name"
}
}</script>
And that is a basic blog. The sameAs is how you tell search engines you have social media sites.
Advanced Code Example
<script type="application/ld+json">{
"@context": "http://schema.org",
"@type": "Blog",
"name": "Blog name",
"url": "https://example.com",
"description": "Same as meta description",
"publisher": {
"@type": "Organization",
"name": "Blog Name"
},
"sameAs": [
"https://facebook.com/BlogPage",
"https://plus.google/BlogPage"
],
"potentialAction": {
"@type": "SearchAction",
"target": "https://example.com/search.php?q={search_term}",
"query-input": "required name=search_term"
},
"blogPosts": [
{
"@type": "blogPosting",
"mainEntityOfPage": "https://example.com/posts/blog-one.html",
"headline": "Awesome First Post",
"author": "Author Name",
"datePublished": "10 May, 2016",
"dateModified": "10 May, 2016",
"image": {
"@type": "imageObject",
"url": "https://example.com/image/post-one-thumbnail.jpg",
"height": "200",
"width": "400"
},
"publisher": {
"@type": "Organization",
"name": "Blog name",
"logo": {
"@type": "imageObject",
"url": "https://example.com/logo.png"
}
}
},
{
"@type": "blogPosting",
"mainEntityOfPage": "https://example.com/posts/blog-two.html",
"headline": "Nice followup post",
"author": "Author Name",
"datePublished": "14 May, 2016",
"dateModified": "14 May, 2016",
"image": {
"@type": "imageObject",
"url": "https://example.com/image/post-two-thumbnail.jpg",
"height": "200",
"width": "400"
},
"publisher": {
"@type": "Organization",
"name": "Blog name",
"logo": {
"@type": "imageObject",
"url": "https://example.com/logo.png"
}
}
}
]
}</script>
Advanced JSON-LD markup explained
This is a monster. You told search engines your site have:
- A blog.
- Possibilities to search on your site.
- A few blog posts.
- Social Media presence
There are still rooms to improve. Like adding "@type" Person to author and so on. But the posts will also have author tags. But as you see with just 2 posts, it get very long. This is just the minimal as a link to the main post. The picture is the thumbnail to the post.
If you want to add stuff, add things to th main Blog, like adding one or more editors, modified/published dates or maybe even "copyrightYear".
Notice no url or "@id", but mainEntityOfPage.
Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See background notes for details.
schema.org/mainEntityOfPage
If you have other toughts or impressions, please share them :)