What Is Structured Data? Schema Markup Explained Simply
Structured data is code that labels what a page is about, like a product or event, for search engines. How JSON-LD works and what to ask your AI builder.
Mythex Team · · 5 min read
Structured data is a small block of code on a web page that labels what the page is about in a standard format search engines understand — for example, "this page is a product called Lavender Candle, it costs $24, and it's in stock." Google describes it as a standardised format for providing information about a page and classifying its content. Done correctly, it helps search engines understand your page and can make it eligible for richer search results, such as prices, ratings or event dates shown right in the listing.
Why it matters when you build with AI
Search engines are good at reading pages, but they still have to guess. Is "24" a price, a quantity or a date? Is "Riverside Hall" a venue or a person? Structured data removes the guessing.
For AI-built sites there are two practical points:
- It's code, not content, so it's easy to forget. An AI builder won't usually add it unless you ask, and when it does, it needs to match what's actually on the page.
- It's easy to get wrong in ways that look right. An AI might invent a five-star rating, add markup for content that isn't visible, or use a type Google no longer shows. Google's guidelines are strict about accuracy, and misleading markup can be ignored or penalised.
A little structured data, accurate and matched to your real content, is worth having. A lot of invented markup is worse than none.
An everyday analogy
Think of a product in a supermarket. The packaging has a colourful design and marketing copy — that's your web page as humans see it. But the back also has a standard nutrition label: the same fields, in the same order, on every product. Anyone can read it quickly and compare products.
Structured data is the nutrition label for your page. The design can be anything you like; the label is standardised so machines can read it reliably. And like a nutrition label, it must be honest about what's inside.
How structured data works
Structured data has two parts:
- A vocabulary — the words used to describe things. The most common is schema.org, a shared vocabulary with types like
Product,LocalBusiness,Event,Article,RecipeandOrganization, and properties likename,price,addressandstartDate. - A format — how the labels are written into the page. Google supports three: JSON-LD, Microdata and RDFa. It recommends JSON-LD, which is a JSON block inside a
<script>tag, kept separate from the visible HTML.
Search engines read the block, understand the entities on the page, and — if the page qualifies and meets the requirements — may show a rich result: a search listing with extra detail.
A worked example: a candle shop product page
Say you've built an online shop and one page sells a lavender candle. The visible page shows the name, a photo, a description, the price ($24.00) and "In stock".
The JSON-LD for that page might look like this:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Lavender Soy Candle",
"image": "https://www.examplecandles.com/images/lavender.jpg",
"description": "Hand-poured soy candle with lavender essential oil. Burns for about 40 hours.",
"sku": "CAN-LAV-01",
"brand": { "@type": "Brand", "name": "Example Candles" },
"offers": {
"@type": "Offer",
"url": "https://www.examplecandles.com/candles/lavender",
"price": "24.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
It sits inside <script type="application/ld+json">…</script> in the page's HTML.
Notice what's not there: no aggregateRating, because the shop doesn't show reviews on the page. Adding a rating that visitors can't see would break Google's rules.
Now the same shop's contact page could describe the business itself:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Candles",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Market Street",
"addressLocality": "Bristol",
"postalCode": "BS1 1AA",
"addressCountry": "GB"
},
"telephone": "+44 117 000 0000",
"openingHours": "Mo-Sa 10:00-17:00"
}
Again, every value matches what's visible on the page.
Checking it. Paste the live URL into Google's Rich Results Test to see whether the page is eligible for Google's rich results and whether anything required is missing. Use the Schema Markup Validator for a general schema.org check. After launch, Search Console shows errors across the site.
Rules worth knowing
From Google's structured data documentation:
- Mark up only what users can see. Don't add structured data about information that isn't visible on the page, even if it's accurate.
- Include the required properties. Each rich result type lists required fields; missing ones make the page ineligible.
- Eligibility isn't a guarantee. Correct markup makes a page eligible for a rich result, not certain to get one.
- Rich result types change. Google retires some features over time. For example, its FAQ rich results were limited to well-known government and health sites, and Google announced they would stop appearing in Search from May 2026. Check Google's current search gallery before building for a specific rich result.
- Don't create pages just to hold markup.
Common terms explained
| Term | What it means |
|---|---|
| Structured data | Standardised labels describing what's on a page. |
| Schema markup | Structured data using the schema.org vocabulary; often used as a synonym. |
| Schema.org | A shared vocabulary of types and properties recognised by major search engines. |
| JSON-LD | Google's recommended format: a JSON block in a script tag. |
| Microdata / RDFa | Older formats that add attributes directly to HTML elements. |
| Type | What a thing is, like Product, Event or LocalBusiness. |
| Property | A detail about it, like price, startDate or address. |
| Rich result | A search listing with extra visual detail, such as price or rating. |
| Rich Results Test | Google's tool for checking eligibility for its rich results. |
| Schema Markup Validator | A general validator for schema.org markup. |
Common mistakes and misconceptions
- "Structured data boosts rankings." Its main value is understanding and rich result eligibility, not a ranking shortcut.
- Inventing reviews or ratings. Fake or unsupported ratings break Google's rules and mislead people.
- Markup that doesn't match the page. A price of $24 in JSON-LD and $29 on the page is a problem.
- Hidden content. Marking up text visitors can't see is against the guidelines.
- Copying markup to every page. A
Productblock belongs on product pages, not the home page and blog. - Building for retired features. Check that the rich result you want still exists.
- Adding markup only in the browser. If your site renders everything with JavaScript, Google may still find it, but putting the JSON-LD in the HTML the server sends is more reliable.
- Never testing. A missing comma makes the whole block unreadable.
What to ask your AI builder for
- "Add JSON-LD structured data using schema.org types that match each page:
Producton product pages,LocalBusinesson the contact page,Articleon blog posts." - "Generate the values from the same data the page displays, so they always match."
- "Don't add ratings, reviews or any property that isn't visible on the page."
- "Put the JSON-LD in the server-rendered or prerendered HTML."
- "Include all required properties for Google's rich result for that type, and tell me which ones you used."
- "Give me a list of URLs to check in the Rich Results Test."
For where this fits in the bigger picture, see what SEO is, what a sitemap is, and the technical walk-through in SEO for AI-built websites.
Structured data in Mythex
Mythex doesn't add structured data for you automatically; you ask for it in chat, and the agent writes it into your app's code. Tell it which pages represent products, events or your business, and ask it to generate the JSON-LD from the same data the page shows. The docs recipe on SEO for your published app includes the line "Do not invent fake review schema", which is good advice to keep in any prompt. Because the default setup is a client-rendered single-page app, ask for a prerendered or static-friendly structure if search matters, then publish and test the live URLs.
Questions
What is structured data in simple terms?
Structured data is a small block of code on a web page that labels what the page is about in a standard format, such as 'this is a product, its price is 24 dollars, it is in stock'. It helps search engines understand the page and can make it eligible for richer search results.
Does structured data improve rankings?
Google describes structured data as a way to understand pages and to make them eligible for rich results, not as a guarantee of anything. Its real value is that eligible pages can show extra detail, such as prices or ratings, in results.
What is JSON-LD?
JSON-LD is a format for writing structured data as a JSON block inside a script tag in the page. Google recommends it because it sits apart from the visible HTML and is easy to generate and maintain.
What is schema.org?
Schema.org is a shared vocabulary of types and properties, such as Product, Event, LocalBusiness, name and price, that search engines understand. Structured data uses schema.org terms to describe things.
How do I test structured data?
Use Google's Rich Results Test to see whether a page is eligible for Google's rich results, and the Schema Markup Validator to check the markup against schema.org in general. After launch, Search Console reports show errors on live pages.