Article, NewsArticle, BlogPosting) structured dataAdding Article structured data to your news, blog, and sports
article pages can help Google understand more about the web page and show better title text,
images, and date information
for the article in search results on Google Search and other properties
(for example, Google News and the Google Assistant).
While there's no markup requirement to be eligible for Google News
features like Top stories,
you can add Article to more explicitly tell Google what your content is
about (for example, that it's a news article, who the author is, or what the title of the article is).
Here's an example of a page with Article structured data.
<html>
<head>
<title>Title of a News Article</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Title of a News Article",
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"datePublished": "2024-01-05T08:00:00+08:00",
"dateModified": "2024-02-05T09:20:00+08:00",
"author": [{
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/profile/janedoe123"
},{
"@type": "Person",
"name": "John Doe",
"url": "https://example.com/profile/johndoe123"
}]
}
</script>
</head>
<body>
</body>
</html><html>
<head>
<title>Title of a News Article</title>
</head>
<body>
<div itemscope itemtype="https://schema.org/NewsArticle">
<div itemprop="headline">Title of News Article</div>
<meta itemprop="image" content="https://example.com/photos/1x1/photo.jpg" />
<meta itemprop="image" content="https://example.com/photos/4x3/photo.jpg" />
<img itemprop="image" src="https://example.com/photos/16x9/photo.jpg" />
<div>
<span itemprop="datePublished" content="2024-01-05T08:00:00+08:00">
January 5, 2024 at 8:00am
</span>
(last modified
<span itemprop="dateModified" content="2024-02-05T09:20:00+08:00">
February 5, 2024 at 9:20am
</span>
)
</div>
<div>
by
<span itemprop="author" itemscope itemtype="https://schema.org/Person">
<a itemprop="url" href="https://example.com/profile/janedoe123">
<span itemprop="name">Jane Doe</span>
</a>
</span>
and
<span itemprop="author" itemscope itemtype="https://schema.org/Person">
<a itemprop="url" href="https://example.com/profile/johndoe123">
<span itemprop="name">John Doe</span>
</a>
</span>
</div>
</div>
</body>
</html>Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
Here's an overview of how to build, test, and release structured data.
noindex tag, or
login requirements. If the page looks okay, you can
ask Google to recrawl your URLs.
You must follow these guidelines to enable structured data to be eligible for inclusion in Google Search results.
rel=canonical points at either
each individual page or a "view-all" page (and not to page 1 of a multi-part series). Learn
more about canonicalization.To help Google better understand your page, include as many recommended properties that apply to your web page. There are no required properties; instead, add the properties that apply to your content.
Article objectsArticle objects must be based on one of the following
schema.org types: Article,
NewsArticle, BlogPosting.
The Google-supported properties are the following:
authorThe author of the article. To help Google best understand authors across various features, we recommend following the author markup best practices.
author.nameThe name of the author.
author.urlA link to a web page that uniquely identifies the author of the article. For example, the author's social media page, an "about me" page, or a bio page.
If the URL is an internal profile page, we recommend marking up that author using profile page structured data.
dateModifiedThe date and time the article was most recently modified, in ISO 8601 format. We recommend that you provide timezone information; otherwise, we will default to the timezone used by Googlebot.
Add the dateModified property if you want to provide more accurate date information to Google.
The Rich Results Test doesn't show a warning for this property,
as it's only recommended if you decide that it's applicable to your site.
datePublishedThe date and time the article was first published, in ISO 8601 format. We recommend that you provide timezone information; otherwise, we will default to the timezone used by Googlebot.
Add the datePublished property if you want to provide more
accurate date information to Google. The
Rich Results Test doesn't show a
warning for this property, as it's only recommended if you decide that it's applicable to your site.
headlineThe title of the article. Consider using a concise title, as long titles may be truncated on some devices.
imageRepeated ImageObject or URL
The URL to an image that is representative of the article. Use images that are relevant to the article, rather than logos or captions.
Additional image guidelines:
For example:
"image": [ "https://example.com/photos/1x1/photo.jpg", "https://example.com/photos/4x3/photo.jpg", "https://example.com/photos/16x9/photo.jpg" ]
To help Google best understand and represent the author of the content, we recommend following these best practices when specifying authors in markup:
| Best practices for author markup | |
|---|---|
Include all authors in the markup |
Make sure that all the authors that are presented as authors on the web page are also included in markup. |
Specifying multiple authors |
When specifying multiple authors, list each author in their own "author": [
{"name": "Willow Lane"},
{"name": "Regula Felix"}
]
Don't merge multiple authors in the same "author": {
"name": "Willow Lane, Regula Felix"
} |
Use additional fields |
To help Google better understand who the author is, we strongly recommend using the
For example, if the author is a person, you could link to an author's page that provides more information about the author: "author": [ { "@type": "Person", "name": "Willow Lane", "url": "https://www.example.com/staff/willow_lane" } ] If the author is an organization, you could link to the organization's home page. "author": [ { "@type":"Organization", "name": "Some News Agency", "url": "https://www.example.com/" } ] |
Only specify the author's name in the |
In the
"author": [ { "@type": "Person", "name": "Echidna Jones", "honorificPrefix": "Dr", "jobTitle": "Editor in Chief" } ], "publisher": [ { "@type": "Organization", "name": "Bugs Daily" } ] } |
Use the appropriate |
Use the |
Here's an example that applies the author markup best practices:
"author": [ { "@type": "Person", "name": "Willow Lane", "jobTitle": "Journalist", "url": "https://www.example.com/staff/willow-lane" }, { "@type": "Person", "name": "Echidna Jones", "jobTitle": "Editor in Chief", "url": "https://www.example.com/staff/echidna-jones" } ], "publisher": { "@type": "Organization", "name": "The Daily Bug", "url": "https://www.example.com" }, // + Other fields related to the article... }
If you're having trouble implementing or debugging structured data, here are some resources that may help you.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-09-08 UTC.