$ man how-to/schema-markup-for-geo

geo-seointermediate

How to Set Up Schema Markup for GEO

Tell AI engines exactly what your content is with structured data


Why Schema Matters for AI Engines

Schema markup is structured data embedded in your pages using JSON-LD that tells machines what kind of content they are looking at. Without schema, an AI engine has to guess whether a page is a definition, a tutorial, a blog post, or a product page. With schema, you tell it explicitly. Pages with 3 or more schema types have roughly 13% higher citation likelihood from AI engines. 96% of AI Overview citations come from sources with strong E-E-A-T signals, and schema is how you make those signals machine-readable. This is not optional for GEO. It is infrastructure.
CODE

Schema Types by Content Type

Match your schema to your content type. Knowledge terms and glossary entries use DefinedTerm or Article plus FAQPage plus BreadcrumbList. How-to guides use HowTo with step elements plus BreadcrumbList. Wiki entries use TechArticle or Article plus FAQPage. Blog posts use BlogPosting with author and datePublished. Every page on every site should also include Organization, Person (for the author), and WebSite schemas. The schema-dts npm package gives you TypeScript types for all schema.org vocabulary. Install it and you get autocomplete and type checking for every schema property. No more guessing whether it is datePublished or publishDate. The types enforce correctness at build time.
CODE

Implementing Schema in Next.js with JSON-LD

In Next.js, inject JSON-LD schema as a script tag in your page or layout component. Create a reusable component that takes typed schema data and renders the script tag. In ShawnOS, the schema is generated from the same TypeScript data objects that render the page content. The knowledge term data object contains the name, definition, and related terms. The schema component reads those same fields and outputs a DefinedTerm JSON-LD block. This means schema and content can never drift apart. When you update a definition in engineering-terms.ts, the schema updates automatically on the next build. No manual sync. No separate CMS field for schema data. One source of truth rendered two ways: once as visible content, once as invisible structured data.
PRO TIP

Testing and Validating Your Schema

Use Google's Rich Results Test to validate individual pages. Use the Schema Markup Validator for comprehensive checks against the schema.org specification. Run both after every deploy that changes content structure. Common mistakes: missing required fields (HowTo needs at least one step element), mismatched types (using Article when DefinedTerm is more specific), and orphaned schema (structured data that does not match visible page content). Google explicitly warns against schema that does not reflect what users see on the page. Schema should describe your content, not invent content that does not exist.

related guides
How to Optimize Your Content for AI CitationsHow to Create an llms.txt FileHow to Build a Content Knowledge Graph
← how-to wikiknowledge guide →
ShawnOS.ai|theGTMOS.ai|theContentOS.ai
built with Next.js · Tailwind · Claude · Remotion