Article schema is the foundational structured data type for blog content and editorial articles. It declares to AI systems and search engines that a page is a published article — with a specific author, publisher, publication date, and topic — rather than a product page, a homepage, or other page type. Implementing Article schema on every blog post is the minimum viable AEO implementation for a blog.
Required Fields for Article Schema
The minimum required fields for Article schema that satisfy Google's rich result requirements and AI readability best practices are: "@type" (Article, NewsArticle, or BlogPosting), "headline" (the article title, under 110 characters), "description" (the meta description), "datePublished" and "dateModified" in ISO 8601 format (YYYY-MM-DD), "author" with name and url, "publisher" with "@type": "Organization", "name", and "logo", and "image" with the article's featured image URL, width, and height.
wordCount and articleBody
Two optional but recommended fields for AEO purposes are "wordCount" — an integer representing the article's approximate word count — and "articleSection" — the topic category the article belongs to. These fields help AI systems assess content depth and topical relevance when deciding which articles to cite for a given query. Including them takes 30 seconds per article and provides meaningful additional signal.
Generating Article Schema Programmatically
On a Next.js site, Article schema should be generated programmatically from the article's data at build time — not written by hand for each article. A schema generator function takes the article's title, description, date, and image data as inputs and returns the complete JSON-LD object. This ensures consistent implementation across all articles and eliminates the possibility of missing required fields on individual posts. The Omni AEO service includes this programmatic schema generation as part of every site build.