TechnicalSchema

Article Schema: BlogPosting, Authors and Dates

Article schema is structured data using the schema.org Article type, or its subtypes BlogPosting and NewsArticle, to describe an editorial page: its headline, author, images and publication dates. Google has no required properties for it and recommends seven, and it uses them to show better title text, images and dates in Search and other Google products. The parts worth getting right are the author, the dates and the choice of type.

This guide is for publishers, content teams and developers who run a blog or newsroom. It covers when to use each type, the properties Google documents, its author markup rules, how dates work, and a complete example. The author entity itself (the Person node and author page) is covered in depth in Person schema and author entities, so this page focuses on the article side of that link.

On this page

What is article schema?

Article schema is markup based on the schema.org Article type, “an article, such as a news article or piece of investigative report”. Schema.org’s usage figure for it, based on Google’s web index, is more than 10 million domains.

Google’s Article structured data documentation says that adding it to “news, blog, and sports article pages can help Google understand more about the web page and show better title text, images, and date information” in Search and other properties such as Google News. It also makes a point many guides skip: there’s “no markup requirement to be eligible for Google News features like Top stories”. Article markup clarifies; it doesn’t qualify you for anything on its own.

Google’s Article documentation is unusual in having no required properties. It asks you to add as many recommended properties as apply. That makes it easy to pass the Rich Results Test with thin markup, and easy to leave out the fields that matter most.

Article vs BlogPosting vs NewsArticle: which type should you use?

Use the most specific type that is honestly true. Google supports all three for its Article feature, and its documentation says Article objects “must be based on one of the following schema.org types: Article, NewsArticle, BlogPosting”. The diagram below shows how they relate.

Article, NewsArticle and BlogPosting in the schema.org hierarchy, and when to use each A hierarchy. CreativeWork leads to Article, used on more than 10 million domains according to schema.org. Article has two branches: NewsArticle, directly under Article, used on 100 thousand to 1 million domains, for content that reports news or provides background to understand the news; and SocialMediaPosting, which leads to BlogPosting, used on 1 to 10 million domains, for a blog post. Guidance under each: Article for guides, evergreen explainers and reference content; NewsArticle for dated news reporting; BlogPosting for posts in a blog section. A note says Google supports the same properties for all three. Three types, one Google feature Usage figures from schema.org, based on Google's web index (August 2026) CreativeWork Article 10M+ domains NewsArticle 100K to 1M domains BlogPosting via SocialMediaPosting; 1M to 10M Dated news reporting Article: guides, explainers, reference Posts in a blog section Google supports the same properties for all three.

Scroll the diagram sideways to see all of it.

Source: Ambeltek diagram based on the schema.org type pages for Article, NewsArticle and BlogPosting, and Google's Article structured data documentation.

Schema.org defines NewsArticle as “an article whose content reports news, or provides background context and supporting materials for understanding the news”, and BlogPosting simply as “a blog post”. In practice:

  • A post in your blog is a BlogPosting. That’s what most business blogs, including this one, should use.
  • A news report from a publisher is a NewsArticle. Marking a marketing post as news doesn’t make it news.
  • An evergreen guide or reference page outside a blog can be a plain Article.

There’s no evidence one subtype performs better than another in Google. Pick the true one and move on.

The properties Google recommends

Google recommends seven properties and requires none. Here they are with the rules from its documentation.

PropertyTypeGoogle’s rule
headlineTextConcise; long titles “may be truncated on some devices”
imageImageObject or URLRelevant to the article, not a logo; crawlable; ideally 16x9, 4x3 and 1x1, at least 50K pixels (width x height)
datePublishedDateTimeISO 8601, with timezone information
dateModifiedDateTimeISO 8601, with timezone information
authorPerson or OrganizationFollow the author markup best practices
author.nameTextThe name only
author.urlURLA page that uniquely identifies the author; sameAs also accepted

Two notes on the table. Google says the Rich Results Test “doesn’t show a warning” for missing dates, because they’re only recommended where they apply, so a clean test result can still be missing the dates you most need. And for images, Google specifically asks for pictures relevant to the article “rather than logos or captions”.

Google’s technical guidelines add two situations. For multi-part articles, rel=canonical should point to each individual page or a view-all page, not to page 1 of the series. For subscription or registration-gated content, Google suggests adding paywalled content markup as well.

Author markup best practices

Google’s documentation includes five author rules. They exist because author fields are where most article markup goes wrong. The diagram below shows the right and wrong versions.

