Article structured data that actually validates
Google’s rich results for articles depend on clean, complete JSON-LD. Hand-writing it means juggling nested publisher and logo objects, ISO date formats, and escaping rules — all easy to get wrong. This builder takes plain inputs and emits a correctly structured, properly escaped <script type="application/ld+json"> block you can paste straight onto the page.
How it works
The tool constructs a schema.org Article object and serialises it as JSON-LD:
@contextishttps://schema.organd@typeis your chosen subtype (Article, NewsArticle, or BlogPosting).headline,description, andimagedescribe the content.authoris emitted as aPersonobject with a name.publisheris anOrganizationobject containing a nestedImageObjectlogo.datePublishedanddateModifiedare converted to ISO 8601.mainEntityOfPageis aWebPagereference to the canonical URL.
The object is built in JavaScript and serialised with JSON.stringify, so every string is escaped correctly — quotes, backslashes, and newlines in your text cannot produce invalid JSON. The output updates live as you edit.
Tips and example
A minimal valid block looks like this once generated:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How we cut load time in half",
"datePublished": "2026-06-06T09:00:00.000Z",
"author": { "@type": "Person", "name": "Jane Smith" }
}
</script>
- Keep
headlineunder about 110 characters; Google may ignore longer headlines. - Make
dateModifiedaccurate — updating it when you genuinely revise the article can help freshness signals. - Ensure the
imageURL is a high-resolution, publicly reachable asset; thin or broken images disqualify rich results. - After publishing, test the page in the Rich Results Test to confirm it is eligible.
Choosing between Article, NewsArticle, and BlogPosting
All three share the same required fields, but search engines interpret them differently:
- Article is the catch-all. Use it for evergreen content, feature writing, opinion pieces, or anything that does not fit the narrower subtypes.
- NewsArticle signals time-sensitive journalism. It is the right choice for wire-style reporting, breaking news, and press releases. Google’s Top Stories feature targets this subtype specifically.
- BlogPosting is for personal or editorial blog content. It carries less weight for formal news eligibility but is perfectly valid for tutorial sites, opinion blogs, and product update posts.
Pick the one that honestly describes your content. Using NewsArticle on a sales page or an evergreen how-to guide to chase Top Stories placement risks a structured-data quality action.
What happens after you publish the markup
Search engines do not guarantee rich results even with perfect markup — they choose whether to show enriched snippets based on relevance and quality signals. However, well-formed Article schema does two concrete things:
- It makes your page eligible for Top Stories, article carousel cards, and enhanced byline/date display in search results.
- It feeds knowledge graph systems, so the article, author, and publisher can be associated with each other across the web.
Run the page through Google’s Rich Results Test immediately after publishing. Any field errors or warnings appear there before they affect indexing.
Common mistakes and how to avoid them
Mismatched dates. The datePublished in your JSON-LD must match the date users see on the page. A discrepancy signals inconsistency and can cause the markup to be ignored.
Broken or private image URLs. The image field must resolve to a publicly accessible image over HTTPS. Localhost URLs, CDN paths behind auth, or images served with restrictive X-Robots-Tag headers will fail validation.
Missing @context. Every JSON-LD block needs "@context": "https://schema.org" at the top. Omitting it makes the block unreadable to structured data parsers.