Article structured data documentation

491 lines
-257 Removals
273 lines
+37 Additions
Article
Article
Adding Article structured data to your news, blog, and sports article page can enhance your appearance in Google Search results. Your page may be eligible for different features depending on how you code your page:
Adding 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).
Article rich result
AMP with structured data: AMP pages with structured data can appear in the Top stories carousel, host carousel of rich results, Visual stories, and rich results in mobile Search results. These results can include images, page logos, and other interesting search result features.
Example
Non-AMP web page with structured data: Non-AMP pages that include Article structured data can help Google understand more about the web page and show better title text, images, and date published for the article in Article rich results.
By structuring your content according to this guide, your content may be automatically turned into an Action on the Google Assistant.
Examples
Here's an example of JSON-LD code on an AMP page with Article structured data.
Here's an example of a page with Article structured data.
<html amp>
<head>
<title>Article headline</title>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://google.com/article"
},
"headline": "Article headline",
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
],
"datePublished": "2015-02-05T08:00:00+08:00",
"dateModified": "2015-02-05T09:20:00+08:00",
"author": {
"@type": "Person",
"name": "John Doe",
"url": "http://example.com/profile/johndoe123"
},
"publisher": {
"@type": "Organization",
"name": "Google",
"logo": {
"@type": "ImageObject",
"url": "https://google.com/logo.jpg"
}
}
}
</script>
</head>
<body>
</body>
</html>
Here's an example of a non-AMP page with Article structured data. Non-AMP pages have different recommendations than AMP pages.
<html>
<html>
<head>
<head>
<title>Article headline</title>
<title>Title of a News Article</title>
<script type="application/ld+json">
<script type="application/ld+json">
{
{
"@context": "https://schema.org",
"@context": "https://schema.org",
"@type": "NewsArticle",
"@type": "NewsArticle",
"headline": "Article headline",
"headline": "Title of a News Article",
"image": [
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
"https://example.com/photos/16x9/photo.jpg"
],
],
"datePublished": "2015-02-05T08:00:00+08:00",
"datePublished": "2015-02-05T08:00:00+08:00",
"dateModified": "2015-02-05T09:20:00+08:00",
"dateModified": "2015-02-05T09:20:00+08:00",
"author": [{
"author": [{
"@type": "Person",
"@type": "Person",
"name": "Jane Doe",
"name": "Jane Doe",
"url": "http://example.com/profile/janedoe123"
"url": "http://example.com/profile/janedoe123"
},{
},{
"@type": "Person",
"@type": "Person",
"name": "John Doe",
"name": "John Doe",
"url": "http://example.com/profile/johndoe123"
"url": "http://example.com/profile/johndoe123"
}]
}]
}
}
</script>
</script>
</head>
</head>
<body>
<body>
</body>
</body>
</html>
</html>
Implementation
How to add structured data
AMP with structured data
Note: The actual appearance in search results might be different. You can preview most features with the Rich Results Test.
A carousel of AMP results for a news article.
AMP pages that have structured data can appear in a carousel of stories in search results. Without structured data, AMP pages may only appear as standard blue links in Google Search results. For more information about AMP in search results, see About AMP on Google Search.
To create an AMP page with structured data:
Follow the AMP Project specifications.
Follow the additional page guidelines to ensure that Google can crawl your page.
Add a structured data element describing the article on the page.
If you have AMP and non-AMP versions of a page for the same content, we recommend placing the same structured data on all versions, not just on the canonical page. For more information on placement, see the Structured Data General Guidelines.
Test your structured data using the Rich Results Test.
Non-AMP page with structured data
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.
A non-AMP page with Article structured data in search results
When you add Article structured data to a non-AMP page, you can better suggest the right title, date published, and image that Google should show in Search results.
Here's an overview of how to build, test, and release structured data. For a step-by-step guide on how to add structured data to a web page, check out the structured data codelab.
To add structured data to your non-AMP article page:
Add the required properties. Based on the format you're using, learn where to insert structured data on the page.
Using a CMS? It may be easier to use a plugin that's integrated into your CMS.
Add a structured data element to your page, describing the article on the page.
Using JavaScript? Learn how to generate structured data with JavaScript.
Read the guidelines to ensure that Google can crawl your page.
Follow the guidelines.
Test your structured data using the Rich Results Test.
Validate your code using the Rich Results Test.
Deploy a few pages that include your structured data and use the URL Inspection tool to test how Google sees the page. Be sure that your page is accessible to Google and not blocked by a robots.txt file, the noindex tag, or login requirements. If the page looks okay, you can ask Google to recrawl your URLs.
Note: Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it.
To keep Google informed of future changes, we recommend that you submit a sitemap. You can automate this with the Search Console Sitemap API.
Guidelines
Guidelines
You must follow these guidelines to enable structured data to be eligible for inclusion in Google Search results.
You must follow these guidelines to enable structured data to be eligible for inclusion in Google Search results.
Warning: If your site violates one or more of these guidelines, then Google may take manual action against it. Once you have remedied the problem, you can submit your site for reconsideration.
Warning: If your site violates one or more of these guidelines, then Google may take manual action against it. Once you have remedied the problem, you can submit your site for reconsideration.
Webmaster guidelines
Webmaster guidelines
General structured data guidelines
General structured data guidelines
Technical guidelines
Technical guidelines
AMP logo guidelines (if applicable)
AMP story metadata requirements (if applicable)
Technical guidelines
Technical guidelines
If you offer subscription-based access to your website content, or if users must register for access, consider adding structured data for subscription and paywalled content.
If you offer subscription-based access to your website content, or if users must register for access, consider adding structured data for subscription and paywalled content.
For multi-part content, make sure that the 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.
For multi-part articles, make sure that the 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.
AMP logo guidelines
Note: These logo guidelines apply to the Article structured data placed on individual AMP pages. For guidelines about the Logo markup that apply to the actual logo of a site, see the Logo markup documentation.
The following guidelines apply to logos for all AMP pages, including AMP stories.
The file format must be supported by Google Images.
Don't use animation.
The graphic part of the logo should be legible on the background color.
The following guidelines apply to logos used for general AMP pages, not AMP stories. There are different logo requirements for AMP stories.
The logo must be a rectangle, not a square.
The logo should fit in a 60x600px rectangle, and either be exactly 60px high (preferred), or exactly 600px wide. For example, 450x45px would not be acceptable, even though it fits within the 600x60px rectangle.
Diagram showing the width and height requirements of a logo
Publishers should use only one logo per brand that is consistent across general AMP pages.
Use full wordmark or full logo; not an icon.
The text in word-based logos should be at most 48px tall and centered vertically within the 60px image height. Add additional space to pad the height to 60px.
Diagram showing the positioning of potential text within a logo
Logos with a solid background should include 6px minimum padding around the graphic.
Structured data type definitions
Structured data type definitions
The following section describes the property requirements for Article structured data. AMP and non-AMP pages have different property requirements and recommendations:
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.
For AMP pages: You must include the required properties for your content to be eligible for display as a rich result. You can also include the recommended properties to add more information about your content, which could provide a better user experience.
For non-AMP pages: To help Google understand your page better, include the recommended properties for non-AMP pages.
Article objects
Article objects
Article objects must be based on one of the following schema.org types: Article, NewsArticle, BlogPosting.
Article objects must be based on one of the following schema.org types: Article, NewsArticle, BlogPosting.
The following properties apply to AMP pages.
Required properties
author
Person or Organization
The author of the article. To help Google best understand authors across various features, we recommend following the author markup best practices.
If there are multiple authors, specify them in an array:
"author": [{
"@type": "Person",
"name": "Jane Doe",
"url": "http://example.com/profile/janedoe123"
},{
"@type": "Person",
"name": "John Doe",
"url": "http://example.com/profile/johndoe123"
}]
author.name
Text
The name of the author.
datePublished
DateTime
The date and time the article was first published, in ISO 8601 format.
Best practices:
The date shouldn't change over time.
We recommend including the hour information in addition to the day in the timestamp.
The value for dateModified should be more recent than the value for datePublished.
headline
Text
The title of the article. The value should not exceed 110 characters. For AMP stories, the title should match the text in the first cover page in the AMP Story.
image
Repeated property of ImageObject or URL
The URL to an image that is representative of the article or AMP story.
Due to format differences in search results, the following image guidelines only apply to general AMP pages, not AMP stories. AMP stories have different requirements for images.
Only a marked-up image that directly belongs to the article should be specified.
Images should be at least 1200 pixels wide.
Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
Image URLs must be crawlable and indexable.
Images must represent the marked up content.
The file format must be supported by Google Images.
For best results, provide multiple high-resolution images (minimum of 800,000 pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.
For example:
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
]
}
publisher
Organization
The publisher of the article.
publisher.logo
URL or ImageObject
The logo of the publisher. See the AMP logo guidelines for image content details.
If you use the ImageObject type, set the url field to the URL of the logo.
For example:
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"publisher": {
"@type": "Organization",
"name": "Google",
"logo": {
"@type": "ImageObject",
"url": "https://google.com/logo.jpg"
}
}
}
Here's an example using the URL type:
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"publisher": {
"@type": "Organization",
"name": "Google",
"logo": "https://google.com/logo.jpg"
}
}
publisher.name
Text
The name of the publisher.
Recommended properties
author.url
URL
A 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.
You can use the sameAs property as an alternative. Google can understand both sameAs and url when disambiguating authors.
dateModified
DateTime
The date and time the article was most recently modified, in ISO 8601 format.
mainEntityOfPage
URL
The canonical URL of the article page. Specify mainEntityOfPage when the article is the primary topic of the article page.
The following properties apply to non-AMP pages.
Recommended properties
Recommended properties
author
author
Person or Organization
Person or Organization
The author of the article. To help Google best understand authors across various features, we recommend following the author markup best practices.
The author of the article. To help Google best understand authors across various features, we recommend following the author markup best practices.
author.name
author.name
Text
Text
The name of the author.
The name of the author.
author.url
author.url
URL
URL
A 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.
A 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.
You can use the sameAs property as an alternative. Google can understand both sameAs and url when disambiguating authors.
You can use the sameAs property as an alternative. Google can understand both sameAs and url when disambiguating authors.
dateModified
dateModified
DateTime
DateTime
The date and time the article was most recently modified, in ISO 8601 format.
The date and time the article was most recently modified, in ISO 8601 format.
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.
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.
datePublished
datePublished
DateTime
DateTime
The date and time the article was first published, in ISO 8601 format.
The date and time the article was first published, in ISO 8601 format.
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.
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.
headline
headline
Text
Text
The title of the article. The value should not exceed 110 characters.
The title of the article. The value should not exceed 110 characters.
image
image
Repeated ImageObject or URL
Repeated ImageObject or URL
The URL to an image that is representative of the article. Only a marked-up image that directly belongs to the article should be specified. Images should be at least 696 pixels wide.
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:
Additional image guidelines:
Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
Every page must contain at least one image (whether or not you include markup). Google will pick the best image to display in Search results based on the aspect ratio and resolution.
Image URLs must be crawlable and indexable.
Image URLs must be crawlable and indexable. To check if Google can access your URLs, use the URL Inspection tool.
Images must represent the marked up content.
Images must represent the marked up content.
Images must be in a file format that's supported by Google Images.
Images must be in a file format that's supported by Google Images.
For best results, provide multiple high-resolution images (minimum of 300,000 pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.
For best results, provide multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.
For example:
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
]
For example:
For example:
{
{
"@context": "https://schema.org",
"@context": "https://schema.org",
"@type": "NewsArticle",
"@type": "NewsArticle",
"image": [
"image": [
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/1x1/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/4x3/photo.jpg",
"https://example.com/photos/16x9/photo.jpg"
"https://example.com/photos/16x9/photo.jpg"
]
]
}
}
Author markup best practices
Author markup best practices
To help Google best understand and represent the author of the content, we recommend following these best practices when specifying authors in markup:
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
Best practices for author markup
Include all authors in the 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.
Make sure that all the authors that are presented as authors on the web page are also included in markup.
Specifying multiple authors
Specifying multiple authors
When specifying multiple authors, list each author in their own author field:
When specifying multiple authors, list each author in their own author field:
"author": [
"author": [
{"name": "Willow Lane"},
{"name": "Willow Lane"},
{"name": "Regula Felix"}
{"name": "Regula Felix"}
]
]
Don't merge multiple authors in the same author field:
Don't merge multiple authors in the same author field:
"author": {
"author": {
"name": "Willow Lane, Regula Felix"
"name": "Willow Lane, Regula Felix"
}
}
Use additional fields
Use additional fields
To help Google better understand who the author is, we strongly recommend using the type and url (or sameAs) properties. Use valid URLs for the url or sameAs properties.
To help Google better understand who the author is, we strongly recommend using the type and url (or sameAs) properties. Use valid URLs for the url or sameAs properties.
For example, if the author is a person, you could link to an author's page that provides more information about the author:
For example, if the author is a person, you could link to an author's page that provides more information about the author:
"author": [
"author": [
{
{
"@type": "Person",
"@type": "Person",
"name": "Willow Lane",
"name": "Willow Lane",
"url": "http://www.example.com/staff/willow_lane"
"url": "http://www.example.com/staff/willow_lane"
}
}
]
]
If the author is an organization, you could link to the organization's home page.
If the author is an organization, you could link to the organization's home page.
"author":
"author":
[
[
{
{
"@type":"Organization",
"@type":"Organization",
"name": "Some News Agency",
"name": "Some News Agency",
"url": "https://www.example.com/"
"url": "https://www.example.com/"
}
}
]
]
Only specify the author's name in the author.name property
Only specify the author's name in the author.name property
In the author.name property, only specify the name of the author. Don't add any other piece of information. More specifically, don't add the following information:
In the author.name property, only specify the name of the author. Don't add any other piece of information. More specifically, don't add the following information:
The name of the publisher. Instead, use the publisher property.
The name of the publisher. Instead, use the publisher property.
The author's job title. Instead, use the appropriate property if you want to specify that information (jobTitle).
The author's job title. Instead, use the appropriate property if you want to specify that information (jobTitle).
Honorific prefix or suffix. Instead, use the appropriate property if you want to specify that information (honorificPrefix or honorificSuffix).
Honorific prefix or suffix. Instead, use the appropriate property if you want to specify that information (honorificPrefix or honorificSuffix).
Introductory words (for example, don't include words like "posted by").
Introductory words (for example, don't include words like "posted by").
"author":
"author":
[
[
{
{
"name": "Echidna Jones",
"name": "Echidna Jones",
"honorificPrefix": "Dr",
"honorificPrefix": "Dr",
"jobTitle": "Editor in Chief"
"jobTitle": "Editor in Chief"
}
}
],
],
"publisher":
"publisher":
[
[
{
{
"name": "Bugs Daily"
"name": "Bugs Daily"
}
}
]
]
}
}
Use the appropriate Type
Use the appropriate Type
Use the Person type for people, and the Organization type for organizations. Don't use the Thing type, and don't use the wrong type (for example, using the Organization type for a person).
Use the Person type for people, and the Organization type for organizations. Don't use the Thing type, and don't use the wrong type (for example, using the Organization type for a person).
Here's an example that applies the author markup best practices:
Here's an example that applies the author markup best practices:
"author":
"author":
[
[
{
{
"@type": "Person",
"@type": "Person",
"name": "Willow Lane",
"name": "Willow Lane",
"jobTitle": "Journalist",
"jobTitle": "Journalist",
"url":"https://www.example.com/staff/willow-lane"
"url":"https://www.example.com/staff/willow-lane"
},
},
{
{
"@type":"Person",
"@type":"Person",
"name": "Echidna Jones",
"name": "Echidna Jones",
"jobTitle": "Editor in Chief",
"jobTitle": "Editor in Chief",
"url":"https://www.example.com/staff/echidna-jones"
"url":"https://www.example.com/staff/echidna-jones"
}
}
],
],
"publisher":
"publisher":
{
{
"name": "The Daily Bug",
"name": "The Daily Bug",
"url": "https://www.example.com"
"url": "https://www.example.com"
},
},
// + Other fields related to the article...
// + Other fields related to the article...
}
}
Troubleshooting
Troubleshooting
If you're having trouble implementing or debugging structured data, here are some resources that may help you.
If you're having trouble implementing or debugging structured data, here are some resources that may help you.
If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
You might have an error in your structured data. Check the list of structured data errors.
You might have an error in your structured data. Check the list of structured data errors.
If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
Troubleshoot missing rich results / drop in total rich results.
Troubleshoot missing rich results / drop in total rich results.
Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
Ask a question in the Google Search Central office hours.
Ask a question in the Google Search Central office hours.
Post a question in the Google Search Central forum.
Post a question in the Google Search Central forum.
Editor
Clear
Export as PDF