Every calculation runs in your browser — nothing is uploaded Editorial policy About Contact
Developer

Article Schema: Every Property That Matters and Why

A property-by-property guide to Article and BlogPosting markup — what is required, what is recommended, and which optional fields are genuinely worth adding.

Article markup is the most widely implemented structured data type and among the most frequently incomplete. Here is what each property does and whether it earns its place.

#Choosing the type

Three options, all inheriting from Article:

BlogPosting — blog posts and editorial content. The right default for most sites.

NewsArticle — journalistic content. Required for Google News surfaces and Top Stories, and it carries additional expectations around publisher identity and editorial standards.

Article — the generic parent. Use when neither of the above fits precisely, such as documentation or research pieces.

Being more specific is generally better. BlogPosting tells a parser more than Article does.

#Required properties

headline — the article title. Keep it under 110 characters; Google may ignore longer values. It should match the visible <h1>, and a mismatch between markup and page is a policy issue.

image — required for rich result eligibility. Provide an array covering 16:9, 4:3 and 1:1 ratios, at a minimum width of 1200px. A single image satisfies the requirement; multiple ratios improve display across surfaces.

datePublished — ISO 8601, ideally with a timezone offset: 2026-06-11T09:00:00-05:00. Must match any visible date on the page.

dateModified — when the content last meaningfully changed. Only update it for substantive edits. Repeatedly bumping it on unchanged content to signal freshness is a pattern search engines detect and discount.

author — a nested Person object, not a string. Include name and, where you have one, url pointing to an author page:

"author": {
  "@type": "Person",
  "name": "Sam Whitaker",
  "url": "https://example.com/authors/sam-whitaker",
  "jobTitle": "Staff Engineer"
}

Author identity contributes to how expertise and authority are assessed. A named author with a real profile page is meaningfully better than a string, and considerably better than "Admin".

publisher — a nested Organization with name and a logo as an ImageObject. Required for Google News; recommended generally.

mainEntityOfPage — the canonical URL of the page this describes. Removes ambiguity about which URL the markup applies to, which matters on sites with parameters or pagination.

#Worth adding

description — a concise summary. Useful for machine consumers even though Google generally generates its own snippet.

articleSection — the category or section. Helps establish site structure and topical grouping.

keywords — a comma-separated list. Not a ranking signal, but it contributes to topical understanding for machine parsers.

wordCount and timeRequired — reading effort signals. timeRequired uses ISO 8601 duration format, e.g. PT8M.

inLanguage — a BCP 47 tag such as en-US. Genuinely important on multilingual sites.

isPartOf — links the article to a Blog or WebSite entity, strengthening site-level structure.

#Usually not worth it

articleBody — duplicating the entire article text in JSON-LD bloats the page for no established benefit. Search engines read the visible content.

speakable — limited support and narrow applicability.

copyrightHolder, license — only if genuinely relevant to your publishing model.

#A complete example

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Article Schema: Every Property That Matters",
  "description": "A property-by-property guide to Article markup.",
  "image": ["https://example.com/hero-16x9.jpg"],
  "datePublished": "2026-06-11T09:00:00-05:00",
  "dateModified": "2026-08-17T14:30:00-05:00",
  "author": {
    "@type": "Person",
    "name": "Sam Whitaker",
    "url": "https://example.com/authors/sam-whitaker"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Media",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://example.com/blog/article-schema/"
  },
  "articleSection": "Technical SEO",
  "wordCount": 1240,
  "inLanguage": "en-US"
}

Generate the shape with the schema markup generator, then implement it as a template so every post produces it automatically.

#Combining with other types

An article page frequently warrants several entities at once: the BlogPosting, a BreadcrumbList, and often an Organization and WebSite. Combine them in a @graph array with @id references linking them, rather than repeating the publisher object in each.

That structure keeps the payload small and makes the relationships explicit — which is precisely what a machine consumer needs.

#The mistakes to avoid

Headline not matching the visible H1. A mismatch is a policy issue and can trigger a manual action.

Author as a plain string. Valid but weak. Use a nested Person.

Fabricated dateModified. Bumping it without changing content is detected and discounted.

Missing publisher logo. Required for News surfaces and a common cause of ineligibility there.

Markup on pages that are not articles. Category listings and tag archives are not articles. Use CollectionPage instead.

Schema Markup GeneratorGenerate valid JSON-LD structured data for Article, FAQ, Product, LocalBusiness, HowTo, Recipe, Event and more. Rich-result ready and validated as you type.
Open the tool

Frequently asked questions

Should I use Article or BlogPosting?

BlogPosting for blog and editorial content, NewsArticle for journalism, and Article only when neither fits. More specific types convey more information to parsers.

Does dateModified affect rankings?

Not directly. It signals freshness, which can influence how content is surfaced for time-sensitive queries. Only update it for genuine substantive changes — repeatedly bumping it without editing is detected and discounted.

Do I need publisher markup on a personal blog?

It is recommended but not required outside Google News. On a personal site you can use an Organization representing the site, or a Person if you publish under your own name.