๐ Contents
- Why structured data matters (2026 edition)
- How to add JSON-LD to any page
- FAQ schema โ copy-paste template
- LocalBusiness schema โ copy-paste template
- Article schema โ copy-paste template
- Product schema โ copy-paste template
- BreadcrumbList schema โ copy-paste template
- How to test your schema (before Google crawls it)
Why Structured Data Matters (2026 Edition)
JSON-LD structured data tells Google what your page means, not just what it says. HTML tells a browser "this is a heading, this is a paragraph." JSON-LD tells Google "this page is a local business with these opening hours, this phone number, and these services."
Pages with valid structured data get:
- Rich results in search โ star ratings, FAQs, breadcrumbs, sitelinks search box. These take up more SERP real estate and have 5-30% higher CTR than plain blue links
- Knowledge Graph eligibility โ your business appears in the right-hand knowledge panel
- Google Merchant Center integration โ product schema enables free listings in the Shopping tab
- AI search visibility โ ChatGPT, Perplexity, and Google AI Overviews use structured data to understand your content. Schema markup is machine-readable context for AI crawlers
How to Add JSON-LD to Any Page
JSON-LD goes in the <head> of your HTML page. It's a <script> tag with type="application/ld+json". Browsers ignore it โ it's for search engines only.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "My Tool Name",
"url": "https://example.com"
}
</script>
That's the simplest valid JSON-LD block. No special syntax, no CDATA wrapper โ just valid JSON in a script tag. Paste it anywhere in <head> or <body>; Google processes both.
FAQ Schema โ Copy-Paste Template
FAQ schema gets you expandable Q&A sections directly in Google search results. Here's the exact format:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "How long does shipping take?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Standard shipping takes 5-7 business days within the US. Express shipping (2-3 days) is available for an additional $12. We ship from our warehouse in Chicago Monday-Friday."
}
}, {
"@type": "Question",
"name": "What is your return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You can return any unused item within 30 days of delivery for a full refund. Return shipping is free. Refunds are processed within 3-5 business days of us receiving the returned item."
}
}]
}
Rules: The FAQ must be visible on the page (not hidden in an accordion behind a click โ Google penalizes that). Maximum ~5 questions per page for rich results. Don't use FAQ schema on every page; use it where you actually have Q&A content.
LocalBusiness Schema
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://example.com/#business",
"name": "Green Leaf Cafe",
"image": "https://example.com/photos/storefront.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "1428 Elm Street",
"addressLocality": "Portland",
"addressRegion": "OR",
"postalCode": "97201",
"addressCountry": "US"
},
"telephone": "+1-503-555-0142",
"email": "hello@greenleafcafe.com",
"url": "https://greenleafcafe.com",
"priceRange": "$$",
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "07:00",
"closes": "19:00"
}, {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday","Sunday"],
"opens": "08:00",
"closes": "16:00"
}],
"geo": {
"@type": "GeoCoordinates",
"latitude": 45.5155,
"longitude": -122.6789
},
"servesCuisine": "Coffee, Pastries, Sandwiches",
"sameAs": [
"https://instagram.com/greenleafcafe",
"https://facebook.com/greenleafcafe"
]
}
Required fields: name, address (at minimum streetAddress + addressLocality), and telephone or url. Must match exactly what's on your website and Google Business Profile. Mismatched phone numbers or addresses will cause Google to ignore the schema or, worse, flag inconsistency.
Article Schema
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Compress a PDF Without Losing Quality",
"author": { "@type": "Person", "name": "Jane Smith" },
"datePublished": "2026-07-26",
"dateModified": "2026-07-26",
"image": "https://example.com/images/pdf-compression-guide.jpg",
"publisher": {
"@type": "Organization",
"name": "iluv.tools",
"logo": { "@type": "ImageObject", "url": "https://iluv.tools/assets/logo.png" }
},
"description": "Three approaches to PDF compression, when to use each, and exact settings per document type."
}
Product Schema
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Ergonomic Desk Chair",
"image": "https://example.com/photos/chair.jpg",
"description": "Adjustable lumbar support, mesh back, 300lb capacity.",
"sku": "CHAIR-ERG-001",
"brand": { "@type": "Brand", "name": "ErgoPlus" },
"offers": {
"@type": "Offer",
"price": "249.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/products/ergonomic-chair"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "384"
}
}
Warning: AggregateRating requires real reviews on your site or a verified third-party source. Google will manually review this. Making up review counts violates guidelines and can trigger a manual action.
BreadcrumbList Schema
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
}, {
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog/"
}, {
"@type": "ListItem",
"position": 3,
"name": "PDF Compression Guide"
}]
}
BreadcrumbList replaces your URL in search results with "Home > Blog > Article Title" โ cleaner, more clickable, and shows content hierarchy. The last item should not have an item URL (it's the current page).
How to Test Your Schema
- Google Rich Results Test: search.google.com/test/rich-results โ Paste your URL or code snippet. Shows which rich result types are detected and any errors
- Schema.org Validator: validator.schema.org โ More thorough than Google's tool. Catches syntax errors and missing required fields
- Google Search Console: After deployment, check the "Enhancements" section. Shows which pages have valid schema, which have errors, and which have warnings
@id properties to link entities across multiple schema blocks. For example, your Organization schema defines the org with "@id": "https://example.com/#org", and your Article schema references it: "publisher": { "@id": "https://example.com/#org" }. This avoids duplicating organization data on every page.
Generate your schema automatically:
Schema Markup Generator โ