What Is Structured Data? A Complete Guide to Schema Markup

Structured data is a standardised way of providing explicit information about a web page so that search engines can understand its content precisely, without relying on inference. Instead of making Google guess that your page is about a recipe, a product, or a local business, structured data tells it directly — using a shared vocabulary that every major search engine understands. The result is richer search listings, better indexing, and an increasing number of AI-driven features that surface your content in new ways.

If you have ever searched for a recipe and seen cooking times, star ratings, and ingredient counts appear directly in the search results — without clicking the link — that is structured data at work. The same mechanism powers star ratings on product listings, FAQ dropdowns, event dates, breadcrumb trails, and the knowledge panels that appear when you search for a well-known brand.

This guide covers everything you need to know: what structured data is, how it works, every major schema markup type with real code examples, how to implement it step by step, validation tools, and how structured data now feeds into AI Overviews and voice search. Whether you are an SEO professional or a site owner just starting out, this is the definitive reference.

Quick start: Use the RankNibbler Schema Generator to build JSON-LD code for your page in seconds, then validate it with the Structured Data Checker.

The Full Definition: What Is Structured Data in SEO?

In the context of on-page SEO, structured data refers specifically to markup added to HTML pages that conforms to the Schema.org vocabulary. Schema.org is a collaborative project founded by Google, Microsoft, Yahoo, and Yandex in 2011. It provides a shared catalogue of types — Article, Product, Person, Place, Event, and hundreds more — each with defined properties that describe the characteristics of that type.

When you add structured data to a page, you are not changing what the page looks like to visitors. You are adding a machine-readable layer on top of your existing content. A product page might say "Buy the X200 Widget for £49.99" in its visible text. Structured data turns that into a formal statement: this page is a Product, its name is "X200 Widget", its price is 49.99, its priceCurrency is GBP, and its availability is InStock. Search engines store and use that information to power enhanced features.

Structured data is one of the three pillars of structured data SEO: helping search engines index content accurately, enabling rich result features, and feeding the machine learning systems that now power AI-generated answers.

JSON-LD vs Microdata vs RDFa: Which Format Should You Use?

There are three formats for implementing structured data on the web. They achieve the same goal but differ significantly in how they are written and maintained.

JSON-LD

JSON-LD (JavaScript Object Notation for Linked Data) is a block of JSON embedded in a <script type="application/ld+json"> tag. It is completely separate from the visible HTML of the page. Google recommends JSON-LD for all use cases because it is the easiest to add, update, and test — you do not need to touch your page's display markup at all. You can inject it from a CMS, a tag manager, or server-side code without touching the template. The examples throughout this guide use JSON-LD.

Microdata

Microdata is markup embedded directly into your HTML elements using attributes like itemscope, itemtype, and itemprop. It was the original recommended approach and is still supported, but it makes templates significantly harder to read and maintain. Changing a schema type requires editing every relevant HTML element, not just a single script block. Microdata is best avoided for new implementations.

RDFa

RDFa (Resource Description Framework in Attributes) is similar to Microdata in that it annotates HTML elements directly, using attributes like vocab, typeof, and property. It is used in some government and academic publishing contexts and is still valid, but like Microdata it is harder to maintain than JSON-LD for most websites.

FormatWhere It LivesEase of MaintenanceGoogle Preference
JSON-LDSeparate <script> blockHigh — edit one blockRecommended
MicrodataInline HTML attributesLow — touches all elementsSupported
RDFaInline HTML attributesLow — touches all elementsSupported

For virtually all website owners, JSON-LD is the right choice. The rest of this guide assumes you are using JSON-LD.

How Structured Data Works With Google

When Googlebot crawls a page, it parses any application/ld+json script blocks it finds, extracts the structured data, and validates it against the Schema.org vocabulary and Google's own guidelines. Valid, relevant structured data becomes eligible for rich result features. Google then runs additional checks — the page content must actually support the structured data claims, the page must not be spammy, and the schema type must be one that Google has chosen to surface as a rich result.

