An article, in structured data terms, is any authored, dated piece of writing that is
not breaking news — a guide, a blog post, an explainer, a tutorial. The markup is
Article or, for a blog, BlogPosting, and the reward is the
Article rich result: your headline, image and date presented properly in search.
What is required
One property: headline. That makes Article the easiest
rich result to qualify for, and the easiest to under-serve — a bare headline earns a bare
result.
What is recommended, and why each one earns its place
image— an absolute URL to the article's image. This is what turns a text-only result into a visual one. Provide the largest version you have.datePublishedanddateModified— ISO 8601 with a timezone. The visible dates on the page must agree with them; when they disagree, Google trusts neither.author— aPerson(orOrganization) with aname. Authorship is part of how content quality is assessed, and an author node with aurlpointing at an author page strengthens the claim.publisher— the site publishing the piece, with a name and a logo.mainEntityOfPage— the canonical URL of the article, so the node and the page are unambiguously the same thing.description— a one-or-two sentence summary, sensibly the same text as your meta description.
Article, BlogPosting, or TechArticle?
BlogPosting and TechArticle are subtypes of
Article, and Google treats them identically for the rich result. Use the most
accurate one — a blog post is a BlogPosting — but never agonise: the parent
type is always correct, and no placement depends on the subtype.
An example
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "What a canonical tag actually does",
"image": ["https://example.com/img/canonical-guide.jpg"],
"datePublished": "2026-07-02T08:00:00+05:30",
"dateModified": "2026-08-11T10:30:00+05:30",
"author": {"@type": "Person", "name": "R. Author",
"url": "https://example.com/authors/r-author"},
"publisher": {"@type": "Organization", "name": "Example Blog",
"logo": {"@type": "ImageObject",
"url": "https://example.com/logo.png"}},
"mainEntityOfPage": "https://example.com/guides/canonical-tags",
"description": "A canonical tag is a hint, not an instruction."
}
The mistakes worth knowing
A relative image URL. /img/hero.jpg is valid HTML and an
invalid claim in JSON-LD — the consumer of the markup is not standing on your page, so
every URL in it must be absolute.
dateModified as a lever. Bumping the modified date without changing the article is documented manipulation. Set it when the content genuinely changes, and let it sit otherwise.
The headline and the H1 telling different stories. They may differ in wording, but a markup headline that describes a different article than the visible one reads as bait.
Checking your page
Confirm the block parses with the structured data validator, then run the complete page audit — it also verifies your dates agree between markup and visible copy, which is where article markup most often quietly fails.
