BlogPosting is a subtype of Article (via SocialMediaPosting) intended for blog entries. Google documents it alongside Article and NewsArticle and handles it the same way. For a SaaS company blog, it is usually the most accurate type to output from the post template, connecting each post to its author, publisher and site.
A practical BlogPosting block
Beyond Google's recommended Article properties, a few others help describe the post: publisher referencing the Organization, mainEntityOfPage pointing to the post URL, and description matching the post summary. Keep everything sourced from the same CMS fields that render the page.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Webhook retries explained",
"datePublished": "2026-05-20T08:00:00Z",
"author": { "@id": "https://www.drumlinworks.example/authors/li-wen/#person" },
"publisher": { "@id": "https://www.drumlinworks.example/#org" },
"image": "https://www.drumlinworks.example/img/webhooks.png",
"mainEntityOfPage": "https://www.drumlinworks.example/blog/webhook-retries"
}When to use Article instead
Not everything on a blog is a blog post in the editorial sense. Research reports, documentation and evergreen guides can use Article or TechArticle. The practical effect in Google is the same; the point is describing the content honestly, which helps any parser that does distinguish them.
Listing pages
Blog index and category pages are collections, not posts. Avoid outputting BlogPosting there. A CollectionPage with an ItemList of post URLs is the accurate description, though Google does not use it for a rich result on blog listings.
Example
Template-level implementation
A developer tools company, Drumlinworks, adds BlogPosting to its Next.js post template. The component reads frontmatter for title, date, author slug and cover image, references the author and publisher by @id, and runs in a CI check that validates the JSON on a sample of posts.
Common mistakes
Marking up the blog index as a BlogPosting
Listing pages hold many posts. Marking them as one post misdescribes the page.
Questions
No documented difference exists in Google. Choose the type that best describes the content.