Not every valid schema type produces a visual rich result in the SERP. Google chooses which types to support. As of early 2026, the types with official rich result support include: Article, Breadcrumb, Carousel, Course, Dataset, Event, FAQ, HowTo, Image License, Job Posting, Local Business, Movie, Practice Problem, Product, Q&A, Recipe, Review Snippet, Sitelinks Searchbox, Software App, Speakable, and Video.

Types like Organization, Person, and ItemList do not always produce visible rich results on their own, but they contribute to Google's knowledge graph and can influence how your brand appears in knowledge panels and entity-based searches.

All Major Schema Types: Code Examples

The following sections cover every major schema type used in SEO, with complete JSON-LD code examples you can adapt for your own pages. Use the RankNibbler Schema Generator to build these automatically.

Article Schema

Use Article (or its subtypes NewsArticle and BlogPosting) for editorial content pages. Article schema is required for Google News inclusion and the Top Stories carousel, but it also helps Google understand the freshness and authorship of any content page.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "What Is Structured Data? A Complete Guide",
  "description": "Everything you need to know about schema markup and JSON-LD for SEO.",
  "url": "https://www.example.com/what-is-structured-data",
  "datePublished": "2026-03-01",
  "dateModified": "2026-04-01",
  "author": {
    "@type": "Person",
    "name": "Jane Smith",
    "url": "https://www.example.com/authors/jane-smith"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Site",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.example.com/logo.png"
    }
  },
  "image": {
    "@type": "ImageObject",
    "url": "https://www.example.com/images/structured-data-guide.jpg",
    "width": 1200,
    "height": 630
  }
}
</script>

Product Schema

Product schema is one of the highest-value schema types for e-commerce. It enables price, availability, and star rating data to appear directly in search results, and feeds into Google's Shopping surfaces. Always include offers for price information and aggregateRating if you have genuine customer reviews.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "X200 Wireless Headphones",
  "image": "https://www.example.com/images/x200.jpg",
  "description": "Noise-cancelling wireless headphones with 30-hour battery life.",
  "sku": "X200-BLK",
  "brand": {
    "@type": "Brand",
    "name": "AudioMax"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "348"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/products/x200",
    "priceCurrency": "GBP",
    "price": "149.99",
    "availability": "https://schema.org/InStock",
    "priceValidUntil": "2026-12-31"
  }
}
</script>

FAQ Schema

FAQ schema produces expandable question-and-answer dropdowns directly in the SERP, giving your result significantly more vertical space and interactive elements. It is one of the most widely used schema types for informational pages. See our dedicated guide on how to create FAQ schema for a full walkthrough.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is structured data in SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Structured data is code added to web pages using the Schema.org vocabulary to help search engines understand page content and display rich results."
      }
    },
    {
      "@type": "Question",
      "name": "Does structured data directly improve rankings?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Structured data does not directly change your ranking position, but rich results from schema markup typically improve click-through rates, which can lead to indirect ranking benefits."
      }
    }
  ]
}
</script>

LocalBusiness Schema

LocalBusiness schema (and its many subtypes like Restaurant, MedicalBusiness, LegalService) helps search engines connect your website to your physical location. It contributes to local pack rankings and ensures your hours, address, and phone number are accurately represented in knowledge panels.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "City Centre Dental Practice",
  "image": "https://www.example.com/images/dental.jpg",
  "telephone": "+44-20-7946-0100",
  "email": "[email protected]",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 High Street",
    "addressLocality": "London",
    "postalCode": "EC1A 1BB",
    "addressCountry": "GB"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 51.5194,
    "longitude": -0.0953
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "09:00",
      "closes": "17:30"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "09:00",
      "closes": "13:00"
    }
  ],
  "url": "https://www.example.com",
  "priceRange": "££"
}
</script>

Organization Schema

