When you search Google and see star ratings, FAQ accordions, recipe cards, or event details directly in the search results, that's structured data in action. By adding schema markup to your pages, you tell search engines exactly what your content means — and in return, you get rich results that dramatically increase click-through rates.
What Is Structured Data?
Structured data is a standardized format for describing the content on a page. It uses the Schema.org vocabulary — an open-source project created by Google, Microsoft, Yahoo, and Yandex. The most common format for adding structured data is JSON-LD (JavaScript Object Notation for Linked Data), which Google recommends.
JSON-LD: The Recommended Format
JSON-LD is added as a <script type="application/ld+json"> block in your HTML <head> or <body>. It doesn't affect the visual page — it's invisible metadata for search engines.
Common Schema Types
Article / Blog Post
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "CSS Grid vs Flexbox: When to Use Which",
"description": "A detailed comparison with practical examples...",
"author": {
"@type": "Organization",
"name": "Pan Tool"
},
"publisher": {
"@type": "Organization",
"name": "Pan Tool",
"logo": {
"@type": "ImageObject",
"url": "https://pantool.io/assets/images/logo.png"
}
},
"datePublished": "2025-06-15",
"dateModified": "2025-07-01",
"mainEntityOfPage": "https://pantool.io/blog/css-grid-vs-flexbox"
}
</script>
FAQ Page
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is URL encoding?",
"acceptedAnswer": {
"@type": "Answer",
"text": "URL encoding converts special characters into a format that can be safely transmitted in URLs using percent-encoding."
}
},
{
"@type": "Question",
"name": "When should I URL encode?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You should URL encode any user-supplied input that will be included in URLs, query parameters, or form data."
}
}
]
}
</script>
Breadcrumb Navigation
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://pantool.io/" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://pantool.io/blog" },
{ "@type": "ListItem", "position": 3, "name": "CSS Grid vs Flexbox" }
]
}
</script>
Software Application / Web Tool
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Base64 Encoder",
"url": "https://pantool.io/tools/base64-encode",
"applicationCategory": "DeveloperApplication",
"operatingSystem": "Any",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
}
}
</script>
Testing Structured Data
- Google Rich Results Test:
search.google.com/test/rich-results— check if your page is eligible for rich results - Schema Markup Validator:
validator.schema.org— validate against the Schema.org specification - Google Search Console: Monitor structured data errors and enhancements in the Enhancements report
Best Practices
- Use JSON-LD — it's Google's recommended format and easiest to maintain
- Mark up what's visible — structured data should describe content that users can see on the page
- Be specific — use the most specific schema type available (e.g.,
BlogPostinginstead of justArticle) - Include required properties — each schema type has required fields. Check Google's documentation.
- Don't use schema to deceive — Google penalizes misleading structured data
- Keep it updated — update
dateModifiedwhen you update content - Test after every change — use the Rich Results Test before deploying
Try Our Free Developer Tools
Format and validate your JSON-LD structured data.