Article

AIOJSON-LDSchema.orgtechnical - 2026-02-11

What is JSON-LD and how to implement Schema.org with it?

Google's recommended format for structured data — and how to add it to your site without changing the HTML

 
 
 
 

JSON-LD (JavaScript Object Notation for Linked Data) is the format recommended by Google for implementing Schema.org structured data in web pages. Instead of adding attributes directly to HTML tags (as the Microdata format requires), JSON-LD uses a separate <script> block in the page <head> — making implementation simpler, less error-prone, and independent of the page design. For generative AI systems, JSON-LD is the most reliable way to declare content type and page attributes.

Why JSON-LD is preferable to other formats

There are three ways to implement Schema.org: JSON-LD, Microdata, and RDFa. Google recommends JSON-LD for three practical reasons:

Separation between data and presentation: the JSON-LD sits in a separate script block from the main HTML. This means changing the page layout doesn't affect the structured data, and changing the structured data doesn't affect the layout. Microdata mixes both, making maintenance more laborious.

Ease of maintenance: to update data (a product price, a clinic's hours, a store's phone number), just edit the JSON-LD. No need to navigate through HTML to find the correct attributes.

Compatibility with any CMS: WordPress, Shopify, Webflow, Next.js, static sites — JSON-LD works in any environment because it's just a text block inserted in the <head>.

Basic JSON-LD structure

Every JSON-LD block starts with @context (pointing to the Schema.org vocabulary) and @type (defining the entity type):

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EntityType",
  "attribute1": "value1",
  "attribute2": "value2"
}
</script>

Practical examples by segment

Clothing store (Product):

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Women's Windbreaker Jacket",
  "description": "Lightweight and waterproof jacket for urban use and short hikes",
  "brand": { "@type": "Brand", "name": "BrandName" },
  "offers": {
    "@type": "Offer",
    "price": "89.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "83"
  }
}

Dental clinic (LocalBusiness):

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Bright Smile Dental Clinic",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60601"
  },
  "telephone": "+1-312-555-0100",
  "openingHours": ["Mo-Fr 08:00-18:00", "Sa 08:00-13:00"],
  "priceRange": "$$"
}

Law firm (FAQPage on services page):

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How long does a wrongful termination lawsuit take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The average timeline for a wrongful termination case ranges from 1 to 3 years, depending on the jurisdiction, case complexity, and whether the parties reach a settlement before trial."
      }
    }
  ]
}

Online course platform (Course):

{
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Excel: Zero to Advanced",
  "description": "Complete Excel course for finance, HR, and operations professionals",
  "provider": {
    "@type": "Organization",
    "name": "EduPro Courses"
  },
  "hasCourseInstance": {
    "@type": "CourseInstance",
    "courseMode": "online",
    "duration": "PT20H"
  }
}

Where to insert the JSON-LD on the page

The <script type="application/ld+json"> block should be inserted within the page's <head> — or in the <body>, which Google also accepts. In CMS platforms like WordPress, plugins like Yoast SEO, Rank Math, or Schema Pro automate JSON-LD generation for common types. On custom or headless platforms, JSON-LD can be generated programmatically from page data.

How to validate

Google provides the Rich Results Test which checks whether the JSON-LD is correct and what rich results it can generate. The Schema Markup Validator (validator.schema.org) verifies conformance with the Schema.org vocabulary independently of Google.

FRT Digital implements and audits JSON-LD as part of the AIO service, prioritizing the types with the greatest citability impact for each segment. To identify which structured data is missing or incorrect on your site, start with the AIO Score audit.

We build alongside great partners

Enjoyed it? Then read more on the topic:

AIOllms.txttechnical - 2026-02-11

What is llms.txt and how to create it for my site?

The new file that instructs AI systems about what your site contains — and how to implement it for any industry

Read
 
 
 
 
Product DesignOutsourcing - 2026-02-11

Brazil Design & Tech Partners Focused on Business Performance

How to identify design and technology partners in Brazil that prioritize business performance over just delivering screens

Read