JSON-LD Examples: The Definitive Library for Structured Data Architectures
The transition from legacy semantic markup—such as inline Microdata and RDFa—to the modern JSON-LD (JavaScript Object Notation for Linked Data) standard represents one of the most critical evolutions in technical Search Engine Optimization (SEO). Before JSON-LD became the universally recommended standard by Google, Bing, and Yandex, web developers were forced to wrap their visible HTML elements in messy, hard-to-maintain itemprop and itemscope attributes. This older approach tightly coupled the data layer to the visual presentation layer, making site redesigns dangerous and increasing the risk of broken structured data.
JSON-LD completely revolutionizes this architecture by fully decoupling your semantic data from the Document Object Model (DOM). By encapsulating your structured data inside a discrete <script type="application/ld+json"> tag within the document head or body, search engine crawlers can instantly parse the raw entity relationships without having to traverse your complex visual HTML trees. This results in faster indexation, significantly fewer parsing errors, and a vastly improved developer experience.
However, the flexibility of JSON-LD means that it relies entirely on strict adherence to the vocabularies maintained by Schema.org. A single missing comma, an unescaped character, or a deeply nested property placed in the wrong object hierarchy will instantly invalidate the entire payload. In this definitive, deeply technical guide, we will break down the essential syntax, advanced nesting rules, and required properties for the most critical schema architectures used by enterprise websites today. We will provide production-ready code examples that you can immediately adapt for your own platforms.
1. The Core Architecture of a JSON-LD Object
Before diving into specific entity types, it is absolutely essential to understand the foundational anatomy of a JSON-LD payload. Every valid schema object must begin by declaring its context and its entity type. Without these two primary keys, search engine parsers will instantly reject the script block.
- @context: This key must always be set to
"https://schema.org". It acts as the ultimate reference dictionary, telling the crawler exactly which vocabulary is being used to define the subsequent properties. - @type: This defines the specific entity you are describing (e.g.,
"Article","Product","Organization"). The type dictates which properties are considered mandatory, recommended, or invalid.
"One of the most powerful features of JSON-LD is its ability to nest entities. You are not limited to declaring a single type. For example, a 'Recipe' entity can nest a 'VideoObject' entity, which in turn can nest an 'InteractionCounter' entity. This creates a deeply mapped knowledge graph that search engines use to populate highly complex rich search results."
2. Article and NewsArticle Schema
If you operate a digital publication, a corporate blog, or a news aggregator, implementing Article or NewsArticle schema is a non-negotiable requirement. This markup serves as a direct signal to Google's algorithms that your content is authoritative, explicitly time-stamped, and attributed to a verified author. For publishers, flawless NewsArticle schema is the primary gateway to appearing in Google's highly coveted "Top Stories" carousel on mobile devices, which can drive massive, instantaneous spikes in organic traffic for time-sensitive content.
Critical Properties for Articles
To avoid warnings in Google Search Console, your Article schema must be incredibly robust. Pay close attention to the following fields:
- headline: The exact title of the article. It should closely match your visual
<h1>tag. It is limited to 110 characters. - image: Google mandates an array of high-resolution image URLs. To qualify for Discover feeds and Top Stories, you must provide images that are at least 1200 pixels wide and utilize the 16:9, 4:3, and 1:1 aspect ratios.
- datePublished & dateModified: These must be formatted as strict ISO 8601 timestamp strings (e.g.,
2026-06-19T08:00:00+08:00). Accurately updating thedateModifiedfield is crucial for signaling content freshness to the crawler. - author: This should be a nested object defining either a
Personor anOrganization. Google strongly prefers detailed author profiles, including URLs to the author's biography page.
Production-Ready Article Example
{
"@context": "https://schema.org",
"@type": "NewsArticle",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.texterfly.com/blog/json-ld-schema-markup-examples"
},
"headline": "JSON-LD Examples: The Definitive Library for Structured Data",
"image": [
"https://www.texterfly.com/images/1x1/json-ld-guide.jpg",
"https://www.texterfly.com/images/4x3/json-ld-guide.jpg",
"https://www.texterfly.com/images/16x9/json-ld-guide.jpg"
],
"datePublished": "2026-06-19T08:00:00+00:00",
"dateModified": "2026-06-19T09:20:00+00:00",
"author": {
"@type": "Person",
"name": "Sarah Jenkins",
"url": "https://www.texterfly.com/authors/sarah-jenkins"
},
"publisher": {
"@type": "Organization",
"name": "Texterfly",
"logo": {
"@type": "ImageObject",
"url": "https://www.texterfly.com/logo.png"
}
}
}3. Product and Offer Schema (E-commerce Focus)
For e-commerce platforms, Product schema is the engine that drives bottom-of-the-funnel conversions. When you search for a physical good on Google, you are immediately met with visual shopping feeds displaying exact prices, current stock availability, and aggregate star ratings. Without Product schema, your individual SKU pages are functionally invisible in these rich transactional surfaces.
Navigating the Offer and AggregateRating Objects
Product schema requires an intense level of accuracy. If the price displayed in your JSON-LD payload differs from the price rendered in your visual HTML, Google's Merchant Center algorithms will throw a "Price Mismatch" error and suspend your listing. The financial data must be nested inside an Offer object.
Furthermore, to acquire the highly coveted gold stars beneath your search listing, you must include an AggregateRating object. It is a strict violation of Google's guidelines to fake this data. It must represent genuine reviews collected on your platform.
Production-Ready Product Example
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Ergonomic Mechanical Keyboard V2",
"image": [
"https://www.example.com/photos/keyboard-front.jpg",
"https://www.example.com/photos/keyboard-side.jpg"
],
"description": "A split mechanical keyboard featuring tactile brown switches and full QMK programmability to reduce repetitive strain injury.",
"sku": "KB-ERG-002",
"mpn": "925872",
"brand": {
"@type": "Brand",
"name": "Texterfly Tech"
},
"review": {
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "4",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "Marcus Aurelius"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "89"
},
"offers": {
"@type": "Offer",
"url": "https://www.example.com/ergonomic-keyboard",
"priceCurrency": "USD",
"price": "149.99",
"priceValidUntil": "2027-12-31",
"itemCondition": "https://schema.org/NewCondition",
"availability": "https://schema.org/InStock"
}
}4. Recipe Schema
The culinary space is arguably the most fiercely competitive niche in organic search. Ranking a food blog requires absolute mastery of Recipe schema. This highly specialized markup is what generates the beautiful rich recipe cards on mobile searches, complete with cooking times, calorie counts, and step-by-step instructions.
"To optimize for smart displays (like the Google Nest Hub) and voice assistants in the kitchen, your Recipe schema must heavily utilize the HowToStep object. By breaking your cooking instructions into discrete, numbered arrays, the voice assistant can read them aloud sequentially, allowing users to cook hands-free."Structuring Ingredients and Instructions
The recipeIngredient property is a simple array of text strings (e.g., "2 cups of flour", "1 tsp of cumin"). However, the recipeInstructions property is much more complex. It requires an array of HowToStep objects. You can also nest a NutritionInformation object to explicitly define caloric values, which is increasingly mandatory for health-conscious search intent.
Production-Ready Recipe Example
{
"@context": "https://schema.org/",
"@type": "Recipe",
"name": "Authentic Egyptian Koshari",
"image": [
"https://www.example.com/images/koshari-1x1.jpg",
"https://www.example.com/images/koshari-16x9.jpg"
],
"author": {
"@type": "Person",
"name": "Chef Ahmed"
},
"datePublished": "2026-06-19",
"description": "A classic Egyptian street food dish combining lentils, macaroni, and rice topped with a spicy tomato sauce and crispy fried onions.",
"prepTime": "PT30M",
"cookTime": "PT45M",
"totalTime": "PT1H15M",
"keywords": "koshari, egyptian food, vegan dinner, middle eastern recipe",
"recipeYield": "6 servings",
"recipeCategory": "Main Course",
"recipeCuisine": "Egyptian",
"nutrition": {
"@type": "NutritionInformation",
"calories": "450 calories"
},
"recipeIngredient": [
"1 cup brown lentils",
"1 cup medium-grain rice",
"1 cup elbow macaroni",
"2 large onions, thinly sliced",
"4 cups tomato sauce",
"2 cloves garlic, minced"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"name": "Boil the lentils",
"text": "Place the lentils in a pot of water and boil until tender, about 25 minutes. Drain and set aside."
},
{
"@type": "HowToStep",
"name": "Fry the onions",
"text": "In a large skillet, fry the thinly sliced onions in oil until they are dark brown and crispy. Remove with a slotted spoon."
},
{
"@type": "HowToStep",
"name": "Prepare the sauce",
"text": "Sauté the garlic, add the tomato sauce and spices, and simmer for 15 minutes."
}
]
}5. Event Schema
Whether you are managing a massive physical tech conference or hosting a weekly online webinar, Event schema is the critical bridge connecting your landing page to Google's specialized "Events" search interface. Event schema ensures your date, time, location, and ticketing information are prominently displayed directly on the SERP.
Handling Virtual vs. Physical Locations
The most common source of validation errors in Event schema involves the location object. Since the rise of remote work, Schema.org introduced strict distinctions between physical and virtual events.
For a physical event, the location must be a Place object containing a PostalAddress. For a purely online webinar, the location must be declared as a VirtualLocation, and it is highly recommended to include the direct join link in the url property. If your event is hybrid, you can provide an array containing both a Place and a VirtualLocation.
Production-Ready Event Example (Virtual)
{
"@context": "https://schema.org",
"@type": "Event",
"name": "Mastering Next.js Server Components",
"startDate": "2026-07-10T10:00:00-05:00",
"endDate": "2026-07-10T12:00:00-05:00",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "VirtualLocation",
"url": "https://www.example.com/webinars/nextjs-server-components"
},
"image": [
"https://www.example.com/images/nextjs-webinar-banner.jpg"
],
"description": "Join our lead architects for a deep dive into React Server Components, hydration strategies, and advanced edge caching.",
"offers": {
"@type": "Offer",
"url": "https://www.example.com/register/nextjs-webinar",
"price": "0",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"validFrom": "2026-06-01T00:00:00-05:00"
},
"performer": {
"@type": "Person",
"name": "Jane Doe"
}
}6. Organization Schema and the Knowledge Graph
Organization schema is the foundational building block of your brand's digital identity. It is typically deployed on the homepage or the "About Us" page. This markup feeds directly into Google's Knowledge Graph, dictating the official logos, contact numbers, and social media profiles that appear in the massive Knowledge Panel on the right side of desktop search results.
The most powerful property within the Organization object is sameAs. This is an array of URLs pointing to your official corporate profiles on platforms like LinkedIn, Twitter, Facebook, and Wikipedia. By explicitly defining these links, you create an unbreakable semantic web connecting your domain to your established social authority.
Production-Ready Organization Example
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Texterfly",
"url": "https://www.texterfly.com",
"logo": "https://www.texterfly.com/assets/images/logo-official.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-0199",
"contactType": "customer service",
"areaServed": "US",
"availableLanguage": ["English", "Arabic"]
},
"sameAs": [
"https://www.facebook.com/texterfly",
"https://twitter.com/texterfly",
"https://www.linkedin.com/company/texterfly"
]
}Validating and Deploying Your Data Architecture
The examples provided in this guide represent the gold standard of Schema.org architectures. However, copying and pasting raw JSON blocks is prone to human error. A rogue invisible character or a trailing comma left behind during a quick edit can cause Google Search Console to reject the entire document.
Before pushing any structured data to your production servers, it must undergo strict validation. Do not guess whether your code is correct. Use a programmatic approach to construct your entities safely.
Protect your SEO strategy and instantly generate perfectly formatted, properly escaped, and 100% Google-compliant JSON-LD arrays for all entity types using our free, high-performance Schema Markup Generator. Model your data perfectly first, then integrate it into your CMS or Next.js components with absolute confidence.
