Article
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 block in the page — 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 .
Basic JSON-LD structure
Every JSON-LD block starts with @context (pointing to the Schema.org vocabulary) and @type (defining the entity type):
``html ``
Practical examples by segment
Clothing store (Product): ``json { "@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): ``json { "@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): ``json { "@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): ``json { "@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 block should be inserted within the page's — or in the , 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.