Article
The Article type describes written content published on the web: blog posts, news stories, opinion pieces, tutorials, and reports. It is one of the most widely used schema.org types for SEO and AEO because search engines and AI answer engines rely on Article markup to understand content metadata like authorship, publication dates, and topic classification.
Article is a subtype of CreativeWork. Its specialized subtypes include BlogPosting, NewsArticle, TechArticle, and ScholarlyArticle. Google supports Article and its subtypes for rich results including article carousels, Top Stories, and author knowledge panels.
When to use Article
Use Article (or a subtype) on any page where the primary content is a written piece with a clear headline, author, and publication date. Common use cases:
- Blog posts →
BlogPosting - News stories →
NewsArticle - Technical documentation →
TechArticle - General written content →
Article
Do not use Article for product pages, landing pages, or pages where the primary content is not editorial.
Fields by Google status
Required
- itemListElement — Individual entries in a BreadcrumbList. Required by Google for breadcrumb rich results.
Recommended
- author — The person or organization that wrote the article.
- dateModified — When the article was last updated (ISO 8601).
- datePublished — When the article was first published (ISO 8601).
- headline — The title of the article.
Optional
- articleBody — The full text of the article. Most implementations omit this.
- articleSection — The editorial category (e.g., "Sports", "Technology").
- keywords — Topic tags describing the article's subject matter.
- mainEntity — The primary entity described in the page.
- mainEntityOfPage — The page URL where this article is the main entity.
- publisher — The organization that published the article.
- wordCount — The number of words in the article body.
Complete JSON-LD example
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Annotated JSON-LD Structured Data Examples",
"author": {
"@type": "Person",
"name": "Andrew Welch",
"url": "https://nystudio107.com/about"
},
"publisher": {
"@type": "Organization",
"name": "nystudio107",
"url": "https://nystudio107.com"
},
"datePublished": "2019-05-29T00:00:00Z",
"dateModified": "2022-05-19T00:00:00Z",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://nystudio107.com/blog/annotated-json-ld-structured-data-examples"
},
"articleSection": "Insights",
"keywords": ["JSON-LD", "structured data", "schema markup"]
}
Webflow implementation
For Webflow CMS blog posts, add a custom code embed to your blog post template page in Page Settings > Custom Code > Before </head>:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "{{wf {"path":"name","type":"PlainText"} }}",
"author": {
"@type": "Person",
"name": "Your Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Your Company"
},
"datePublished": "{{wf {"path":"published-on","type":"Date"} }}",
"dateModified": "{{wf {"path":"updated-on","type":"Date"} }}",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://yoursite.com/blog/{{wf {"path":"slug","type":"PlainText"} }}"
}
}
</script>
Schema HQ automates Article markup for all Webflow CMS blog posts, mapping fields like headline, author, dates, and publisher from the existing CMS structure.
Google rich results
Article markup enables several Google Search features:
- Top Stories carousel (primarily NewsArticle)
- Article rich results with headline, image, and date
- Author knowledge panels when author markup follows best practices
- Breadcrumb trails when BreadcrumbList with itemListElement is included
Test your Article markup with Google's Rich Results Test.