BlogPosting Schema

Structured data for blog posts. A subtype of Article with more specific semantics. How to mark up a post for rich results.

In brief

BlogPosting is a structured data type from the schema.org vocabulary designed to mark up blog entries. It is a subtype of Article and is used to provide search engines with information about the headline, author, publication date, image, and other metadata of a blog post.

What Is BlogPosting

BlogPosting is a variation of the Article schema, specifically intended for blog posts. It includes all the main Article fields (headline, image, datePublished, author, etc.) but semantically describes content that is part of a blog (chronologically ordered entries, often with comments).

Google supports BlogPosting for display in Top stories carousels and standard search results with rich snippets (date, author, image).

When to Use

Use BlogPosting for:

  • Personal blogs and journals
  • Corporate blogs (company news, expert articles)
  • Niche blogs (cooking, tech, travel, etc.)

Choose a different type when:

  • NewsArticle — for news portals where timeliness matters (articles within 48 hours).
  • TechArticle — for technical documentation, tutorials, API references.
  • ScholarlyArticle — for scientific papers and academic publications.

JSON-LD Example

JSON
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "10 SEO Tips for Beginners",
  "image": "https://example.com/blog-image.jpg",
  "datePublished": "2024-01-15T08:00:00+03:00",
  "dateModified": "2024-01-15T08:00:00+03:00",
  "author": {
    "@type": "Person",
    "name": "John Smith"
  },
  "publisher": {
    "@type": "Organization",
    "name": "SEO Blog",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "description": "Practical SEO advice for beginners",
  "mainEntityOfPage": "https://example.com/blog/seo-tips"
}

Best Practices

  • Always include `datePublished` and `dateModified` (if updated).
  • Add `author` (Person or Organization) — this improves E‑E‑A‑T.
  • `publisher` must be an organisation with a valid logo (required for Top stories).
  • Images should be at least 696px wide for Google Discover articles.
  • Use `speakable` (for voice assistants) — optional but helpful.
  • Validate your markup using the Rich Results Test or Schema Validator.
BlogPosting combined with BreadcrumbList and a proper canonical helps Google understand your blog structure and increases chances for rich results.

Common questions

BlogPosting is a subtype of Article, so you can safely use BlogPosting instead of Article for blog posts. It is more specific.
Ideally yes, for each article. But if you have many pages, prioritise the most important and frequently updated ones.
Use Google’s Rich Results Test (it shows errors) and later check Search Console → Enhancements → Articles.
Google will ignore the faulty field or not show the rich result. Logo errors can disqualify the page from Top stories.
Yes, you can specify multiple types on one page using Graph or an array of @type, as long as they don’t conflict.
Direct contacts

Discuss your project?

Share your goals and website context — I will suggest a practical next step.

BlogPosting Schema — What is it?