No Article or BlogPosting schema on an article
What is this issue?
This issue reports an Article, BlogPosting, NewsArticle or TechArticle schema block your page already declares that is missing a required property or fails one of Google's rich-result value rules — not a page that has no Article schema at all.
Checked once a page declares one of these types:
headline,authoranddatePublishedare presentheadlineis 110 characters or fewer (Google truncates beyond that)imageis present, and — when written as anImageObjectwith declared dimensions — its long edge is at least 1200pxdatePublishedanddateModifiedare valid ISO 8601 datesauthorentries carry anameand a@typeofPersonorOrganization
What this issue is not: it does not guess that a page under /blog/ or /news/,
or one that reads like an article, ought to carry this schema. A page with no Article
schema is never reported, whatever its URL pattern or title suggests.
Why it matters
Article schema is critical for content visibility and authority:
- Top Stories eligibility: Articles with proper schema can appear in Google's Top Stories carousel
- Google Discover: Enables content to appear in Google Discover feed
- AI citation attribution: AI search engines use Article schema to properly attribute and cite content
- E-E-A-T signals: The
authorfield is critical for Google's quality evaluation - Rich snippets: Enables publish date, author, and article image in search results
- Freshness signals:
datePublishedanddateModifiedhelp search engines understand content freshness
Resolving this issue improves your SEO health score by ensuring articles are properly structured for maximum visibility and authority.
How to fix it
If this issue was raised, your page already declares an Article-family schema — open the finding for the exact property or value at fault. The steps below are for a page that declares none yet: worthwhile to add, and never reported as a defect while absent.
Add Article/BlogPosting JSON-LD structured data to all article pages:
{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "How to Implement Schema in 2024", "image": "https://www.example.com/image.jpg", "author": { "@type": "Person", "name": "Jane Smith", "@id": "https://www.example.com/author/jane" }, "publisher": { "@type": "Organization", "name": "Example Corp", "logo": { "@type": "ImageObject", "url": "https://www.example.com/logo.png" } }, "datePublished": "2024-03-01T08:00:00Z", "dateModified": "2024-03-15T10:00:00Z" }Include required properties:
headline: Article titleauthor: Author information (usePersontype with@idfor E-E-A-T)datePublished: ISO 8601 format with timezonedateModified: Last modified dateimage: Article featured image URLpublisher: Organization publishing the article
Use the correct Article subtype:
Article: Generic article typeBlogPosting: For blog postsNewsArticle: For news articlesTechArticle: For technical articles
Link author to Person schema: Use
@idto connect to author's Person schema pageValidate with Google's Rich Results Test
Examples
Example 1: No Schema Declared — Not This Issue
<!-- Blog post without any Article schema -->
<html>
<head>
<title>How to Implement Schema in 2024</title>
</head>
<body>
<h1>How to Implement Schema in 2024</h1>
<p>By Jane Smith | Published March 1, 2024</p>
<p>Article content goes here...</p>
</body>
</html>Nothing is reported, whatever the URL or title suggests. See How to fix it for why adding the schema is worth doing anyway.
Example 2: A Well-Formed NewsArticle (passes)
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "New SEO Guidelines Released",
"image": {
"@type": "ImageObject",
"url": "https://www.example.com/news-image.jpg",
"width": 1600,
"height": 900
},
"author": { "@type": "Person", "name": "John Doe" },
"datePublished": "2024-03-10T14:30:00Z",
"publisher": { "@type": "Organization", "name": "Example News" }
}Example 3: Incomplete Article Schema (fails)
Problematic state:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "SEO Tips"
}Reported: author missing, datePublished missing, image missing.
Corrected state:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "SEO Tips for 2024",
"author": { "@type": "Person", "name": "Jane Smith" },
"datePublished": "2024-03-01T08:00:00Z",
"image": "https://www.example.com/seo-tips.jpg"
}Example 4: An Image Too Small for the Rich Result (fails)
Problematic state:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Small Image Example",
"author": { "@type": "Person", "name": "Jane Smith" },
"datePublished": "2024-03-01",
"image": {
"@type": "ImageObject",
"url": "https://www.example.com/thumb.jpg",
"width": 300,
"height": 200
}
}Reported: image (ImageObject) long edge is 300px (Google requires at least 1200px).
A bare image URL string, with no declared dimensions, is accepted as-is.
Corrected state: publish an image whose long edge is at least 1200px, or point to one as a plain URL string.
How PixyScan detects this
Read the declared structured data: every JSON-LD block is parsed, and
@graphwrappers are flattened.Select declared Article entities: any schema block whose
@typeisArticle,BlogPosting,NewsArticleorTechArticle. A page that declares none of these is not examined — the URL is never inspected for/blog/,/news/or similar patterns.Check the required properties:
headline,authoranddatePublishedmust be present.Check the rich-result value rules:
headline— flagged if longer than 110 characters, the point at which Google truncates it in the rich resultimage— required; if declared as anImageObjectwith dimensions, its long edge must be at least 1200px (a bare image URL string is accepted as-is, since there is nothing to measure)datePublished/dateModified— each, if present, must be a valid ISO 8601 dateauthor— each entry must be an object with a non-emptynameand a@typeofPersonorOrganization
This is reported when: the page declares an Article-family schema that is missing a required property, or whose declared values fail the rules above. A blog post, news article or how-to guide with no Article schema at all is never reported, whatever its URL or title suggests.
What we store
Storage Level
Page Level — This issue is evaluated for each individual URL that contains structured data.
Database Table / Prisma Model
PageStructuredData
Stored Fields
| Field | Type | Description |
|---|---|---|
| schemaType | SchemaType | The type of schema (e.g., Organization, Person) |
| schemaFormat | SchemaFormat | The format of the schema (JSON-LD, Microdata, RDFa) |
| schemaIdentifier | String? | Unique identifier for the schema |
| rawJson | Json? | The raw JSON-LD or structured data content |
| schemaErrors | Json? | Array of validation errors found in the schema |
| isValidSchema | Boolean? | Whether the schema is valid according to validation |
| missingFields | Json? | Reserved for future use — the crawler always writes null here today; no check currently populates it |
Detection Dependencies
- The following data sources are required to evaluate this issue:
- HTML Document — The crawler parses the HTML to find structured data (JSON-LD, Microdata, RDFa)
- Structured Data Validation — The extracted schema is validated against Schema.org definitions
- Schema Parser — JSON-LD scripts, Microdata attributes, and RDFa markup are parsed