From fields to JSON-LD
This article schema generator turns the facts about a post — who wrote it, when it was published,
which images belong to it, which URL it lives at — into the Article, NewsArticle or
BlogPosting block that search engines read. It runs entirely in your browser, and it refuses to
emit a field you left blank rather than shipping an empty string that a parser has to guess at.
What Google takes from Article, and what it ignores
Google's own documentation lists a short set of properties it uses: headline, image,
datePublished, dateModified, and author. Everything else in the Article vocabulary is
legitimate schema.org and mostly decorative as far as Search is concerned.
That short list is worth internalising, because most Article markup found in the wild is padded with
wordCount, articleSection, keywords and articleBody — properties that cost bytes and buy
nothing. A tight block with five correct properties beats a sprawling one with two wrong dates.
The one property that earns its place beyond the list is mainEntityOfPage. It states which URL
this markup describes, which stops a syndicated or paginated copy from claiming the same identity as
the original.
headline is not your title tag
The most common mistake in this markup is pasting the <title> into headline. They serve different
readers. A title tag is written for the search result and typically ends with a separator and the
brand name; headline is meant to be the article's own title, the one printed at the top of the
page.
Google truncates headline past 110 characters, and a padded title that runs long is exactly how
that limit gets hit. If you are writing the title tag as well, the
meta tag generator counts against the SERP limit instead, which is a
different number and a different job.
Dates have to be machine dates
datePublished and dateModified must be ISO 8601. 2026-09-04 is valid; so is
2026-09-04T09:30:00+01:00. What is not valid is 4 September 2026, 04/09/2026, or a timestamp
with no timezone offset, because a bare local time leaves the parser guessing which part of the
world it came from.
Two habits cause real damage here. The first is bumping dateModified on every deploy, so every
article claims to have been revised the moment a stylesheet changed; the date stops meaning anything
and stops earning the freshness it was supposed to signal. The second is a dateModified earlier
than datePublished, usually the result of a template swapping the two — the generator flags it,
because nothing else will.
The author field is where E-E-A-T becomes concrete
Experience, expertise, authoritativeness and trust are usually discussed as an atmosphere. In markup
they are a URL. An author with a name and nothing else is a string; an author with a url
pointing at a page that describes who that person is, what they have done and what else they have
written is an entity a search engine can reconcile with the rest of the web.
Two rules make the difference. Name a person or an organisation, never a role: Editorial Team and
Admin are not entities. And give that person a real page — a byline linking to a stub with three
sentences and no other content is worse than no link at all, because it advertises that the author
identity is decorative.
Validity is not eligibility
This tool produces JSON-LD that is syntactically valid and conformant with schema.org. That is the whole of what a generator can promise. Whether the page then qualifies for an article rich result is decided by Google, using signals a generator cannot see — the quality of the page, the site it sits on, and whether the markup matches the content a crawler actually finds there.
So publish the block, then run the live URL through the Rich Results Test. It reports which features the URL is eligible for, which properties it parsed, and which it dropped. When you also mark up the navigation path, the breadcrumb schema generator writes the block that pairs with this one on the same page.