Organization schema helps establish your brand's entity in Google's knowledge graph. It connects your website to your social profiles, official name, logo, and contact points — helping Google build a complete picture of who you are. This is especially important for branded searches and knowledge panel accuracy.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Company Ltd",
  "url": "https://www.example.com",
  "logo": "https://www.example.com/logo.png",
  "foundingDate": "2015",
  "description": "A leading provider of digital marketing tools.",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+44-800-123-456",
    "contactType": "customer support",
    "availableLanguage": "English"
  },
  "sameAs": [
    "https://www.linkedin.com/company/example",
    "https://twitter.com/example",
    "https://www.facebook.com/example"
  ]
}
</script>

BreadcrumbList Schema

Breadcrumb schema replaces the raw URL in search results with a readable breadcrumb trail (e.g. Home > Blog > SEO Guides > Structured Data). This makes results more scannable and tells users where the page sits in your site hierarchy before they click.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://www.example.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "SEO Guides",
      "item": "https://www.example.com/seo-guides"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "What Is Structured Data",
      "item": "https://www.example.com/what-is-structured-data"
    }
  ]
}
</script>

HowTo Schema

HowTo schema describes step-by-step instructions and can produce a rich result that shows individual steps directly in the SERP. It is ideal for tutorial pages, guides, and any content that walks users through a process. Include estimated time, required tools, and clear step descriptions for the best results.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Add Structured Data to Your Website",
  "totalTime": "PT30M",
  "step": [
    {
      "@type": "HowToStep",
      "position": "1",
      "name": "Choose your schema type",
      "text": "Identify the most relevant Schema.org type for the page — Article, Product, FAQ, etc."
    },
    {
      "@type": "HowToStep",
      "position": "2",
      "name": "Write the JSON-LD",
      "text": "Create a script block with type application/ld+json and write the schema properties."
    },
    {
      "@type": "HowToStep",
      "position": "3",
      "name": "Add to your page",
      "text": "Paste the JSON-LD script into the <head> section of your HTML."
    },
    {
      "@type": "HowToStep",
      "position": "4",
      "name": "Validate and test",
      "text": "Run the page through Google's Rich Results Test and the RankNibbler structured data checker."
    }
  ]
}
</script>

Recipe Schema

Recipe schema is one of the richest result types available. A well-structured Recipe can show a featured image, star rating, cook time, prep time, calorie count, and ingredient summary directly in Google Search and Google Images. The recipe carousel is a prominent feature for food content.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Classic Spaghetti Carbonara",
  "image": "https://www.example.com/images/carbonara.jpg",
  "author": {"@type": "Person", "name": "Maria Rossi"},
  "datePublished": "2026-01-10",
  "description": "A traditional Roman spaghetti carbonara with eggs, guanciale, and Pecorino Romano.",
  "prepTime": "PT10M",
  "cookTime": "PT20M",
  "totalTime": "PT30M",
  "recipeYield": "2 servings",
  "recipeCategory": "Pasta",
  "recipeCuisine": "Italian",
  "nutrition": {
    "@type": "NutritionInformation",
    "calories": "580 calories"
  },
  "recipeIngredient": [
    "200g spaghetti",
    "100g guanciale",
    "2 large eggs",
    "50g Pecorino Romano",
    "Black pepper to taste"
  ],
  "recipeInstructions": [
    {
      "@type": "HowToStep",
      "text": "Cook spaghetti in salted boiling water until al dente."
    },
    {
      "@type": "HowToStep",
      "text": "Fry guanciale in a pan over medium heat until crispy."
    },
    {
      "@type": "HowToStep",
      "text": "Whisk eggs with grated Pecorino. Combine with pasta off the heat, tossing quickly."
    }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.9",
    "ratingCount": "212"
  }
}
</script>

Event Schema

Event schema powers rich results that display event name, date, location, and ticket availability. It also feeds into Google's dedicated event search experience. If your event is virtual, use eventAttendanceMode set to OnlineEventAttendanceMode.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "London SEO Summit 2026",
  "startDate": "2026-09-15T09:00",
  "endDate": "2026-09-15T18:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "ExCeL London",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "1 Western Gateway",
      "addressLocality": "London",
      "postalCode": "E16 1XL",
      "addressCountry": "GB"
    }
  },
  "image": "https://www.example.com/images/seo-summit.jpg",
  "description": "A one-day conference covering the latest in SEO strategy, structured data, and AI search.",
  "organizer": {
    "@type": "Organization",
    "name": "SEO Events Ltd",
    "url": "https://www.example.com"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://www.example.com/events/london-seo-summit",
    "price": "299",
    "priceCurrency": "GBP",
    "availability": "https://schema.org/InStock"
  }
}
</script>