Google's five author markup best practices, with wrong and right examples Five rows, each with a wrong example and a right example. One, include all authors: wrong, only the first of two visible bylines is marked up; right, every author shown on the page is in the markup. Two, one author per field: wrong, a single author named Willow Lane, Regula Felix; right, an array with each author in their own entry. Three, add type and url or sameAs: wrong, a bare name string; right, a Person with name and a url to their author page. Four, name only in author.name: wrong, Dr Echidna Jones, Editor in Chief; right, name Echidna Jones with honorificPrefix Dr and jobTitle Editor in Chief as separate properties. Five, use the right type: wrong, Organization for a person or Thing; right, Person for people and Organization for organizations. Five author rules from Google's Article docs Examples adapted from Google's own Rule Wrong Right 1 Include all authors Two bylines, one marked up Every visible author in the markup 2 One author per entry "name": "Willow Lane, Regula Felix" [ {"name": "Willow Lane"}, {"name": ...} ] 3 Add type and url "author": "Willow Lane" Person + url to the author page 4 Name only in name "Dr Echidna Jones, Editor in Chief" name + honorificPrefix + jobTitle 5 Use the right type Organization for a person, or Thing Person for people, Organization for orgs

Scroll the diagram sideways to see all of it.

Source: Ambeltek diagram based on the author markup best practices in Google's Article structured data documentation, which uses the example names shown.

The rule people break most is the fourth. Google says to put only the author’s name in author.name, and not the publisher’s name, a job title, an honorific prefix or suffix, or introductory words like “posted by”. Use publisher, jobTitle, honorificPrefix and honorificSuffix for those.

The third rule is where the article connects to the rest of your graph. Google’s docs say author.url should link to “a web page that uniquely identifies the author”, such as a social profile, an about page or a bio page, and that sameAs works as an alternative because “Google can understand both sameAs and url when disambiguating authors”. If that URL is your own author page, Google recommends marking it up with profile page structured data. The cleanest pattern is to describe each author once as a Person with a stable @id on their author page, and reference that @id from every article; the Person schema guide walks through it, and the sameAs guide covers which profiles to list.

Author markup describes authorship; it doesn’t create expertise. Google’s documentation of these rules is about helping it “understand and represent the author”, which supports the kind of attribution discussed in E-E-A-T. A real byline, a real author page and a body of work do the heavy lifting.

How should you handle datePublished and dateModified?

Include both, in ISO 8601 with a timezone, and keep them identical to the dates shown on the page. Google says that without timezone information it will “default to the timezone used by Googlebot”, and recommends both properties “if you want to provide more accurate date information to Google”.

Dates matter because Google reads dates from several places, not only your markup. The 2024 leak of Google’s internal API documentation, explained in iPullRank’s analysis, describes three kinds of date. The diagram below sets them side by side.

Three kinds of page date named in the 2024 Google API leak, and where each comes from Three columns. bylineDate, stored in modules including NlpSaftDocument: the explicitly set date on the page, which is where datePublished and the visible byline date belong. syntacticDate: a date extracted from the URL or the title. semanticDate, in PerDocData: a date derived from the content of the page. A bottom band says Google stores these attributes but the leak does not show how much they are weighted; the practical rule is to make the visible date, the markup date and any date in the URL or title agree. Your markup date is one of three signals Date attributes named in Google's leaked API documentation bylineDate The explicitly set date on the page Where your visible byline and datePublished belong syntacticDate Extracted from the URL or the title A /2019/ in the URL or a year in the title counts semanticDate Derived from the content of the page Dates and events the text itself refers to Google stores these attributes; the leak does not show how much they are weighted. Practical rule: the visible date, the markup date and any date in the URL or title should agree.

Scroll the diagram sideways to see all of it.

Source: Ambeltek diagram based on iPullRank's May 2024 analysis of the Google API leak and the attribute names in the leaked documentation.

The attribute names are exact: NlpSaftDocument.bylineDate, which the leaked documentation describes as the date “that will be shown in the snippets in web search results”; NlpSaftDocument.syntacticDate, a date “explicitly mentioned in the URL of the document or in the document title”; and PerDocData.semanticDate, “estimated date of the content of a document based on the contents of the document”. Google stores these attributes; the leak does not show how much they are weighted. Our Google leak explainer covers how to read attributes like these without overclaiming.

