Article
The Article schema type represents a written piece of content such as a news article, editorial, or investigative report. It enables Google to display rich results with headline, author byline, publish date, and thumbnail images.
About Article
Article markup is one of the most useful schema types for content publishers. It gives search engines explicit headline, image, author, publisher, and date signals that can support eligible article rich results and clearer attribution. Providing accurate author and publisher information strengthens E-E-A-T context and helps establish content credibility. Include both datePublished and dateModified when available so freshness is transparent. For blog posts specifically, consider using the more specific BlogPosting type instead.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
headline | string | ✓ | The headline or title of the article. Should be concise and under 110 characters. |
description | string | — | A short summary or excerpt of the article content. |
image | string | — | URL of the article's main image or thumbnail. |
author.name | string | — | The name of the article's author. |
publisher.name | string | — | The name of the publishing organization. |
publisher.logo.url | string | — | URL of the publisher's logo image. |
datePublished | date | — | The date the article was originally published (ISO 8601 format). |
articleSection | string | — | The section of the publication this article belongs to (e.g. "Sports", "Business"). |
Plugin Registration
import { defineConfig } from 'sanity'
import { schemaOrgArticlePlugin } from 'sanity-plugin-seofields/schema'
export default defineConfig({
// ... your sanity config
plugins: [
schemaOrgArticlePlugin(),
],
})Schema Usage
Add the schemaOrgArticle field to any document schema:
import { defineField, defineType } from 'sanity'
export default defineType({
name: 'page',
title: 'Page',
type: 'document',
fields: [
// ... your other fields
defineField({
name: 'schemaOrgArticle',
title: 'Article Schema',
type: 'schemaOrgArticle',
}),
],
})GROQ Query
*[_type == "yourDocument"][0]{
schemaOrgArticle {
headline,
description,
image,
author {
name
},
publisher {
name,
logo {
url
}
},
datePublished,
articleSection
}
}Next.js Component
import { ArticleSchema } from 'sanity-plugin-seofields/schema/next'
export default function Layout({ data }) {
return <ArticleSchema data={data.schemaOrgArticle} />
}JSON-LD Output
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Implement Structured Data for SEO",
"description": "A comprehensive guide to adding Schema.org markup to your website for better search visibility.",
"image": "https://example.com/images/structured-data-guide.jpg",
"author": {
"@type": "Person",
"name": "Jane Doe"
},
"publisher": {
"@type": "Organization",
"name": "Acme Publishing",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2025-01-15",
"articleSection": "Technology"
}Last updated: May 27, 2026. Tested with: Sanity Studio v3, v4, and v5.
Was this page helpful?