VideoObject Schema

VideoObject schema helps your videos appear in Google's video rich results and the video carousel in SERPs. It also provides data for the video tab in Google Search. The thumbnailUrl and uploadDate fields are required; duration uses ISO 8601 duration format.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "How to Add JSON-LD Structured Data in 5 Minutes",
  "description": "A step-by-step video tutorial showing how to add JSON-LD schema markup to any website.",
  "thumbnailUrl": "https://www.example.com/images/video-thumb.jpg",
  "uploadDate": "2026-02-20",
  "duration": "PT5M30S",
  "contentUrl": "https://www.example.com/videos/json-ld-tutorial.mp4",
  "embedUrl": "https://www.youtube.com/embed/abc123",
  "publisher": {
    "@type": "Organization",
    "name": "Example Site",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.example.com/logo.png"
    }
  }
}
</script>

Review Schema

The Review type marks up an individual review, while AggregateRating marks up an average rating from multiple reviews. Neither should be used in isolation on a page that does not actually contain review content — Google will penalise sites that mark up reviews on pages that do not display them. Review schema is commonly nested inside Product, LocalBusiness, Recipe, and similar types.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "UltraBlend Pro Blender",
  "review": {
    "@type": "Review",
    "reviewRating": {
      "@type": "Rating",
      "ratingValue": "5",
      "bestRating": "5"
    },
    "author": {
      "@type": "Person",
      "name": "Sarah T."
    },
    "reviewBody": "Absolutely brilliant blender. Makes the smoothest smoothies I have ever had. Worth every penny."
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.6",
    "reviewCount": "94"
  }
}
</script>

SoftwareApplication Schema

SoftwareApplication schema is ideal for app landing pages, SaaS tools, and browser extensions. It can produce a rich result showing the app's star rating, operating system compatibility, and price category directly in search results.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "RankNibbler SEO Checker",
  "operatingSystem": "Web",
  "applicationCategory": "BusinessApplication",
  "url": "https://www.ranknibbler.com",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "GBP"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": "520"
  },
  "description": "Free on-page SEO checker and website audit tool."
}
</script>

Rich Results: What Structured Data Can Win You in the SERP

Schema TypeRich Result AppearanceCTR ImpactBest For
Article / BlogPostingTop Stories carousel, article image, dateHigh for newsBlog posts, news, guides
ProductPrice, availability, star rating badgeHighE-commerce product pages
FAQExpandable Q&A dropdowns below resultHigh — doubles result heightFAQ pages, informational content
HowToNumbered step list in SERPMedium–HighTutorial and how-to pages
RecipeImage, cook time, calories, ratingVery high for food contentRecipe and food blogs
LocalBusinessMap pack, hours, phone, reviewsHigh for local queriesPhysical business websites
EventDate, location, ticket linkMedium–HighEvent and ticketing pages
VideoObjectVideo carousel thumbnailHigh for video queriesPages with embedded video
BreadcrumbListBreadcrumb trail instead of URLLow–MediumAny structured website
SoftwareApplicationStar rating, OS, priceMediumApp and SaaS landing pages
ReviewStar rating snippetMedium–HighReview and comparison pages
OrganizationKnowledge panel, logo, social linksIndirect (entity signals)Brand homepages

How to Implement Structured Data: Step-by-Step

Implementing structured data SEO correctly from the start saves time and avoids errors. Follow these steps for any page.

Step 1 — Audit Your Page Type

Decide what the page is primarily about. Is it a product? An article? A local business? A how-to guide? Start with the single most relevant schema type. It is valid and often beneficial to include multiple schema types on one page — for example, a blog post can have both Article and BreadcrumbList — but do not try to add every type at once. Use our site audit tool to see which pages currently have structured data and which do not.

