JSON-LD Examples for Every Schema Type

You know your page needs structured data, so you go looking for an example to copy — and end up with ten browser tabs, each showing a slightly different JSON-LD block, none of them explaining which properties are actually required versus optional for your content.

This guide skips the theory and goes straight to working code. Below is a complete, copy-ready JSON-LD example for every major schema type, with the properties that matter called out so you know exactly what to change before it goes live on your own page.

Quick Answer

A JSON-LD example is a script block that starts with an @context set to schema.org and an @type like Article, Product, or FAQPage, followed by properties describing that specific piece of content. The examples below cover Article, Product, FAQPage, Recipe, Organization, LocalBusiness, and BreadcrumbList — copy the one matching your page, swap in your real details, and paste it into your site's head or footer.

What is a JSON-LD example, exactly?

A JSON-LD example is simply a filled-in template. It follows the JSON-LD (JavaScript Object Notation for Linked Data) syntax that schema.org vocabulary is written in, wrapped inside a script tag so a browser ignores it visually while a search engine reads it as data.

Once you can read one example, you can read all of them — the shape stays consistent, only the type and its required fields change.

Why working examples matter more than theory

Reading the schema.org documentation for a type tells you every possible property. A working example tells you the small subset that's actually worth filling in:

📊 Quick stat Most structured data problems flagged in Search Console are properties filled with placeholder or copied example values that were never swapped out — the syntax was already fine, the content wasn't.

Step-by-step: using an example on your own page

  1. Identify what your page actually is. A blog post is Article, a product listing is Product, a support section is FAQPage — pick the type that matches the content, not the one with the flashiest search result.
  2. Copy the matching example below. Each one is complete and valid as written, ready to be edited in place rather than built from scratch.
  3. Replace every placeholder value. Swap the example's name, URL, image, price, and dates for your page's real details — nothing from the sample should survive into production.
  4. Remove properties that don't apply. If your page has no rating, delete the aggregateRating block entirely rather than leaving it with fabricated numbers.
  5. Paste the script tag into your page. Place it in the head, or just before the closing body tag, so it stays out of the visible content area.
  6. Validate before and after publishing. Run the edited code through Google's Rich Results Test, then re-check the live URL once it's public.
  7. Update the block whenever the content changes. A price change, a rewritten FAQ answer, or a new author all need the matching property updated in the script too.
Try the Rebrixe Schema Generator — free Fill in a form instead of editing raw JSON. Get a ready-to-paste block for any type below.
Generate Schema Markup →

Common mistakes when copying an example

1. Leaving example.com URLs in place

It's an easy field to miss because it doesn't visibly break the page — but a url or image property still pointing at a placeholder domain tells a search engine the data doesn't describe this page at all.

2. Keeping properties that don't apply to your content

An example built to show every possible field often includes optional properties like aggregateRating or review. If your page doesn't have that content, the property needs to be deleted, not filled with invented numbers.

3. Using the wrong date format

Dates in JSON-LD need ISO 8601 format (2026-07-04), and copying a date typed in a different style from elsewhere on the page is one of the more common validator errors.

4. Duplicating the same block across every page

An Article example copied unchanged onto ten different blog posts still points to the first post's headline and date — each page needs its own values, even when the structure is identical.

💡 Pro tip After pasting an example, search the block for anything that still reads like a sample — "Example Author," "yourdomain.com," a round placeholder price like $19.99 — those are the fields most likely to have been missed.

JSON-LD examples by schema type

Complete, copy-ready blocks for the schema types most sites actually need. Replace every value before publishing.

Article

JSON-LD · Article
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Your Article Title Here",
  "image": "https://yoursite.com/images/article-cover.jpg",
  "author": {
    "@type": "Person",
    "name": "Author Name"
  },
  "datePublished": "2026-07-04",
  "publisher": {
    "@type": "Organization",
    "name": "Your Site Name"
  }
}

Product

