Skip to main content
Comparison

FAQPage Schema vs JSON-LD: What's the Difference?

By ยท Updated ยท 7 min read

FAQPage Schema and JSON-LD Are Not the Same Thing

FAQPage Schema is a vocabulary type โ€” a structured description of a page that contains a list of questions and their answers, defined by Schema.org. JSON-LD (JavaScript Object Notation for Linked Data) is a syntax format โ€” a way of embedding that structured data inside a web page. The two operate at completely different levels: one describes what the content is, the other describes how that description is written into the HTML.

Confusing them is like confusing a recipe with the paper it is printed on. FAQPage Schema tells search engines 'this page contains FAQs.' JSON-LD tells the browser and search crawler 'here is a structured data block, written in a specific linked-data format, placed inside a script tag.' You need both to produce a working FAQ rich result โ€” FAQPage Schema gives the meaning, JSON-LD provides the delivery mechanism.

What JSON-LD Actually Does on the Page

JSON-LD is injected into a page inside a `<script type="application/ld+json">` tag, placed in either the `<head>` or `<body>`. It does not alter visual rendering. Its sole function is to carry structured data in a machine-readable format that Google, Bing, and other search engines parse independently from the visible HTML. Google explicitly recommends JSON-LD as the preferred format for structured data implementation.

The alternative structured data formats are Microdata and RDFa, both of which require annotating visible HTML elements directly with attributes. JSON-LD sidesteps that entirely โ€” the structured data block lives separately from the content markup. This separation makes JSON-LD easier to deploy via tag managers, CMS plugins, or server-side scripts without touching the rendered HTML template.

JSON-LD is format-agnostic at the vocabulary level. The same JSON-LD syntax block can carry Product schema, BreadcrumbList schema, Article schema, or FAQPage schema. JSON-LD is the envelope; the schema type determines what is inside it.

What FAQPage Schema Actually Does for Search

FAQPage Schema is a Schema.org type with a defined structure: a `@type` of `FAQPage`, containing a `mainEntity` array of `Question` objects, each with an `acceptedAnswer` containing `Answer` objects. When Google validates this structure and judges the page content trustworthy, it surfaces the questions and answers directly in search results as expandable rich results beneath the blue link.

For ecommerce operators, FAQPage rich results are valuable on product category pages, shipping policy pages, and return policy pages โ€” anywhere a customer has a recurring pre-purchase question. The rich result increases vertical space in the SERP, which typically lifts click-through rate on branded and navigational queries. FAQPage Schema does not guarantee a rich result; Google decides whether to display it based on content quality and its own eligibility criteria.

FAQPage Schema is one of roughly 30 Schema.org types that Google actively uses for rich results. It is not interchangeable with HowTo schema, QAPage schema, or SpecialAnnouncement schema โ€” each type has distinct eligibility rules and SERP treatments.

How FAQPage Schema and JSON-LD Interact in Practice

In a correctly implemented FAQ rich result, FAQPage Schema is the content of the JSON-LD block. The script tag opens, declares `application/ld+json`, and the JSON object inside sets `@context` to `https://schema.org` and `@type` to `FAQPage`. Without JSON-LD as the wrapper, the FAQPage Schema has no delivery vehicle โ€” the schema vocabulary exists only in documentation. Without FAQPage Schema as the content, a JSON-LD block carries no FAQ meaning.

It is technically possible to implement FAQPage Schema using Microdata or RDFa instead of JSON-LD, by annotating the visible HTML with `itemtype` and `itemprop` attributes. Google supports all three formats. However, Microdata ties the schema to specific DOM elements, making it fragile when page templates change. JSON-LD decouples schema from presentation, so a developer can update the FAQ data in the script block without altering the visible page layout.

A common error on ecommerce platforms is generating a JSON-LD block that references different questions than what the page actually displays. Google's guidelines require that FAQPage Schema content matches visible on-page content. Mismatches between the JSON-LD block and the rendered FAQ accordion result in manual actions or rich result suppression.

Point-by-Point Comparison: FAQPage Schema vs JSON-LD