Step 2 — Choose Your Properties

Visit schema.org and look up your chosen type. Every type has required properties, recommended properties, and optional properties. Google's developer documentation lists specifically which properties are required for each rich result type. Always include at minimum the required properties; recommended properties improve your eligibility for rich results.

Step 3 — Write the JSON-LD

Use the RankNibbler Schema Generator to produce the JSON-LD automatically, or write it by hand. Make sure the content of your structured data accurately reflects the visible content on the page — Google cross-references the two. A mismatch is grounds for manual action.

Step 4 — Add It to Your Page

Paste the JSON-LD <script> block into the <head> section of your HTML. It can technically go in the <body> and Google will still read it, but <head> is best practice and avoids any CMS or template conflicts.

Step 5 — Validate the Markup

Run the page through Google's Rich Results Test (search.google.com/test/rich-results) and the RankNibbler Structured Data Checker. Look for any errors or warnings. Errors prevent rich result eligibility; warnings suggest improvements but do not block them.

Step 6 — Monitor in Google Search Console

After deploying structured data, check Google Search Console under Enhancements. Google will flag any schema it has detected and whether each type has errors, warnings, or valid items. If you see errors, fix them and request re-validation.

Step 7 — Track Rich Result Performance

In Google Search Console, use the Performance report and filter by Search Appearance to see impressions and clicks from rich results separately. If rich results are appearing but CTR is low, your page title and description may need improvement.

Validation Tools for Structured Data

Validating your structured data before and after deployment is not optional — errors in schema markup can prevent rich results entirely. Use these tools:

Google Rich Results Test

The official tool from Google. Enter a URL or paste HTML and it shows which rich result types Google detected and whether there are errors or warnings. Available at search.google.com/test/rich-results.

Schema.org Validator

The official Schema.org validator (validator.schema.org) checks your markup against the Schema.org specification rather than Google's specific guidelines. Useful for catching vocabulary errors that the Google tool might not surface.

RankNibbler Structured Data Checker

The RankNibbler Structured Data Checker extracts and displays all JSON-LD from any URL, highlights errors, and shows a human-readable breakdown of every property. It is particularly useful for auditing competitor structured data or checking CMS-generated markup you did not write yourself.

Google Search Console

Search Console's Enhancements section shows live production data — which pages Google has detected structured data on, and which have errors. This is the only tool that shows you data at scale across your whole site rather than page by page.

Structured Data and AI Overviews

Google's AI Overviews (the AI-generated summaries that appear above organic results for many queries) rely heavily on structured data to understand and attribute content. When Google generates an AI Overview that cites a source, structured data helps it accurately identify who wrote the content, when it was published, and what entity it belongs to.

Pages with well-implemented Article schema — including clear author, dateModified, and publisher properties — are better positioned to be cited as sources in AI Overviews. FAQ schema, in particular, maps closely to the question-and-answer format that AI Overviews use to address specific user queries. If your FAQ schema answers a question that matches a common search query, that content may be surfaced in an AI Overview even if your organic result is not position one.

For more on how to optimise for this feature, see our guide on AI Overviews SEO. The key principles are: use structured data to establish clear entity relationships, keep your content factually accurate, and ensure dateModified is current so Google knows your information is fresh.

AI Overview tip: FAQ schema is particularly effective at getting content cited in AI Overviews because the question-answer format directly matches how AI summaries present information. Use it on any page that answers specific questions.

Structured Data and Voice Search

Voice assistants — Google Assistant, Siri, Alexa, and Cortana — rely on structured data to deliver fast, confident answers to spoken queries. When someone asks "What time does [business] close?" or "How do I make carbonara?", the assistant looks for structured, machine-readable answers it can speak aloud without needing to interpret unstructured prose.

LocalBusiness schema with complete openingHoursSpecification data is critical for local voice queries. FAQPage schema directly feeds voice answers because the question-answer format maps one-to-one to how voice responses are delivered. Speakable schema (a Google-specific extension) lets you mark specific sections of a page as suitable for text-to-speech delivery — it is currently used in Google News content.

