NewsArticle
NewsArticle is the Article subtype for news content. Google's article rich result works the same whether you use NewsArticle or base Article, but Top Stories and Google Discover prioritize pages typed as NewsArticle. If you publish time-sensitive reporting with a byline, NewsArticle is the more precise choice.
Most properties carry over from Article. The additions: dateline (the city-and-date slug at the top of a wire story), the print trio (printEdition, printPage, printSection) for newspapers that also publish in print, and the recommendation to type the publisher as NewsMediaOrganization instead of plain Organization.
Full example of schema.org/NewsArticle json-ld markup
The markup is verified as valid with Rich Results Test from Google.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@id": "https://dunmoreherald.com/business/2026/xoo-code-opens-flagship-store#article",
"@type": "NewsArticle",
"headline": "Xoo Code Opens Flagship Retail Store in Downtown Dunmore",
"alternativeHeadline": "Tech company brings screen-printing and structured data workshops to Lackawanna County",
"description": "Xoo Code Inc. opened its first brick-and-mortar location at 320 Main Street in Dunmore on Saturday, combining XooTee graphic tee sales with in-store schema markup workshops.",
"image": [
"https://dunmoreherald.com/images/2026/xoo-code-store-1x1.jpg",
"https://dunmoreherald.com/images/2026/xoo-code-store-4x3.jpg",
"https://dunmoreherald.com/images/2026/xoo-code-store-16x9.jpg"
],
"url": "https://dunmoreherald.com/business/2026/xoo-code-opens-flagship-store",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://dunmoreherald.com/business/2026/xoo-code-opens-flagship-store"
},
"author": {
"@type": "Person",
"name": "Maria Torres",
"url": "https://dunmoreherald.com/staff/maria-torres",
"jobTitle": "Business Reporter"
},
"publisher": {
"@type": "NewsMediaOrganization",
"@id": "https://dunmoreherald.com#publisher",
"name": "Dunmore Herald",
"url": "https://dunmoreherald.com",
"logo": {
"@type": "ImageObject",
"url": "https://dunmoreherald.com/images/herald-logo.png",
"width": "600",
"height": "60"
},
"foundingDate": "1892",
"ethicsPolicy": "https://dunmoreherald.com/ethics",
"masthead": "https://dunmoreherald.com/staff"
},
"datePublished": "2026-03-15T08:00:00-05:00",
"dateModified": "2026-03-15T14:30:00-05:00",
"dateline": "DUNMORE, Pa.",
"articleSection": "Business",
"printEdition": "2026-03-16",
"printPage": "B1",
"printSection": "Business",
"inLanguage": "en-US",
"wordCount": "1240",
"keywords": "Xoo Code, Dunmore, retail, structured data, schema markup, XooTee",
"about": {
"@type": "LocalBusiness",
"@id": "https://xoocode.com/shop/dunmore-1290"
},
"mentions": [
{
"@type": "Organization",
"@id": "https://xoocode.com#organization"
},
{
"@type": "Place",
"name": "Downtown Dunmore",
"address": {
"@type": "PostalAddress",
"addressLocality": "Dunmore",
"addressRegion": "PA",
"addressCountry": "US"
}
}
],
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".article-headline", ".article-summary"]
},
"isAccessibleForFree": true,
"copyrightYear": "2026",
"copyrightHolder": {
"@id": "https://dunmoreherald.com#publisher"
}
}
</script>dateline
dateline is a string that traditionally opens a news story: "DUNMORE, Pa." or "LONDON (Reuters)". Schema.org takes the same format. Google does not display it in search results, but news aggregators and AI systems read it to determine where a story was reported from. Include it when the story is location-specific.
NewsMediaOrganization as publisher
Google's documentation says the publisher should be an Organization, but NewsMediaOrganization is a more specific subtype with news-relevant properties: ethicsPolicy, masthead (a URL to the editorial staff page), verificationFactCheckingPolicy, and ownershipFundingInfo. Google News reads these as trust signals when evaluating publisher eligibility. If you run a news site, use NewsMediaOrganization and fill in at least ethicsPolicy and masthead.
Speakable and Google News
The speakable property tells Google which parts of the article work for text-to-speech on Google Assistant and smart speakers. It is not required for the article rich result, but Google uses it to select content for Assistant news briefings. Use a SpeakableSpecification with cssSelector pointing to the headline and opening summary. Keep each speakable section under 300 characters.
Paywall markup
If the article sits behind a paywall, set isAccessibleForFree to false and add a hasPart with a WebPageElement whose own isAccessibleForFree is false and whose cssSelector points to the gated content. Google uses this for its Flexible Sampling policy. News articles paywalled without this markup risk removal from Google News. This example is free, so isAccessibleForFree is simply true.
Minimal valid version
The smallest markup that still produces a valid NewsArticle entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"headline": "Xoo Code Opens Flagship Retail Store in Downtown Dunmore",
"image": "https://dunmoreherald.com/images/2026/xoo-code-store-16x9.jpg",
"datePublished": "2026-03-15T08:00:00-05:00",
"author": {
"@type": "Person",
"name": "Maria Torres"
}
}
</script>Google rich results this unlocks
Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.
- Google docsArticle rich resultprimary
Common NewsArticle mistakes
Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.
- 01
Using Organization instead of NewsMediaOrganization
Wrong"publisher": { "@type": "Organization", "name": "Dunmore Herald" }Right"publisher": { "@type": "NewsMediaOrganization", "name": "Dunmore Herald", "ethicsPolicy": "https://dunmoreherald.com/ethics" }Organization validates fine, but NewsMediaOrganization carries trust-signal properties (ethicsPolicy, masthead, verificationFactCheckingPolicy) that Google News reads when evaluating publisher eligibility. If you are a news publisher, always use the more specific type.
- 02
dateline as a date instead of a location
Wrong"dateline": "2026-03-15"Right"dateline": "DUNMORE, Pa."Despite the name, dateline is a location string, not a date. It is the city-and-region slug that traditionally opens a wire story. The date is already captured by datePublished. Putting a date in dateline confuses aggregators and provides no useful signal.
- 03
Headline longer than 110 characters
Wrong"headline": "Xoo Code Inc. Opens Its First-Ever Flagship Retail Store Selling XooTee Graphic Tees and Hosting Schema Markup Workshops in Downtown Dunmore, Pennsylvania"Right"headline": "Xoo Code Opens Flagship Retail Store in Downtown Dunmore"Google truncates article headlines at 110 characters and may suppress the rich result if the headline exceeds that limit. Keep headlines under 110 characters and use alternativeHeadline or description for the longer version.
- 04
Paywall content without isAccessibleForFree markup
Wrong(paywalled article with no isAccessibleForFree property)Right"isAccessibleForFree": false, "hasPart": { "@type": "WebPageElement", "isAccessibleForFree": false, "cssSelector": ".article-body" }Google requires paywalled news articles to declare their access model. Without this markup, Google may remove the article from Google News or apply the wrong caching rules. Free articles should set isAccessibleForFree to true explicitly.
- 05
Missing speakable for Google News eligibility
Wrong(NewsArticle without speakable property)Right"speakable": { "@type": "SpeakableSpecification", "cssSelector": [".article-headline", ".article-summary"] }speakable is not required for the article rich result, but Google uses it to select content for Assistant news briefings and voice search. If you want your news articles read aloud on smart speakers, add a SpeakableSpecification pointing to the headline and lead paragraph.
Schema properties in this example
About the example data
The story covers the opening of the Xoo Code Shop Dunmore, the same LocalBusiness from the LocalBusiness example. The publisher is the fictional Dunmore Herald, a local newspaper covering Lackawanna County. The about property uses an @id reference to the LocalBusiness entry, and mentions references the Xoo Code Inc. Organization.
Comments
Loading comments...