Schema guide
Article schema markup (Article JSON-LD)
How to write Article, BlogPosting and NewsArticle JSON-LD: headline, author, dates and images, with a working example and common mistakes.
Overview
Article markup tells search engines the headline, author, publish and modified dates and images of a news story, blog post or guide. Put it on the article page itself and choose Article, BlogPosting or NewsArticle. Google lists no required properties, but headline, image, datePublished and author are recommended.
What it can do for you
- Google Rich results: indirect
- Indirect. Google uses it to understand the headline, author, dates and image. It can help in Top stories and Discover but changes little on an ordinary listing.
- AI and answer engines
- Author and dates make a page easier to attribute and to judge for freshness.
Use it when
- A page whose main content is one article, post or guide
Skip it when
- An index of articles
- A page with no clear author or date and no real article content
Properties
| Property | Status | Notes |
|---|---|---|
headline | Recommended | Keep it under about 110 characters. It should match the visible title. |
image | Recommended | Absolute, crawlable URLs. Provide more than one aspect ratio if you can. |
datePublished, dateModified | Recommended | ISO 8601 with a time zone, such as 2026-03-14T09:30:00Z. |
author | Recommended | A Person or Organization with a name. |
publisher, mainEntityOfPage | Optional | Links the article to the site and to its own page. |
Example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to reset your Hearthstead password",
"description": "Step-by-step instructions for resetting a Hearthstead account password.",
"image": [
"https://example.com/img/reset-password.png"
],
"datePublished": "2026-03-14T09:30:00Z",
"dateModified": "2026-09-02T16:05:00Z",
"author": {
"@type": "Person",
"name": "Priya Nandakumar"
},
"publisher": {
"@type": "Organization",
"name": "Hearthstead Help"
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/reset-password"
}
}
</script>It reads the headline from the main heading, dates from article:published_time and article:modified_time meta tags, microdata or the first time element, and the author from a meta tag, microdata or a rel="author" link.
Pages under paths such as /blog/ get BlogPosting. Missing dates, authors or images are listed with a field to fill them in.
Common mistakes
- Relative image URLs or images that block crawlers.
- Dates written as "March 14" instead of an ISO 8601 value.
- Updating
dateModifiedwithout a real edit. - Using the author's social profile URL as the author name.
Questions
Does Article markup have required properties?
Google lists none as strictly required, but recommends headline, image, datePublished, dateModified and author. Provide all of them when you can.
Article, BlogPosting or NewsArticle?
BlogPosting fits blog posts, NewsArticle fits news reporting, and Article is the general choice for guides and other long-form pages.
When should dateModified change?
Only when the content changes in a way a reader would notice. Changing it to look fresh without real edits can erode trust.
How should I write the author?
Use a Person (or Organization) object with a name and, if there is an author page, a url. A bare string is accepted but gives less to work with.
Generate this markup for your page
Paste the address of a public page and get a ready-to-paste block, with every gap listed.