Structured Data with JSON-LD: Tell Machines What You Mean
Short answer
Structured data is a machine-readable description written into the page in JSON-LD format using the schema.org vocabulary. It tells search engines and AI explicitly whether a page is an article or a product, who wrote it, and when it was updated. It is a prerequisite for rich results, and it gives AI more confidence to cite you.
What is structured data?
A person looking at a web page can instantly tell “this is the author’s name” or “this is the price,” but to a machine it’s all just text. Structured data uses a shared vocabulary (schema.org) to explicitly label that meaning.
The recommended format is JSON-LD: a block of JSON inside <script type="application/ld+json"> that doesn’t affect what’s displayed.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Structured Data with JSON-LD: Tell Machines What You Mean",
"datePublished": "2026-09-27T00:00:00.000Z",
"dateModified": "2026-09-27T00:00:00.000Z",
"author": { "@type": "Person", "name": "LanDi" }
}
Why do both SEO and GEO need it?
- SEO: It’s a prerequisite for rich results (star ratings, breadcrumbs, product prices, event dates). See Google’s Introduction to structured data.
- AEO/GEO: Answer engines need to “extract facts” from web pages. Spelling out the author, dates, organization, and product specs in structured data is more reliable than having them inferred from natural language.
Which types should I use?
| Site type | Recommended schema types |
|---|---|
| Homepage of any site | WebSite, Organization or Person |
| Blogs, news | Article/BlogPosting/NewsArticle |
| E-commerce | Product (with Offer, AggregateRating) |
| Local businesses | LocalBusiness |
| Pages in a hierarchy | BreadcrumbList |
| Q&A content | FAQPage, QAPage |
Are FAQ and HowTo still worth doing?
There’s one important change to know about: Google announced in August 2023 that FAQ rich results would only be shown for well-known, authoritative government and health websites, and that HowTo rich results would no longer be shown. So for a typical site, adding FAQPage no longer produces expandable Q&A results.
This site still keeps FAQPage because the on-page FAQ section is itself a good content format for AEO, marking it up does no harm, and other search engines and AI systems may still read it.
How do I write and validate it?
- Pick the right type: Check the Google Search Gallery to see which types Google supports and their required properties.
- Write the JSON-LD: It can go in either
<head>or<body>. - Validate the syntax: Use the Schema Markup Validator to check it against schema.org.
- Check Google eligibility: Use the Rich Results Test to see whether it can produce rich results.
- Monitor after launch: The “Enhancements” reports in Search Console list any errors.
The three most common mistakes
- JSON syntax errors: One extra comma and the whole block is ignored. This site’s health check catches this.
- Marking up content that isn’t visible: For example, marking up a rating that isn’t displayed on the page.
- Wrong date format: Use ISO 8601, for example
2026-09-27T00:00:00Z.
FAQ
Does adding structured data guarantee rich results?
No. Structured data only makes a page eligible; Google decides on its own whether to show rich results.
Should I use JSON-LD, Microdata, or RDFa?
Google supports all three, but officially recommends JSON-LD because it is kept separate from the HTML content and is the easiest to maintain.
Can structured data include content that isn't on the page?
No. Structured data must reflect content users can see on the page. Marking up hidden content violates Google's guidelines and can lead to a manual action.
→ Answer Engine Optimization (AEO): Become the Direct Answer