Category: FAQPage Schema is a schema vocabulary type; JSON-LD is a structured data syntax format. Layer: FAQPage Schema operates at the semantic/content layer; JSON-LD operates at the implementation/delivery layer. Scope: FAQPage Schema applies only to FAQ content; JSON-LD carries any schema type. Dependency: FAQPage Schema requires a syntax format (JSON-LD, Microdata, or RDFa) to exist on a page; JSON-LD requires a schema type to carry meaningful data.

Replaceability: JSON-LD can be replaced by Microdata or RDFa while still delivering FAQPage Schema. FAQPage Schema cannot be replaced by another schema type and still produce FAQ rich results. Placement: JSON-LD lives in a `<script>` tag separate from visible content; FAQPage Schema via Microdata lives inside visible HTML element attributes. Google preference: Google recommends JSON-LD for all schema types including FAQPage. Ecommerce tooling: most Shopify apps and WooCommerce plugins generate FAQPage Schema delivered via JSON-LD blocks automatically.

Actionable Decision Framework for Ecommerce Implementation

Use JSON-LD as the default delivery format for FAQPage Schema on every ecommerce page that carries FAQ content. Place the `<script type="application/ld+json">` block in the `<head>` for fastest crawler access. Structure the block with `@context`, `@type: FAQPage`, and a `mainEntity` array that exactly mirrors the visible questions and answers on the page โ€” character-for-character alignment is not required, but content equivalence is.

Audit existing implementations using Google's Rich Results Test. The tool parses the JSON-LD block, validates FAQPage Schema structure, and flags missing required properties (`name` on Question, `text` on Answer). Fix errors in the JSON-LD syntax first (invalid JSON breaks the entire block), then fix schema errors (missing properties prevent rich result eligibility). Treat the two layers as separate debugging targets.

For Shopify stores using theme-level FAQ sections, verify that the theme outputs a JSON-LD block alongside the visual accordion โ€” many themes render the HTML but omit the structured data script. Add it via a theme snippet or a structured data app. For headless ecommerce builds, generate the JSON-LD block server-side to ensure crawlers see it without JavaScript execution dependency.

Frequently asked questions

Can you have FAQPage Schema without JSON-LD?

Yes. FAQPage Schema can be implemented using Microdata or RDFa instead of JSON-LD, by annotating visible HTML elements directly. However, JSON-LD is Google's recommended format because it separates the structured data from the HTML markup, making it easier to maintain. All three formats are valid for generating FAQ rich results, but JSON-LD is the dominant choice in practice.

Can you have JSON-LD without FAQPage Schema?

Yes, and this is standard practice. A single page routinely contains multiple JSON-LD blocks carrying different schema types โ€” Product, BreadcrumbList, Organization, and FAQPage can all coexist in separate script tags. JSON-LD is a general-purpose format. FAQPage Schema is just one of many vocabulary types it can deliver.

What happens if the JSON-LD block and the visible FAQ content don't match?

Google treats the mismatch as a policy violation. Its structured data guidelines require that FAQPage Schema content accurately reflects what is visible on the page. Discrepancies between the JSON-LD block and the rendered FAQ can result in the rich result being suppressed or a manual action applied to the site's structured data.

Does JSON-LD need to be in the head of the page for FAQPage Schema to work?

Google crawls JSON-LD blocks in both the `<head>` and the `<body>`. Placement in the `<head>` is a best practice for performance and clarity, but body placement is valid. The critical requirement is that the block is present in the static HTML or rendered DOM โ€” if it is injected only after user interaction, some crawlers will not see it.

Is JSON-LD the same as structured data?

No. Structured data is the broader concept โ€” any machine-readable data format that describes page content for search engines. JSON-LD is one specific syntax for delivering structured data. Microdata and RDFa are the alternatives. FAQPage Schema is a structured data vocabulary. JSON-LD is the format used to embed that vocabulary in the page source.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects in under 60 days using exactly this method โ€” turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

See what Otto would build for your store

Free architecture preview. No card required. Five minutes.

Generate Preview →