All articles
How-To

How to Add DefinedTerm Schema to a Glossary Page

September 13, 20267 min readIzajul HaqueIzajul Haque

Last verified: 2026-09-20. AI platform behavior changes frequently — verify current details on the respective platform's site.

DefinedTerm schema from schema.org marks up glossary terms with precise definitions, helping search engines and AI engines understand specialized vocabulary and return your definitions when users ask for term explanations.

Key Takeaways

  • DefinedTerm schema uses schema.org/DefinedTerm with name and description properties for each glossary entry.
  • A DefinedTermSet groups multiple DefinedTerm entries into a single machine-readable glossary collection.
  • DefinedTerm schema helps AI engines understand that your content provides definitions, increasing citation likelihood for definitional queries.
  • Each DefinedTerm must have a corresponding visible definition on the page — schema mirrors on-page content.
  • DefinedTerm is not a Google rich result type, but it improves LLM readability and entity understanding for AI search engines.


Glossary pages are natural citation targets for AI engines. When someone asks ChatGPT "what is GEO?" or "what is AEO?", the AI looks for authoritative definitions. DefinedTerm schema makes your glossary entries machine-readable, signaling to AI models that your content provides precise definitions worth citing. This guide walks through implementing DefinedTerm and DefinedTermSet schema correctly.

Step 1: Structure your glossary page with clear term-definition pairs

Build the page with each term as a heading and each definition as a paragraph below:

<h2>Generative Engine Optimization (GEO)</h2>
<p>GEO is the practice of optimizing content so AI-powered search engines — ChatGPT, Perplexity, Google AI Overviews — cite your brand in their generated answers. It focuses on entity optimization, structured data, and citation-worthy content.</p>

<h2>Answer Engine Optimization (AEO)</h2>
<p>AEO is the practice of structuring content so search engines can extract and display it as a direct answer in featured snippets, People Also Ask boxes, and voice responses. It builds on SEO foundations with question-answer formatting and FAQ schema.</p>

Each term-definition pair becomes one DefinedTerm entry in your schema. See the glossary for a live example of this structure.

Step 2: Create a DefinedTermSet as the root JSON-LD type

The root type for a glossary page is DefinedTermSet. This tells search engines and AI models that the page contains a collection of defined terms:

{
  "@context": "https://schema.org",
  "@type": "DefinedTermSet",
  "name": "SEO, AEO & GEO Glossary",
  "url": "https://example.com/glossary",
  "hasDefinedTerm": [...]
}

The name describes the glossary. The url is the canonical URL of the glossary page. The hasDefinedTerm array will contain your individual DefinedTerm objects.

Step 3: Add a DefinedTerm object for each glossary entry

For each term, create a DefinedTerm with name (the term) and description (the definition). Here is a complete example with three entries:

{
  "@context": "https://schema.org",
  "@type": "DefinedTermSet",
  "name": "SEO, AEO & GEO Glossary",
  "url": "https://example.com/glossary",
  "hasDefinedTerm": [
    {
      "@type": "DefinedTerm",
      "name": "Generative Engine Optimization (GEO)",
      "description": "GEO is the practice of optimizing content so AI-powered search engines — ChatGPT, Perplexity, Google AI Overviews — cite your brand in their generated answers. It focuses on entity optimization, structured data, and citation-worthy content.",
      "url": "https://example.com/glossary#generative-engine-optimization"
    },
    {
      "@type": "DefinedTerm",
      "name": "Answer Engine Optimization (AEO)",
      "description": "AEO is the practice of structuring content so search engines can extract and display it as a direct answer in featured snippets, People Also Ask boxes, and voice responses. It builds on SEO foundations with question-answer formatting and FAQ schema.",
      "url": "https://example.com/glossary#answer-engine-optimization"
    },
    {
      "@type": "DefinedTerm",
      "name": "Schema Markup",
      "description": "Schema markup is structured data that uses schema.org vocabulary to describe page content in a machine-readable format. It helps search engines and AI models understand, extract, and cite content more accurately.",
      "url": "https://example.com/glossary#schema-markup"
    }
  ]
}

Each DefinedTerm should include a url property pointing to the on-page anchor for that term. This lets search engines and AI models link directly to a specific definition rather than the top of the page:

{
  "@type": "DefinedTerm",
  "name": "Schema Markup",
  "description": "Schema markup is structured data that uses schema.org vocabulary to describe page content in a machine-readable format.",
  "url": "https://example.com/glossary#schema-markup"
}

Ensure each anchor exists on the page (e.g., <h2 id="schema-markup">Schema Markup</h2>). Use the HTML Headings Checker to verify your heading structure.

Step 5: Place the JSON-LD script tag on the glossary page

Add the JSON-LD as a script tag:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DefinedTermSet",
  "name": "SEO, AEO & GEO Glossary",
  "hasDefinedTerm": [...]
}
</script>

If you have many terms (50+), you can split the JSON-LD into multiple script blocks — one per section or letter group. Search engines process each script block independently.

Step 6: Validate with Schema.org Validator

Use validator.schema.org to validate the markup. Paste the URL or the raw JSON-LD. The validator will show whether the structure is valid and flag any missing required properties.

DefinedTerm is not a Google rich result type, so Google Rich Results Test will not show enhanced results — but the Schema.org Validator confirms structural validity. This is important because AI engines like ChatGPT and Perplexity read schema.org vocabulary directly, not just Google's rich result types. See schema markup for AI visibility for the broader strategy.

Common mistakes

  • Not mirroring on-page content — Each DefinedTerm description must match the visible definition on the page. Diverging schema text from page text reduces trust and citation likelihood.
  • Missing the url property on individual terms — Without per-term URLs, AI engines cannot link to specific definitions. Always include the anchor URL.
  • Using DefinedTerm on non-glossary pages — DefinedTerm is for pages that provide definitions. Using it on blog posts, service pages, or product pages where definitions are not the primary content is incorrect.
  • Forgetting the @context property — Every JSON-LD block needs @context: "https://schema.org". Without it, the schema is invalid and will be ignored.
  • Not using DefinedTermSet as the root — Individual DefinedTerm entries should be grouped under a DefinedTermSet. Using a plain array or a different root type loses the collection context. See the glossary and GEO consulting for how this fits into a broader AI visibility strategy.

Frequently Asked Questions

No. DefinedTerm is not currently a Google rich result type, so it will not produce enhanced search appearances in Google. However, it improves how AI engines like ChatGPT, Perplexity, and Google AI Overviews understand and extract your definitions, which increases citation likelihood for definitional queries.

DefinedTerm represents a single term-definition pair. DefinedTermSet is a collection that groups multiple DefinedTerm entries together. Use DefinedTermSet as the root type for a glossary page, with each entry as a DefinedTerm inside it. See the glossary for related terminology.

Use both. Article schema describes the page as a published article (author, date, headline). DefinedTerm schema describes the individual term-definition entries. They serve different purposes and can coexist on the same page. See GEO consulting for how this fits into AI visibility strategy.

Izajul Haque

Izajul Haque

SEO, AEO & GEO consultant. I help businesses get discovered, understood, and cited across Google, AI Overviews, ChatGPT, and Perplexity. More about Izajul →

Let's talk

Your next customer might not click a blue link — they'll ask an AI. Be the answer.

Book a free strategy call and I'll audit your visibility across Google, AI Overviews, ChatGPT, and Perplexity — then map out exactly what it takes to be found and cited.