The practical rules follow from that:

  • Don’t bump dateModified for trivial edits. A new date on an unchanged article says something that isn’t true.
  • Update it when the content changes meaningfully, and show the updated date on the page too.
  • Avoid conflicting dates. A 2026 datePublished on a page whose URL contains /2019/ gives Google two answers.

A complete article schema example

Here’s a BlogPosting for a blog article, with the author and publisher referenced by @id so they’re described once elsewhere on the site. Replace the values with your own.

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "@id": "https://example.com/blog/cast-iron-care/#article",
  "mainEntityOfPage": "https://example.com/blog/cast-iron-care/",
  "headline": "How to Care for a Cast Iron Skillet",
  "image": [
    "https://example.com/img/cast-iron-care-1x1.jpg",
    "https://example.com/img/cast-iron-care-4x3.jpg",
    "https://example.com/img/cast-iron-care-16x9.jpg"
  ],
  "datePublished": "2026-09-22T08:00:00-05:00",
  "dateModified": "2026-09-22T08:00:00-05:00",
  "author": [
    {
      "@type": "Person",
      "@id": "https://example.com/authors/willow-lane/#person",
      "name": "Willow Lane",
      "url": "https://example.com/authors/willow-lane/"
    }
  ],
  "publisher": { "@id": "https://example.com/#organization" }
}

The author entry carries @type, name and url inline so Google’s recommended fields are present even if a consumer doesn’t follow the @id. The publisher points at the organization node described in Organization schema. If JSON-LD referencing is new to you, the JSON-LD guide explains how @id connects the pieces.

What article schema does for AI search

Article schema gives any system reading the page three facts it would otherwise have to infer: who wrote it, when, and what it is. No AI provider has published how it weighs that markup, so treat it as clarity, not a citation lever.

The facts it declares do matter for attribution. An answer engine choosing between two similar passages can more easily trust one with a named, identifiable author and a clear date. That’s why the author link to a real Person, and a date that agrees with the page, are worth more than extra properties. Structured data for AI search covers where Article fits among the other types.

Getting article schema right across your content

Article schema belongs in your blog template, generated from the same fields that render the byline, title, date and hero image. Hand-maintained article markup drifts within weeks.

A template checklist:

  1. Pick the type once per template: BlogPosting for the blog, NewsArticle only for news.
  2. Fill all seven recommended properties from real page data, even though none is required.
  3. Reference authors by @id from their author pages, and include every visible author.
  4. Output dates in ISO 8601 with a timezone, matching the visible dates, and change dateModified only for real updates.
  5. Provide three image ratios where you can, and never a logo as the article image.
  6. Test one post per template in the Rich Results Test and the Schema Markup Validator after each release.

If your blog platform outputs thin or conflicting article markup, or authors appear as plain text rather than entities, our schema markup service rebuilds the article, author and publisher graph from your content data and tests it against the rendered pages.

Frequently asked questions

What is article schema?

Article schema is structured data using the schema.org Article type, or its subtypes NewsArticle and BlogPosting, to describe an editorial page: its headline, author, images and publication dates. Google uses it to understand the page and to show better title text, images and date information in Search and products such as Google News.

What is the difference between an article schema and a blog post schema?

BlogPosting is a more specific subtype of Article meant for blog posts, and NewsArticle is the subtype for news reporting. Google treats all three the same way for its Article feature and supports the same properties. Use the most specific type that honestly describes the page.

What properties are required for Article schema?

None. Google's documentation says there are no required properties for Article structured data and recommends adding the ones that apply: author, author.name, author.url, datePublished, dateModified, headline and image.

How should I mark up the author in Article schema?

Use a Person for a person and an Organization for an organization, give each author their own entry, put only the name in author.name, and add a url or sameAs that uniquely identifies them, such as an author page. Do not put job titles, honorifics or words like posted by in the name.

Should I include dateModified in Article schema?

Yes, when the article has been meaningfully updated. Google recommends dateModified and datePublished in ISO 8601 format with timezone information. Keep the dates consistent with the dates shown on the page, and do not change dateModified for trivial edits.

Do I need Article schema to appear in Top stories?

No. Google says there is no markup requirement to be eligible for Google News features like Top stories. Article markup helps Google understand the content more explicitly, such as who wrote it and what the headline is, but it is not a ticket into those features.

OK

Olga Kunger

Founder & Lead Strategist, Ambeltek

Olga leads Ambeltek's web development, AI SEO, and GEO work — helping brands rank on Google and get cited by AI engines. More about Olga →

Want structured data that engines trust?

We audit, design and ship connected JSON-LD for your whole site, validated and monitored.