Structured Data for AI
How to make your content machine-readable using JSON-LD and schema.org.
TL;DR
Structured data (JSON-LD + schema.org) tells machines what your content means, not just what it says. It's the difference between "here's some text about a product" and "here's a Product with a name, price, and rating." AI systems can parse structured data directly, making it essential for GEO.
Why Structured Data Matters for AI
When an AI reads your webpage, it sees text. Lots of text. It has to infer what that text means:
- Is "$99" a price or a random number?
- Is "John Smith" an author or just a mention?
- Is this page about a product, article, or company?
Structured data removes the guesswork. It explicitly tells AI systems the semantic meaning of your content.
JSON-LD: The Preferred Format
JSON-LD (JavaScript Object Notation for Linked Data) is the recommended format for structured
data. It's a script tag you add to your page's <head>:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Optimize for AI",
"author": {
"@type": "Person",
"name": "Jane Doe"
},
"datePublished": "2025-01-15",
"description": "A guide to GEO best practices"
}
</script>
Key Schema Types for GEO
Organization
Use on your homepage or about page to identify your company:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Corp",
"url": "https://acme.com",
"description": "Enterprise software for logistics",
"foundingDate": "2018",
"sameAs": [
"https://twitter.com/acmecorp",
"https://linkedin.com/company/acmecorp"
]
}
Article / BlogPosting
Use on blog posts and articles. This is essential for citation attribution:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "The Complete Guide to GEO",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://acme.com/team/jane"
},
"datePublished": "2025-01-15",
"dateModified": "2025-01-20",
"publisher": {
"@type": "Organization",
"name": "Acme Corp"
}
}
FAQPage
Extremely valuable for AI. Makes your FAQs directly extractable:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is GEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "GEO (Generative Engine Optimization) is..."
}
},
{
"@type": "Question",
"name": "How is GEO different from SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "While SEO optimizes for search rankings..."
}
}
]
}
Product
For product pages. Helps AI understand and compare offerings:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Pro Analytics Dashboard",
"description": "Real-time business intelligence",
"offers": {
"@type": "Offer",
"price": "149",
"priceCurrency": "USD",
"priceValidUntil": "2025-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "127"
}
}
HowTo
For tutorials and guides. Makes step-by-step content extractable:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Set Up Your Dashboard",
"step": [
{
"@type": "HowToStep",
"name": "Create Account",
"text": "Sign up at dashboard.acme.com"
},
{
"@type": "HowToStep",
"name": "Connect Data Source",
"text": "Click 'Add Connection' and select your data source"
}
]
}
Implementation Best Practices
1. Match Content to Schema
Only use schema types that accurately describe your content. Don't mark a blog post as a Product or a company page as an Article.
2. Include All Recommended Properties
Each schema type has required and recommended properties. Include as many as you can accurately fill. Google's Structured Data documentation lists these.
3. Keep Data Accurate
Structured data must match your visible content. Don't claim a 5-star rating in JSON-LD if your page shows 4 stars.
4. Validate Your Markup
Use Google's Rich Results Test to check for errors in your structured data.
Common Mistakes
- Missing author information - Always include author on articles
- No dates - datePublished and dateModified help AI assess freshness
- Generic descriptions - Be specific, not "A great product for everyone"
- Broken JSON - Always validate your JSON-LD syntax
Priority Implementation Order
- Organization - On homepage and about page
- Article/BlogPosting - On all blog posts
- FAQPage - On FAQ sections (high value for AI)
- Product - On product pages
- HowTo - On tutorials and guides
Check Your Structured Data
Our scanner detects JSON-LD markup and checks for valuable schema types.
Scan Your Site