As voice search continues to grow for local and informational queries, implementing structured data is one of the highest-leverage things you can do to be the source that voice assistants quote. Voice results are typically drawn from position zero (featured snippets), and structured data increases your eligibility for those featured snippets by clarifying content structure to Google.

Structured Data Best Practices

Following these best practices ensures your structured data works effectively and complies with Google's quality guidelines.

Common Structured Data Mistakes

Even experienced SEOs make these errors. Check your implementation against this list to avoid common pitfalls.

Invalid JSON Syntax

JSON is strict about syntax. A single missing comma, an unclosed bracket, or an unescaped character will make the entire script block invalid. Use a JSON validator (jsonlint.com) to check syntax before testing for schema validity.

Missing Required Properties

Every schema type that produces a rich result has required fields. For Product, Google requires name. For Recipe, it requires name, image, and recipeIngredient. Check Google's developer documentation for the specific requirements of each type you implement.

Mismatched Content

The structured data must match the visible page content. If your Product schema says the price is £29.99 but the page shows £39.99, that is a policy violation. If your Article schema says dateModified is today but the content was written two years ago, that misleads users and search engines about freshness.

Using Deprecated Properties

Schema.org evolves. Properties get deprecated and replaced. For example, streetAddress is preferred over older address formats in PostalAddress. Check schema.org directly for the current property names rather than copying old tutorials verbatim.

Marking Up Off-Page Content

You cannot use structured data to claim things that are not on your page. You cannot add Review schema with five-star ratings if your page does not display those reviews. You cannot add Event schema for events that are not described on the page.

Not Monitoring Search Console

Structured data can break when a CMS is updated, when templates change, or when plugins conflict. Search Console's Enhancements section will flag these issues — but only if you check it. Build regular structured data audits into your SEO workflow.

One Schema Type Per Page Thinking

A single page can and often should have multiple schema types. An article page might have Article, BreadcrumbList, and FAQPage all at once. A product page might have Product, BreadcrumbList, and Organisation. Each type serves a different purpose and there is no penalty for combining them correctly.

Platform Guides: Implementing Schema Markup in WordPress and Shopify

Structured Data in WordPress

WordPress has the widest range of structured data tools of any CMS platform. The main options are:

For WooCommerce stores, Rank Math and Yoast both pull product data (price, availability, SKU) automatically from the product post type, significantly reducing manual effort. Always validate output with the Structured Data Checker after plugin installation or major updates.

Structured Data in Shopify

Shopify themes include basic Product schema by default in most modern themes, but the implementation is often incomplete — missing aggregateRating, limited offers data, and no support for BreadcrumbList or Organisation schema. Improvement strategies include:

Shopify's default product schema often uses Microdata rather than JSON-LD. If you are adding JSON-LD separately, remove or disable the old Microdata implementation to avoid duplication conflicts.

Platform tip: After making any CMS or plugin change that affects structured data, always re-run validation with the RankNibbler Structured Data Checker to catch breakages before Google does.

Structured Data and the Broader SEO Picture

Structured data is one component of a well-rounded SEO strategy, not a silver bullet. It works best when combined with strong on-page SEO fundamentals — well-optimised title tags, clear heading structure, fast page load times, and high-quality content that genuinely answers user queries.

Rich results from schema markup improve click-through rates, which means more traffic from the same rankings. But structured data does not directly change where a page ranks in organic results. The relationship is indirect: better CTR signals to Google that users find your result relevant, which can positively influence ranking over time. More importantly, for many query types — particularly informational and local queries — rich results are so visually prominent that being in position three with an FAQ expansion can outperform position one without.

Structured data also feeds entity-based ranking signals. When Google can clearly identify your site as a specific Organisation entity, with consistent name, URL, logo, and social profile links across all your schema, it builds stronger entity confidence. This contributes to branded search performance, knowledge panel accuracy, and authority in topical areas you consistently cover.

