auditmysitev2.0.2

Article: missing required properties

seo.schema.schema_rule_missing_article

Outcome class
Automatic. An automated check that can report a confirmed violation.
Area
SEO, structured data

What the rule checks

Scope. Applies to JSON-LD nodes of type Article, BlogPosting, NewsArticle in the audited document (top level, top-level arrays, @graph entries; full schema.org IRIs count as the short type). Microdata and RDFa are outside this method.

Expectation. Google defines no required Article properties, so there is no violation state. Missing recommended properties are needs_review (Google's Rich Results Test reports missing recommended properties as non-critical issues (eligible, but a human should decide whether the data exists)); all present passes. Nested property values (an author Person, a provider Organization) are not nodes of their own and are not assessed; a page without a node of the type is not applicable. A page whose structured-data collection fails is not run for every feature, never clean.

Source. https://developers.google.com/search/docs/appearance/structured-data/article (no required properties; recommended: author, dateModified, datePublished, headline, image; NewsArticle also publisher)

Detection: detect_structured_data; needs dom.

Passing example

The check passes here and reports nothing. Corpus case schema_rules_complete. The page may contain further findings for other rules.

schema_rules_complete.htmlHTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Schema rules corpus — complete/valid JSON-LD for all 17 features</title>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Article","headline":"Example headline","author":{"@type":"Person","name":"Ada"},"datePublished":"2026-01-01","dateModified":"2026-01-02","image":"https://example.com/article.jpg"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Product","name":"Complete product","image":"https://example.com/product.jpg","review":{"@type":"Review","author":{"@type":"Person","name":"Ada"}},"aggregateRating":{"@type":"AggregateRating","ratingValue":4.5,"reviewCount":10},"offers":{"@type":"Offer","price":"19.99","priceCurrency":"USD"}}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://example.com"},{"@type":"ListItem","position":2,"name":"Current"}]}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Organization","name":"Example Inc","url":"https://example.com","logo":"https://example.com/logo.png","address":{"@type":"PostalAddress","streetAddress":"Main Street 1"},"telephone":"+1-555-0100","sameAs":["https://social.example/example"]}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"LocalBusiness","name":"Example Shop","address":{"@type":"PostalAddress","streetAddress":"Main Street 1"},"telephone":"+1-555-0100","url":"https://example.com","openingHoursSpecification":{"@type":"OpeningHoursSpecification","dayOfWeek":"Monday","opens":"09:00","closes":"18:00"},"image":"https://example.com/shop.jpg","priceRange":"$$","geo":{"@type":"GeoCoordinates","latitude":52.5,"longitude":13.4}}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Question 1","acceptedAnswer":{"@type":"Answer","text":"Answer 1"}}]}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Event","name":"Conference","startDate":"2026-09-01","endDate":"2026-09-02","location":{"@type":"Place","name":"Hall","address":"Main Street 1"},"description":"Annual conference","eventStatus":"https://schema.org/EventScheduled","image":"https://example.com/event.jpg","offers":{"@type":"Offer","price":0},"organizer":{"@type":"Organization","name":"Example"},"performer":{"@type":"Person","name":"Speaker"}}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Recipe","name":"Soup","image":"https://example.com/soup.jpg","author":{"@type":"Person","name":"Cook"},"datePublished":"2026-01-01","description":"A soup","recipeIngredient":["water"],"recipeInstructions":["Cook"],"recipeYield":"2 servings","totalTime":"PT30M"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"VideoObject","name":"Demo","thumbnailUrl":"https://example.com/thumb.jpg","uploadDate":"2026-01-01","contentUrl":"https://example.com/video.mp4","description":"Demo video","duration":"PT1M","interactionStatistic":{"userInteractionCount":1},"regionsAllowed":"DE"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"JobPosting","title":"Engineer","datePosted":"2026-01-01","description":"<p>Role</p>","hiringOrganization":{"@type":"Organization","name":"Example"},"jobLocation":{"@type":"Place","address":{"addressCountry":"DE"}},"baseSalary":{"value":50000},"employmentType":"FULL_TIME","identifier":"job-1","validThrough":"2026-12-31"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"SoftwareApplication","name":"App","offers":{"price":0},"review":{"reviewRating":{"ratingValue":5}},"applicationCategory":"BusinessApplication","operatingSystem":"Web"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"ProfilePage","mainEntity":{"@type":"Person","name":"Ada"},"dateCreated":"2026-01-01","dateModified":"2026-02-01"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"ItemList","name":"Items","numberOfItems":2,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://example.com/1"},{"@type":"ListItem","position":2,"url":"https://example.com/2"}]}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","name":"About","url":"https://example.com/about","description":"About Example","inLanguage":"en","isPartOf":{"@type":"WebSite","name":"Example"},"author":{"@type":"Organization","name":"Example"},"publisher":{"@type":"Organization","name":"Example"},"image":"https://example.com/about.jpg"}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","name":"Example","url":"https://example.com","inLanguage":"en","publisher":{"@type":"Organization","name":"Example"},"potentialAction":{"@type":"SearchAction"}}
</script>

<script type="application/ld+json">
{"@context":"https://schema.org","@type":"Person","name":"Ada Example","url":"https://example.com/team/ada","image":"https://example.com/ada.jpg","jobTitle":"Engineer","worksFor":{"@type":"Organization","name":"Example"},"sameAs":["https://social.example/ada"]}
</script>

</head>
<body>
  <h1>Schema rules corpus fixture (complete/valid JSON-LD)</h1>
</body>
</html>

This page is generated from the rule catalogue and the rule contracts; see therule overview for how the outcome classes are derived.