JSON-LD · Product
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Your Product Name",
  "image": "https://yoursite.com/images/product.jpg",
  "description": "A short, accurate description of the product.",
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "49.00",
    "availability": "https://schema.org/InStock"
  }
}

Only add an aggregateRating block if your page shows real, visible reviews.

FAQPage

JSON-LD · FAQPage
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Your question, exactly as shown on the page?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The answer, matching the visible text on the page."
      }
    }
  ]
}

Recipe

JSON-LD · Recipe
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Your Recipe Name",
  "image": "https://yoursite.com/images/recipe.jpg",
  "author": {
    "@type": "Person",
    "name": "Author Name"
  },
  "prepTime": "PT15M",
  "cookTime": "PT30M",
  "recipeYield": "4 servings",
  "recipeIngredient": ["2 cups flour", "1 tsp salt"]
}

Organization

JSON-LD · Organization
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company Name",
  "url": "https://yoursite.com",
  "logo": "https://yoursite.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/yourcompany",
    "https://twitter.com/yourcompany"
  ]
}

BreadcrumbList

JSON-LD · BreadcrumbList
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com" },
    { "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://yoursite.com/blog" }
  ]
}
Blog post
Use the Article example
headline + author
Required fields are already on most posts: title, author name, and a publish date.
Storefront listing
Use the Product example
price + availability
Only add aggregateRating if star ratings are genuinely displayed to visitors.
Support page
Use the FAQPage example
question + answer
Text must match the visible Q&A content word-for-word, not a rewritten summary.
Every page
Use the BreadcrumbList example
position order
Positions must count up from 1 in the same order the breadcrumb trail appears on screen.

Which schema type fits your page

A quick reference for matching your content to the right example above, before you copy anything.

Page type Schema to use Required fields Common rich result
Blog post / news Article headline, author, datePublished Top stories carousel
Product / listing page Product name, offers.price, availability Price + stock snippet
Support / FAQ section FAQPage mainEntity, question, answer Expandable FAQ dropdown
Recipe post Recipe name, image, recipeIngredient Recipe carousel (image-dependent)
Homepage / brand identity Organization name, url, logo Knowledge panel logo
Nested category pages BreadcrumbList itemListElement, position Breadcrumb trail in results

Generate your JSON-LD in seconds — free

If editing raw JSON still feels error-prone, the Rebrixe Schema Generator builds the same structures shown above from a simple form — Article, Product, FAQPage, Recipe, and more — with nothing to type by hand and nothing to debug.

Free Json-ld Validator & Template Pick a type, fill in the fields, copy the JSON-LD.
Open Json Validator & template →

Frequently asked questions

A JSON-LD example is a script block containing a @context line pointing to schema.org, an @type declaring the content category like Article or Product, and a set of key-value properties describing that specific page, such as name, image, or datePublished.
Only after replacing every example value with your own page's real details. Pasting an example unchanged means submitting placeholder text and stock URLs to Google as if they described your page, which triggers structured data errors and can look like manipulation.
The @context is almost always the same schema.org URL across every type. The @type changes based on the content: Article for a post, Product for a listing, FAQPage for a Q&A section, and so on, and the required properties change to match that type.
Nesting reflects real relationships in the content. A Product listing nests an Offer for its price and an AggregateRating for its reviews because those are properties of the product, not separate items on the page.
Inside a script tag with type="application/ld+json", typically placed in the page head or just before the closing body tag, rather than inside the visible content area where it would render as plain text instead of being read as code.
Paste the code into Google's Rich Results Test or the Schema Markup Validator before the page goes live, and again with the live URL after publishing, since both catch syntax errors and missing required fields.
No, multiple script blocks on one page are standard and expected, such as separate Article and FAQPage or Article and BreadcrumbList blocks describing different aspects of the same page.

Skip the syntax, keep the schema

The Rebrixe Schema Generator builds clean, valid JSON-LD for the most common schema types — no account, no watermark, and nothing to code, just a ready-to-paste code block.

Launch the Schema Generator → Open Json Validator & template →
← Back to blogs