Glossary · SEO
Structured data (JSON-LD)
Structured data is a description of a page in a vocabulary machines understand, usually schema.org: this is an article, this is its headline, this is who wrote it and when. JSON-LD is the format Google recommends for it, a block of JSON in a script tag that readers of the page never see.
An example
A blog post described as a schema.org BlogPosting. Every value is also on the page itself: the headline, the date under it, the author’s name.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How Much Does a Wedding Cake Cost?",
"description": "Our 2026 prices for two- and three-tier wedding cakes, and how far ahead to order.",
"image": "https://bakery.example/images/wedding-cake.jpg",
"datePublished": "2026-09-14T09:00:00+01:00",
"dateModified": "2026-09-28T16:30:00+01:00",
"author": { "@type": "Person", "name": "Rosa Lima" },
"mainEntityOfPage": "https://bakery.example/blog/wedding-cake-guide"
}
</script>Why it matters for a small-business blog
Google says Article data “can help Google understand more about the web page and show better title text, images, and date information” in results. A search engine can guess those from your layout; structured data means it does not have to.
The same block is read by other machines that read the web, including assistants that answer questions from it: it says plainly which text is the article, who wrote it and when. Nobody can promise it gets you quoted, but it removes a reason not to be.
Common mistakes
- Describing what is not on the page. Google: don’t mark up content that is not visible to readers. An author or a rating that only exists in the JSON is against its guidelines.
- Dates without a time zone, or a
dateModifiedthat changes when nothing did. Google recommends ISO 8601 with time-zone information. - Extra words in the author’s name. Google asks for the name only in
author.name, not “By Rosa Lima, head baker”. - Breaking the page. A JSON-LD block is still a script tag: a post that contains
</script>ends it early. Escape<as\u003cwhen you write the JSON. - Expecting a rich result. Google does not guarantee that structured data will show up in results, even when it is correct.
- Never testing it. Google’s Rich Results Test shows what it reads from a page, and URL Inspection in Search Console confirms it was found.
How CMSKite handles it
- On the free blog link, each post page carries
BlogPosting(headline, description, language, published and updated dates, category, tags, reading time, author, image and its canonical address) and a breadcrumb trail; the blog’s front page carriesBlogdata listing its posts. - With the embed, the script adds
BlogPostingto your page when a post opens: headline, description, language, dates, address, author and image. Google reads it after running the script. - Through the API, every value is in the post; your page writes the block. The code, with the escaping, is in Making your posts findable.
- This page has structured data too: it is a schema.org
DefinedTerm, part of the glossary’sDefinedTermSet.
Sources
Questions
- Is JSON-LD the same as schema.org?
- No. Schema.org is the vocabulary (BlogPosting, headline, author); JSON-LD is one way of writing it on a page. Microdata and RDFa are the others. Google recommends JSON-LD.
- Does structured data improve rankings?
- Google describes it as helping it understand a page and show it with better title, image and date information. It does not promise anything beyond that, and neither do we.
Related
Checked