JSON-LD (JSON for Linking Data) is a format for embedding structured data in a webpage — a JSON object, following the schema.org vocabulary, inside a <script type="application/ld+json"> tag. It's how a page tells a search or AI engine explicitly what it is — an article, a product, a set of FAQs, an organization — instead of leaving the engine to infer it from prose.
Common types
Organization, WebSite, Article, Product, FAQPage, BreadcrumbList, SoftwareApplication, and DefinedTerm (used on glossary-style pages) are among the most common. A page can carry more than one type — this glossary page itself carries DefinedTerm.
Why it matters for GEO specifically
An AI engine synthesizing an answer doesn't have to parse and interpret prose to know a page is, say, an FAQ about pricing — the FAQPage schema states the questions and answers directly, in a format built for machine reading. That makes JSON-LD one of the clearest, lowest-ambiguity signals a page can send.
On Shopify, WordPress, and Next.js
Shopify themes typically add basic Product schema automatically; FAQPage schema usually needs an app. WordPress SEO plugins (Yoast, RankMath) generate most common types automatically — worth verifying it's actually present and valid, not just assumed. On Next.js, npm install ai-visibility and use SchemaBuilder from ai-visibility/schema.