For a complete audit of your site's SEO signals including structured data, use the RankNibbler Site Audit.

Frequently Asked Questions About Structured Data

For more on structured data questions, see our dedicated FAQ Schema guide and the RankNibbler SEO Glossary.

Does structured data directly improve search rankings?

Not directly. Structured data does not change your position in organic search results. However, it enables rich results that improve click-through rates, and higher CTR can have an indirect positive effect on rankings over time. The primary benefit is the visual enhancement and additional real estate rich results provide.

How long does it take for structured data to appear in Google?

After adding or correcting structured data, Google typically detects and processes it within a few days to two weeks, depending on how frequently Googlebot crawls your site. You can speed this up by submitting the URL in Google Search Console's URL Inspection tool and requesting indexing.

Can I add multiple schema types to one page?

Yes, and in many cases you should. A product page can include Product, BreadcrumbList, and Organisation schema simultaneously. A blog post page can include Article, BreadcrumbList, and FAQPage. Simply include multiple separate <script type="application/ld+json"> blocks, one for each type.

What is the difference between Schema.org and structured data?

Schema.org is the vocabulary — the shared dictionary of types and properties that search engines understand. Structured data is the broader practice of marking up page content in a machine-readable format. JSON-LD, Microdata, and RDFa are the formats you use to express Schema.org vocabulary as structured data.

Is structured data a Google ranking factor?

Google has confirmed that structured data is not a direct ranking factor in the sense that adding it will not move you from position five to position one. However, it influences the appearance of your results (rich results), which affects CTR, and it contributes to entity understanding, which affects topical authority signals.

What happens if my structured data has errors?

Errors in structured data typically prevent the affected schema type from qualifying for rich results. Other schema types on the same page may still work. Google Search Console will flag the specific errors. Fix them and either wait for Google to re-crawl or use the URL Inspection tool to request re-validation.

Can I use structured data on a JavaScript-rendered site?

Yes. Google can execute JavaScript and read JSON-LD injected by JavaScript. However, server-side rendered or statically rendered structured data is more reliable and faster for Google to process. If you are using a JavaScript framework like React or Next.js, use a library that server-side renders your JSON-LD in the document head.

Does structured data help with voice search?

Yes, significantly. LocalBusiness schema with opening hours helps voice assistants answer "what time does X close" queries. FAQPage schema provides ready-made spoken answers. SpeakableSpecification schema explicitly marks content for voice delivery in Google News. Voice search is one of the strongest arguments for comprehensive structured data implementation.

Should I add FAQ schema to every page?

Only if the page genuinely contains multiple question-and-answer pairs. Adding FAQ schema to a page that does not have actual Q&A content violates Google's guidelines. But if you have a page with a genuine FAQ section — even just two or three questions — adding FAQPage schema is almost always worthwhile given how significantly it expands your SERP footprint. See our guide on how to create FAQ schema.

How does structured data relate to AI Overviews?

Structured data helps Google's AI understand content provenance, freshness, authorship, and entity relationships — all signals that feed into which sources are cited in AI Overviews. Pages with complete Article schema (especially current dateModified and clear authorship), FAQ schema, and strong entity markup are better positioned to be cited in AI-generated answers. See our guide on AI Overviews SEO for a full breakdown.

Is structured data the same as Open Graph markup?

No. Open Graph markup (og: meta tags) controls how your pages appear when shared on social media platforms like Facebook and LinkedIn. Structured data (Schema.org JSON-LD) is for search engines. They serve different purposes and you should implement both independently. The RankNibbler homepage checks both in its SEO audit.

How do I check if my site already has structured data?

Use the RankNibbler Structured Data Checker — paste any URL and it will extract, display, and validate all structured data on the page. Alternatively, view the page source (Ctrl+U) and search for application/ld+json to find any existing JSON-LD blocks manually.

Ready to implement? Use the RankNibbler Schema Generator to build JSON-LD for any schema type in seconds, then validate it with the Structured Data Checker. Run a full site audit to find all pages missing structured data.

Last updated: April 2026