Geodocs.dev

AI Search Optimization for Glossary Pages: A Specification

ShareLinkedIn

Open this article in your favorite AI assistant for deeper analysis, summaries, or follow-up questions.

An AI-optimized glossary page is built around self-contained, individually anchored term blocks. Each block ships a one-sentence definition, a short elaboration, and Schema.org DefinedTerm markup nested inside a DefinedTermSet. The whole set is reachable by stable per-term URLs so ChatGPT, Perplexity, Claude, and Gemini can extract, link, and cite each definition independently.

TL;DR

  • Treat every term as its own micro-page. AI engines extract passages, not pages.
  • Each entry: H2 = term, then a one-sentence definition, then a 60-80-word elaboration. Anchor id matches the slug.
  • Mark up with Schema.org DefinedTerm, nested inside a single DefinedTermSet for the page.
  • Provide a stable per-term anchor URL (/glossary/#term-slug or /glossary/term-slug) and link to it from supporting articles.
  • Audit the page against the conformance checklist at the end before shipping.

Scope

This specification defines the structure, content, markup, and linking conventions for glossary pages on a Geodocs-style site that is optimized for citation by AI search engines. It is intentionally narrower than a generic style guide: it specifies what is required, what is recommended, and what is forbidden for AI extractability.

It does not cover:

  • Long-form glossary entries that warrant their own dedicated page (use a definition-style page instead).
  • Multilingual glossaries; translation handling is a separate spec.
  • Visual or interaction design, beyond what is required for extractability.

Terminology

Keywords use RFC 2119 conventions. MUST, SHOULD, and MAY carry their normative meanings.

  • Glossary page: a single HTML document containing two or more term entries.
  • Term entry: a self-contained block defining one term.
  • Anchor URL: a per-term URL formed by combining the glossary URL with the term's anchor id.
  • DefinedTerm / DefinedTermSet: Schema.org types representing one term and the set of all terms on the page, respectively.

Page-level requirements

URL

  • The glossary page MUST live under a stable path. Recommended: /glossary/ or /{section}/glossary/.
  • The URL MUST NOT include query parameters that affect content rendering (e.g., do not paginate by query string).
  • If the glossary has more than 60 entries, the page SHOULD be split into per-letter or per-cluster pages with consistent URL design (e.g., /glossary/a/, /glossary/geo/).

Title and meta

  • MUST clearly identify the page as a glossary (for example, "Geodocs Glossary — AI Search Terms").</li> <li>Meta description MUST be 120-160 characters and state the scope of the glossary.</li> <li>Open Graph and Twitter card data SHOULD be present for share previews.</li> </ul> <h3 id="top-of-page-content">Top-of-page content</h3> <ul> <li>The page MUST open with an H1 matching the page title.</li> <li>The H1 MUST be followed by a 1-3 sentence introduction stating: what the glossary covers, who it is for, and how often it is updated.</li> <li>The page MUST contain a navigable index (alphabetical or thematic) when it has more than 12 entries.</li> <li>The page MAY include a one-paragraph "How to cite this glossary" block near the bottom for journalistic and academic users.</li> </ul> <h2 id="term-entry-requirements">Term entry requirements</h2> <p>Every term entry MUST follow the same shape so AI engines can rely on it.</p> <h3 id="structure">Structure</h3> <div class="code-block-wrapper" style="position:relative"><button data-copy-snippet="true" data-snippet-id="snippet-0" data-snippet-lang="html" class="copy-btn" title="Copy code" style="position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;opacity:0.7;transition:opacity 0.2s;z-index:1" onclick="navigator.clipboard.writeText(this.parentElement.querySelector('code').textContent);this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',1500)">Copy</button><pre><code class="language-html"><section id="defined-term-slug" class="defined-term"> <h2>Term name</h2> <p class="definition">One-sentence definition.</p> <p class="elaboration">60-80 words of context, scope, and disambiguation.</p> <ul class="see-also"> <li><a href="/glossary/#related-term-slug">Related term</a></li> </ul> </section></code></pre></div> <h3 id="anchor-and-slug">Anchor and slug</h3> <ul> <li>Each entry MUST have a stable id matching its slug.</li> <li>The slug MUST be lowercase, hyphenated, ASCII, and stable across versions of the page.</li> <li>The slug MUST NOT be reused across different terms even after a term is deprecated; reuse breaks deep links and citations.</li> <li>Deprecated terms SHOULD keep their anchor and add a brief note plus a link to the canonical replacement.</li> </ul> <h3 id="term-name">Term name</h3> <ul> <li>The H2 text MUST equal the canonical term as users would search it.</li> <li>If the term has an acronym, both forms SHOULD appear in the H2 (e.g., "Generative Engine Optimization (GEO)").</li> <li>Aliases MUST be encoded as alternateName in the JSON-LD, not duplicated as separate H2 blocks.</li> </ul> <h3 id="definition">Definition</h3> <ul> <li>The first sentence MUST be a complete, standalone definition of the form "X is a Y that Z".</li> <li>The first sentence MUST be 18-35 words. This is the length most consistently quoted by ChatGPT and Perplexity in our citation logs.</li> <li>The first sentence MUST NOT open with a hedge ("Generally…", "In some cases…") or a self-reference ("In this glossary…").</li> <li>The first sentence MUST NOT contain inline citations, footnotes, or markdown links.</li> </ul> <h3 id="elaboration">Elaboration</h3> <ul> <li>The elaboration SHOULD be 60-80 words. Shorter blocks lose contextual cues; longer blocks tend to be truncated mid-passage by AI extraction.</li> <li>The elaboration SHOULD address: who uses the term, where it differs from a related term, and one canonical example.</li> <li>The elaboration MAY include up to two outbound links to related glossary entries or full articles.</li> <li>The elaboration MUST NOT include marketing copy or product CTAs.</li> </ul> <h3 id="see-also-block">See-also block</h3> <ul> <li>Each entry MUST link to at least two related terms when they exist on the page.</li> <li>Each link MUST point to the per-term anchor URL, not the bare glossary page.</li> </ul> <h2 id="schema-markup">Schema markup</h2> <p>Glossary pages MUST ship Schema.org structured data. JSON-LD is the preferred serialization for AI search use cases (see JSON-LD vs Microdata vs RDFa for AI search).</p> <h3 id="required-types">Required types</h3> <ul> <li>The page MUST include exactly one DefinedTermSet.</li> <li>Each term entry MUST be a DefinedTerm referenced from the set via hasDefinedTerm.</li> <li>Each DefinedTerm MUST also reference the set via inDefinedTermSet.</li> </ul> <h3 id="reference-template">Reference template</h3> <div class="code-block-wrapper" style="position:relative"><button data-copy-snippet="true" data-snippet-id="snippet-1" data-snippet-lang="json" class="copy-btn" title="Copy code" style="position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;opacity:0.7;transition:opacity 0.2s;z-index:1" onclick="navigator.clipboard.writeText(this.parentElement.querySelector('code').textContent);this.textContent='Copied!';setTimeout(()=>this.textContent='Copy',1500)">Copy</button><pre><code class="language-json">{ "@context": "https://schema.org", "@graph": [ { "@type": "DefinedTermSet", "@id": "https://geodocs.dev/glossary/#set", "name": "Geodocs Glossary", "about": "AI search optimization", "inLanguage": "en", "hasDefinedTerm": [ { "@id": "https://geodocs.dev/glossary/#geo" }, { "@id": "https://geodocs.dev/glossary/#aeo" } ] }, { "@type": "DefinedTerm", "@id": "https://geodocs.dev/glossary/#geo", "name": "Generative Engine Optimization", "alternateName": ["GEO"], "termCode": "geo", "description": "Generative Engine Optimization is the practice of preparing content so that generative AI engines such as ChatGPT, Perplexity, Claude, and Gemini cite it as a source in their answers.", "url": "https://geodocs.dev/glossary/#geo", "inDefinedTermSet": "https://geodocs.dev/glossary/#set" } ] }</code></pre></div> <h3 id="markup-rules">Markup rules</h3> <ul> <li>The name of each DefinedTerm MUST match the H2 text exactly (excluding acronym parentheticals, which SHOULD go in alternateName).</li> <li>The description MUST match the first sentence of the visible definition. Marking up content not visible to users violates Google's structured data guidelines.</li> <li>The url MUST be the absolute per-term anchor URL.</li> <li>Every DefinedTerm MUST include inDefinedTermSet and the set MUST include the corresponding entry in hasDefinedTerm. Bidirectional references prevent partial parses by some validators.</li> <li>The inLanguage field MUST be set on the set (and MAY be set per term for mixed-language glossaries).</li> <li>A glossary page MUST NOT wrap its terms in unrelated types such as Article or BlogPosting. Use a single DefinedTermSet plus the page's site-wide WebPage / Organization graph.</li> </ul> <h2 id="linking-conventions">Linking conventions</h2> <p>Glossaries earn citation share when other pages link to them. Cross-linking is part of the spec.</p> <h3 id="from-article-to-glossary">From article to glossary</h3> <ul> <li>The first occurrence of a defined term in any article SHOULD link to its per-term anchor URL.</li> <li>Subsequent occurrences in the same article MAY be plain text.</li> <li>Anchor text MUST equal the term as defined; do not use generic anchors ("click here", "this concept").</li> </ul> <h3 id="within-the-glossary">Within the glossary</h3> <ul> <li>Each entry MUST link to at least two related terms.</li> <li>The page MAY include a small "Browse by topic" navigation that groups terms into clusters.</li> <li>The page MUST NOT wrap individual term blocks in navigation <nav> elements; nav semantics confuse passage extraction.</li> </ul> <h3 id="from-glossary-to-articles">From glossary to articles</h3> <ul> <li>Each entry MAY link to one canonical hub article on that topic.</li> <li>The link SHOULD sit in the elaboration paragraph, not in the see-also list, so AI engines treat it as in-context citation rather than navigation.</li> </ul> <h2 id="updates-and-freshness">Updates and freshness</h2> <ul> <li>The page dateModified MUST update whenever any term entry changes substantively.</li> <li>New terms MUST be added at the bottom of their alphabet/cluster section, not interleaved retroactively, to preserve cached anchor positions.</li> <li>The page SHOULD display its dateModified near the top so AI engines exposing freshness signals can surface them.</li> </ul> <h2 id="accessibility">Accessibility</h2> <ul> <li>Each <section> for a term entry MUST have an accessible name (the H2).</li> <li>Anchor links to per-term URLs MUST be keyboard-focusable and visible on focus.</li> <li>Decorative emoji or icons in term names MUST NOT carry semantic meaning.</li> </ul> <h2 id="conformance-checklist">Conformance checklist</h2> <p>A glossary page conforms with this specification when all of the following are true.</p> <p>Page-level:</p> <ul> <li>[ ] The page lives at a stable URL with no rendering query parameters.</li> <li>[ ] H1 matches the title and is followed by a 1-3 sentence intro.</li> <li>[ ] An index is present when more than 12 entries.</li> </ul> <p>Per term:</p> <ul> <li>[ ] H2 contains the canonical term.</li> <li>[ ] First sentence is a complete "X is a Y that Z" definition, 18-35 words.</li> <li>[ ] Elaboration is 60-80 words.</li> <li>[ ] Stable, lowercase, hyphenated, ASCII slug used as id.</li> <li>[ ] At least two see-also links to other entries.</li> </ul> <p>Markup:</p> <ul> <li>[ ] One DefinedTermSet on the page, referenced by every DefinedTerm via inDefinedTermSet.</li> <li>[ ] DefinedTermSet hasDefinedTerm lists every term entry.</li> <li>[ ] Each DefinedTerm description matches the visible first sentence.</li> <li>[ ] Each DefinedTerm url is the absolute per-term anchor URL.</li> <li>[ ] No marked-up content that is not visible to users.</li> </ul> <p>Linking:</p> <ul> <li>[ ] First mention of every term in articles links to its per-term anchor URL with the term as anchor text.</li> <li>[ ] Each entry has at least two see-also links.</li> </ul> <p>Freshness:</p> <ul> <li>[ ] dateModified updates on substantive content edits.</li> <li>[ ] dateModified is visible on the page.</li> </ul> <p>A page failing any MUST clause does not conform.</p> <h2 id="common-mistakes">Common mistakes</h2> <ul> <li>Wrapping each term in Article or BlogPosting schema rather than DefinedTerm. AI extractors often skip over articles whose body is a single paragraph.</li> <li>Reusing slugs across renamed terms. Citations rot silently.</li> <li>Putting the formal definition in the second or third sentence. Most AI extractors take only the first sentence as the definition.</li> <li>Including marketing CTAs in the elaboration. They survive extraction and dilute trust signals.</li> <li>Building a single 200-term page with no anchor index. Long pages with no extraction-friendly anchors lose citation share to competitors with smaller, more navigable glossaries.</li> <li>Marking up alternateName as separate DefinedTerm entries. They should be aliases, not standalone entries.</li> </ul> <h2 id="faq">FAQ</h2> <h3 id="q-does-this-spec-only-apply-to-ai-search-or-to-traditional-seo-too">Q: Does this spec only apply to AI search, or to traditional SEO too?</h3> <p>It is compatible with both. DefinedTerm and DefinedTermSet are standard Schema.org types and respected by Google's traditional indexing. The constraints around definition length, anchor stability, and bidirectional schema references are tighter than what traditional SEO requires; meeting them does not break it.</p> <h3 id="q-how-long-should-a-glossary-page-be">Q: How long should a glossary page be?</h3> <p>Up to about 60 entries on a single page works well. Above that, split by letter or topic cluster. Massive single-page glossaries strain extraction and produce inconsistent anchor citations across AI engines.</p> <h3 id="q-should-each-term-get-its-own-page-instead">Q: Should each term get its own page instead?</h3> <p>For long-form, deeply discussed concepts, yes — build a dedicated definition-style page and link to it from the glossary entry. Keep the glossary entry short and let the dedicated page carry the depth. The glossary entry remains the canonical anchor for short citations.</p> <h3 id="q-do-i-need-both-indefinedtermset-on-the-term-and-hasdefinedterm-on-the-set">Q: Do I need both inDefinedTermSet on the term and hasDefinedTerm on the set?</h3> <p>Yes. Bidirectional references are recommended. Several validators and downstream consumers parse only one direction; covering both removes a class of silent failures.</p> <h3 id="q-how-do-i-migrate-an-existing-glossary-to-this-spec-without-breaking-citations">Q: How do I migrate an existing glossary to this spec without breaking citations?</h3> <p>Keep all existing slugs unchanged. Add the schema. Tighten definitions and elaborations to the length targets one term at a time. Update internal article links to point to per-term anchor URLs. Run the conformance checklist before each release.</p> <h3 id="q-what-about-faqpage-schema-for-glossary-pages">Q: What about FAQPage schema for glossary pages?</h3> <p>Do not use FAQPage for glossaries. FAQPage implies question-and-answer phrasing; DefinedTerm implies term-and-definition phrasing. Mixing them confuses AI extractors and risks Google manual actions for inappropriate structured data.</p> <h2 id="related-resources">Related resources</h2> <ul> <li>JSON-LD vs Microdata vs RDFa for AI search</li> <li>Structured data for AI search</li> <li>AI citation tracking with server log analysis</li> <li>GEO sprint retrospective framework</li> <li>What is GEO — hub for the discipline</li> </ul></div><div style="margin-top:64px"><h2 style="font-size:18px;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--border-default)">Related Articles</h2><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:16px"><a style="text-decoration:none" data-related-article="aeo-content-checklist" data-related-position="1" href="/aeo/aeo-content-checklist"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">checklist</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">AEO Content Checklist</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">A 30-point AEO content checklist across five pillars (Answerability, Authority, Freshness, Structure, Entity Clarity) to make pages reliably AI-citable in 2026.</p></div></a><a style="text-decoration:none" data-related-article="geo-sprint-retrospective-framework" data-related-position="2" href="/strategy/geo-sprint-retrospective-framework"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">framework</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">GEO Sprint Retrospective Framework: Continuous Improvement for Citation Teams</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">GEO sprint retrospective framework: a 60-minute ritual for citation teams to review wins, regressions, and experiments after each two-week GEO sprint.</p></div></a><a style="text-decoration:none" data-related-article="ai-citation-tracking-server-log-analysis" data-related-position="3" href="/technical/ai-citation-tracking-server-log-analysis"><div class="card"><span class="badge badge-green" style="margin-bottom:8px">guide</span><h3 style="font-size:15px;font-weight:600;color:var(--text-heading);margin-bottom:4px">AI Citation Tracking with Server Log Analysis: A Technical Guide</h3><p style="font-size:13px;color:var(--text-secondary);line-height:1.5">AI citation tracking with server log analysis: identify GPTBot, PerplexityBot, ClaudeBot hits, link them to citations, and measure crawl-to-cite latency.</p></div></a></div></div></article><div style="padding-left:40px" class="toc-sidebar"><nav style="position:sticky;top:88px;font-size:13px;line-height:1.6;max-height:calc(100vh - 100px);overflow-y:auto"><div style="font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-cool-gray);margin-bottom:12px">On this page</div><a href="#tl-dr" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">TL;DR</a><a href="#scope" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Scope</a><a href="#terminology" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Terminology</a><a href="#page-level-requirements" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Page-level requirements</a><a href="#url" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">URL</a><a href="#title-and-meta" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Title and meta</a><a href="#top-of-page-content" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Top-of-page content</a><a href="#term-entry-requirements" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Term entry requirements</a><a href="#structure" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Structure</a><a href="#anchor-and-slug" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Anchor and slug</a><a href="#term-name" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Term name</a><a href="#definition" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Definition</a><a href="#elaboration" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Elaboration</a><a href="#see-also-block" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">See-also block</a><a href="#schema-markup" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Schema markup</a><a href="#required-types" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Required types</a><a href="#reference-template" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Reference template</a><a href="#markup-rules" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Markup rules</a><a href="#linking-conventions" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Linking conventions</a><a href="#from-article-to-glossary" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">From article to glossary</a><a href="#within-the-glossary" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Within the glossary</a><a href="#from-glossary-to-articles" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">From glossary to articles</a><a href="#updates-and-freshness" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Updates and freshness</a><a href="#accessibility" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Accessibility</a><a href="#conformance-checklist" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Conformance checklist</a><a href="#common-mistakes" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Common mistakes</a><a href="#faq" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">FAQ</a><a href="#q-does-this-spec-only-apply-to-ai-search-or-to-traditional-seo-too" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Does this spec only apply to AI search, or to traditional SEO too?</a><a href="#q-how-long-should-a-glossary-page-be" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: How long should a glossary page be?</a><a href="#q-should-each-term-get-its-own-page-instead" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Should each term get its own page instead?</a><a href="#q-do-i-need-both-indefinedtermset-on-the-term-and-hasdefinedterm-on-the-set" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: Do I need both inDefinedTermSet on the term and hasDefinedTerm on the set?</a><a href="#q-how-do-i-migrate-an-existing-glossary-to-this-spec-without-breaking-citations" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: How do I migrate an existing glossary to this spec without breaking citations?</a><a href="#q-what-about-faqpage-schema-for-glossary-pages" style="display:block;padding:4px 0;padding-left:16px;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:1px solid var(--border-default)">Q: What about FAQPage schema for glossary pages?</a><a href="#related-resources" style="display:block;padding:4px 0;padding-left:0;color:var(--text-secondary);text-decoration:none;transition:color 0.15s ease;border-left:none">Related resources</a></nav></div></div><style> @media (max-width: 1024px) { .toc-sidebar { display: none !important; } } @media (min-width: 1025px) { article { /* override grid for 3-col with TOC */ } } .article-tag-link:hover { border-color: var(--color-dark-green) !important; color: var(--text-primary) !important; background: rgba(0, 237, 100, 0.06) !important; } </style></main><section style="padding:64px 24px;background:var(--bg-surface);border-top:1px solid var(--border-subtle)"><div style="max-width:520px;margin:0 auto;text-align:center"><div style="font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-dark-green);margin-bottom:12px">Stay Updated</div><h2 style="font-family:var(--font-display);font-size:clamp(1.25rem, 3vw, 1.75rem);font-weight:400;color:var(--text-heading);margin-bottom:8px;line-height:1.3">GEO & AI Search Insights</h2><p style="font-size:14px;color:var(--text-secondary);line-height:1.7;margin-bottom:24px">New articles, framework updates, and industry analysis. No spam, unsubscribe anytime.</p><form style="display:flex;flex-wrap:wrap;gap:8px;max-width:420px;margin:0 auto"><input type="email" placeholder="your@email.com" required="" style="flex:1;min-width:200px;padding:12px 16px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:14px;outline:none;transition:border-color 0.2s ease" value=""/><button type="submit" class="btn btn-primary" style="padding:12px 24px;font-size:14px;opacity:1">Subscribe</button></form></div></section><footer style="background:var(--color-forest-black);border-top:1px solid var(--color-teal-gray);padding:64px 24px 32px"><div style="max-width:1200px;margin:0 auto"><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:48px;margin-bottom:48px"><div><div style="margin-bottom:16px"><img alt="Geodocs.dev" loading="lazy" width="140" height="32" decoding="async" data-nimg="1" style="color:transparent;height:24px;width:auto" src="/geodocs-logo-dark.svg"/></div><p style="font-size:13px;color:var(--color-cool-gray);line-height:1.6;max-width:220px">Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.</p></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Learn</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/geo/what-is-geo">What Is GEO?</a></li><li><a class="footer-link" href="/aeo/what-is-aeo">What Is AEO?</a></li><li><a class="footer-link" href="/geo/geo-vs-seo">GEO vs SEO</a></li><li><a class="footer-link" href="/reference/geo-aeo-glossary">GEO Glossary</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Build</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/technical/llms-txt">llms.txt Reference</a></li><li><a class="footer-link" href="/technical/how-to-create-llms-txt">Create llms.txt</a></li><li><a class="footer-link" href="/technical/structured-data-for-ai-search">Structured Data</a></li><li><a class="footer-link" href="/technical/ai-txt">ai.txt Reference</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Strategy</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="/strategy/ai-visibility-measurement">AI Visibility</a></li><li><a class="footer-link" href="/strategy/geo-content-strategy">Content Strategy</a></li><li><a class="footer-link" href="/strategy/geo-roi-framework">GEO ROI</a></li><li><a class="footer-link" href="/aeo/aeo-content-checklist">AEO Checklist</a></li></ul></div><div><h4 style="font-family:var(--font-mono);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--color-mongodb-green);margin-bottom:16px">Resources</h4><ul style="list-style:none;display:flex;flex-direction:column;gap:10px"><li><a class="footer-link" href="https://github.com/Geodocs-dev">GitHub</a></li><li><a class="footer-link" href="/contact">Contact</a></li><li><a class="footer-link" href="/tags">Tags</a></li><li><a class="footer-link" href="/sitemap.xml">Sitemap</a></li><li><a class="footer-link" href="/llms.txt">llms.txt</a></li><li><a class="footer-link" href="/ai.txt">ai.txt</a></li></ul></div></div><div style="border-top:1px solid var(--color-teal-gray);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px"><p style="font-size:12px;color:var(--color-cool-gray)">© <!-- -->2026<!-- --> Geodocs.dev. <!-- -->All rights reserved.</p><p style="font-size:12px;color:var(--color-cool-gray)"><a href="mailto:contact@geodocs.dev" class="footer-link">contact@geodocs.dev</a> · <!-- -->Built for humans and AI agents.</p></div></div><style> .footer-link { font-size: 13px; color: var(--color-silver-teal); text-decoration: none; transition: color 0.2s ease; } .footer-link:hover { color: var(--color-white); } </style></footer><!--$--><!--/$--><script> (function(){ var s=document.createElement('script'); s.src='https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js'; s.defer=true; s.onload=function(){ var isDark=document.documentElement.getAttribute('data-theme')==='dark'; mermaid.initialize({startOnLoad:true,theme:isDark?'dark':'default',securityLevel:'loose'}); mermaid.run(); }; document.head.appendChild(s); })(); </script><script src="/_next/static/chunks/0_k5kz-r4593u.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"GTMNoScript\"]\n3:I[59919,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"ThemeProvider\"]\n4:\"$Sreact.suspense\"\n5:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"PostHogPageView\"]\n6:I[39756,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"default\"]\n7:I[37457,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"default\"]\n9:I[35264,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"AlgoliaSearchDialog\"]\na:I[56414,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"GeolifyAIDialog\"]\nb:I[86402,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"Analytics\"]\nd:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"OutletBoundary\"]\n10:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"ViewportBoundary\"]\n12:I[97367,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"MetadataBoundary\"]\n14:I[63491,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0z~59b-n8nq5n.js\"],\"default\"]\n:HL[\"/_next/static/chunks/0hbz95bqplbsv.css\",\"style\"]\n:HL[\"https://fonts.googleapis.com/css2?family=DM+Serif+Text\u0026family=Plus+Jakarta+Sans:wght@300;400;500;600;700\u0026family=Source+Code+Pro:wght@400;500;600\u0026display=swap\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"technical\",\"ai-search-glossary-page-specification\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"technical\",{\"children\":[[\"slug\",\"ai-search-glossary-page-specification\",\"d\",null],{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0hbz95bqplbsv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0ld4q8u-25eux.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/0xf6s51ok42m_.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/148t.fhegq9f1.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/_next/static/chunks/05cra..ka3fzk.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem('geodocs-theme');if(t==='dark'){document.documentElement.setAttribute('data-theme','dark')}else{document.documentElement.setAttribute('data-theme','light')}}catch(e){}})()\"}}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"any\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.googleapis.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://fonts.gstatic.com\",\"crossOrigin\":\"anonymous\"}],[\"$\",\"link\",null,{\"href\":\"https://fonts.googleapis.com/css2?family=DM+Serif+Text\u0026family=Plus+Jakarta+Sans:wght@300;400;500;600;700\u0026family=Source+Code+Pro:wght@400;500;600\u0026display=swap\",\"rel\":\"stylesheet\"}]]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[[\"$\",\"$4\",null,{\"fallback\":null,\"children\":[\"$\",\"$L5\",null,{}]}],[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[\"$L8\",[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],[\"$\",\"$L9\",null,{}],[\"$\",\"$La\",null,{}]]}],[\"$\",\"$Lb\",null,{}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"\\n(function(){\\n var s=document.createElement('script');\\n s.src='https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.min.js';\\n s.defer=true;\\n s.onload=function(){\\n var isDark=document.documentElement.getAttribute('data-theme')==='dark';\\n mermaid.initialize({startOnLoad:true,theme:isDark?'dark':'default',securityLevel:'loose'});\\n mermaid.run();\\n };\\n document.head.appendChild(s);\\n})();\\n\"}}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L6\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[\"$Lc\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0immojv~8w4~6.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@e\"}]}]]}],{},null,false,null]},null,false,\"$@f\"]},null,false,\"$@f\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L10\",null,{\"children\":\"$L11\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$14\",[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0hbz95bqplbsv.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"NIAK0ez3QwYT5WEUUjWPI\"}\n"])</script><script>self.__next_f.push([1,"15:[]\nf:\"$W15\"\n"])</script><script>self.__next_f.push([1,"16:I[2971,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Header\"]\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"$L16\",null,{\"lang\":\"en\",\"dict\":{\"nav\":{\"startHere\":\"Start Here\",\"geo\":\"GEO\",\"aeo\":\"AEO\",\"technical\":\"Technical\",\"strategy\":\"Strategy\",\"reference\":\"Reference\",\"tools\":\"Tools\",\"search\":\"Search docs...\",\"askGeolifyAI\":\"Ask GeolifyAI\",\"beta\":\"Beta\"},\"home\":{\"tagline\":\"The Canonical Knowledge System\",\"headline\":\"Structured knowledge for\",\"headlineHighlight\":\"AI search visibility\",\"subtitle\":\"GEO, AEO, and AI search optimization — defined, structured, and operationalized. Built for SEO professionals, developers, content teams, and AI agents.\",\"ctaPrimary\":\"Start with GEO\",\"ctaSecondary\":\"Read llms.txt spec\",\"trustSignals\":{\"answerFirst\":\"Answer-first content\",\"aiCitable\":\"AI-citable definitions\",\"machineReadable\":\"Machine-readable specs\",\"openFree\":\"Open \u0026 free\"},\"essentialReading\":\"Essential Reading\",\"geoPlaybooks\":\"GEO Playbooks\",\"playbooksSubtitle\":\"Canonical definitions, comparisons, and implementation guides. Start here to build your GEO foundation.\",\"readArticle\":\"Read article\",\"operatorsToolkit\":\"Operator's Toolkit\",\"technicalStandards\":\"Technical Standards for AI Search\",\"technicalSubtitle\":\"Implementation specs, file standards, and measurement frameworks. Everything you need to make your content AI-ready.\",\"knowledgeMap\":\"Knowledge Map\",\"browseBySection\":\"Browse by Section\",\"browseSubtitle\":\"Every concept has one canonical page. Explore the knowledge graph organized by domain.\",\"aiNativeDoc\":\"AI-Native Documentation\",\"builtForHumans\":\"Built for humans.\",\"readableByAI\":\"Readable by AI.\",\"aiNativeSubtitle\":\"Every page on geodocs.dev includes AI summary blocks, structured frontmatter, and machine-readable specs. Our content is designed to be cited by AI systems worldwide.\",\"aiContentSpec\":\"AI Content Spec\",\"viewLlmsTxt\":\"View llms.txt\"},\"sections\":{\"geo\":{\"title\":\"GEO - Generative Engine Optimization\",\"description\":\"Guides, definitions, and frameworks for optimizing content visibility in AI-generated answers.\"},\"aeo\":{\"title\":\"AEO - Answer Engine Optimization\",\"description\":\"How to structure content so AI systems can extract and cite direct answers.\"},\"technical\":{\"title\":\"Technical Implementation\",\"description\":\"llms.txt, ai.txt, structured data, and other technical specs for AI search readiness.\"},\"strategy\":{\"title\":\"Strategy \u0026 Frameworks\",\"description\":\"Business frameworks for AI search visibility — ROI, measurement, and content planning.\"},\"reference\":{\"title\":\"Reference\",\"description\":\"Glossary, cheatsheets, and canonical definitions for GEO/AEO terminology.\"},\"tools\":{\"title\":\"Tools \u0026 Platforms\",\"description\":\"Evaluations, comparisons, and stack recommendations for AI search optimization tools.\"},\"case-studies\":{\"title\":\"Case Studies\",\"description\":\"Evidence-based examples with real data — before/after results and industry applications.\"},\"ai-agents\":{\"title\":\"AI Agents\",\"description\":\"Machine-readable specs and documentation designed specifically for AI parsers and bots.\"}},\"article\":{\"minRead\":\"{min} min read\",\"words\":\"{count} words\",\"updated\":\"Updated {date}\",\"relatedArticles\":\"Related Articles\",\"onThisPage\":\"On this page\",\"topics\":\"Topics\",\"copy\":\"Copy\",\"copied\":\"Copied!\"},\"tags\":{\"browseByTopic\":\"Browse by Topic\",\"exploreTopics\":\"Explore {count} topics across all GEO, AEO, and AI search optimization articles.\",\"articlesTaggedWith\":\"{count} article tagged with \\\"{tag}\\\"|{count} articles tagged with \\\"{tag}\\\"\"},\"newsletter\":{\"stayUpdated\":\"Stay Updated\",\"title\":\"GEO \u0026 AI Search Insights\",\"description\":\"New articles, framework updates, and industry analysis. No spam, unsubscribe anytime.\",\"placeholder\":\"your@email.com\",\"subscribe\":\"Subscribe\",\"success\":\"You're subscribed! We'll keep you updated.\",\"error\":\"Something went wrong. Please try again.\"},\"footer\":{\"learn\":\"Learn\",\"build\":\"Build\",\"strategy\":\"Strategy\",\"resources\":\"Resources\",\"description\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\",\"allRightsReserved\":\"All rights reserved.\",\"builtForHumansAndAI\":\"Built for humans and AI agents.\"},\"common\":{\"articles\":\"articles\",\"article\":\"article\",\"page\":\"Page {current} of {total}\",\"noArticles\":\"No published articles in this section yet.\",\"checkBackSoon\":\"Content is being actively developed. Check back soon.\",\"loadingArticles\":\"Loading articles…\",\"prev\":\"← Prev\",\"next\":\"Next →\",\"goHome\":\"Go home\",\"startWithGEO\":\"Start with GEO\"},\"notFound\":{\"label\":\"404 - Page Not Found\",\"title\":\"This page doesn't exist yet.\",\"description\":\"The content you're looking for may be in development. Geodocs.dev is actively building the canonical knowledge base for GEO and AEO.\"},\"error\":{\"title\":\"Something went wrong\",\"description\":\"An unexpected error occurred. Our team has been notified.\",\"tryAgain\":\"Try Again\"},\"contact\":{\"getInTouch\":\"Get In Touch\",\"contactUs\":\"Contact Us\",\"heroDescription\":\"Have a question about GEO, AEO, or AI search optimization? Want to collaborate or contribute? We'd love to hear from you.\",\"name\":\"Name\",\"email\":\"Email\",\"subject\":\"Subject\",\"subjectPlaceholder\":\"What is this about?\",\"namePlaceholder\":\"Your name\",\"message\":\"Message\",\"messagePlaceholder\":\"Tell us more...\",\"sendMessage\":\"Send Message\",\"sending\":\"Sending...\",\"messageSent\":\"Message sent!\",\"thankYou\":\"Thank you for reaching out. We'll get back to you within 1-2 business days.\",\"sendAnother\":\"Send another message\",\"emailDirectly\":\"Or email us directly at\",\"validationName\":\"Please enter your name.\",\"validationEmail\":\"Please enter a valid email address.\",\"validationMessage\":\"Please enter a message (at least 10 characters).\",\"networkError\":\"Network error. Please try again.\",\"genericError\":\"Something went wrong. Please try again.\"},\"languagePicker\":{\"label\":\"Language\"}}}],\"$L17\",\"$L18\"]\n"])</script><script>self.__next_f.push([1,"19:I[22016,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"\"]\n1a:I[5500,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Image\"]\n17:[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"60vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"textAlign\":\"center\",\"padding\":\"80px 24px\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":3,\"color\":\"var(--color-cool-gray)\",\"marginBottom\":16},\"children\":\"404 - Page Not Found\"}],[\"$\",\"h1\",null,{\"style\":{\"fontFamily\":\"var(--font-display)\",\"fontSize\":\"clamp(2rem, 4vw, 3rem)\",\"fontWeight\":400,\"color\":\"var(--color-forest-black)\",\"marginBottom\":16},\"children\":\"This page doesn't exist yet.\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":16,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.7,\"maxWidth\":480,\"margin\":\"0 auto 32px\"},\"children\":\"The content you're looking for may be in development. Geodocs.dev is actively building the canonical knowledge base for GEO and AEO.\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"flex\",\"justifyContent\":\"center\",\"gap\":12},\"children\":[[\"$\",\"$L19\",null,{\"href\":\"/\",\"className\":\"btn btn-primary\",\"children\":\"Go home\"}],[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"btn btn-outline\",\"children\":\"Start with GEO\"}]]}]]}]}]\n"])</script><script>self.__next_f.push([1,"18:[\"$\",\"footer\",null,{\"style\":{\"background\":\"var(--color-forest-black)\",\"borderTop\":\"1px solid var(--color-teal-gray)\",\"padding\":\"64px 24px 32px\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"maxWidth\":1200,\"margin\":\"0 auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fit, minmax(180px, 1fr))\",\"gap\":48,\"marginBottom\":48},\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"marginBottom\":16},\"children\":[\"$\",\"$L1a\",null,{\"src\":\"/geodocs-logo-dark.svg\",\"alt\":\"Geodocs.dev\",\"width\":140,\"height\":32,\"style\":{\"height\":24,\"width\":\"auto\"}}]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.6,\"maxWidth\":220},\"children\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\"}]]}],[[\"$\",\"div\",\"Learn\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Learn\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/geo/what-is-geo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"footer-link\",\"children\":\"What Is GEO?\"}]}],[\"$\",\"li\",\"/aeo/what-is-aeo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/what-is-aeo\",\"className\":\"footer-link\",\"children\":\"What Is AEO?\"}]}],[\"$\",\"li\",\"/geo/geo-vs-seo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/geo-vs-seo\",\"className\":\"footer-link\",\"children\":\"GEO vs SEO\"}]}],[\"$\",\"li\",\"/reference/geo-aeo-glossary\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/reference/geo-aeo-glossary\",\"className\":\"footer-link\",\"children\":\"GEO Glossary\"}]}]]}]]}],[\"$\",\"div\",\"Build\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Build\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/technical/llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/llms-txt\",\"className\":\"footer-link\",\"children\":\"llms.txt Reference\"}]}],[\"$\",\"li\",\"/technical/how-to-create-llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/how-to-create-llms-txt\",\"className\":\"footer-link\",\"children\":\"Create llms.txt\"}]}],[\"$\",\"li\",\"/technical/structured-data-for-ai-search\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/structured-data-for-ai-search\",\"className\":\"footer-link\",\"children\":\"Structured Data\"}]}],[\"$\",\"li\",\"/technical/ai-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/ai-txt\",\"className\":\"footer-link\",\"children\":\"ai.txt Reference\"}]}]]}]]}],[\"$\",\"div\",\"Strategy\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Strategy\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/strategy/ai-visibility-measurement\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/ai-visibility-measurement\",\"className\":\"footer-link\",\"children\":\"AI Visibility\"}]}],[\"$\",\"li\",\"/strategy/geo-content-strategy\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-content-strategy\",\"className\":\"footer-link\",\"children\":\"Content Strategy\"}]}],[\"$\",\"li\",\"/strategy/geo-roi-framework\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-roi-framework\",\"className\":\"footer-link\",\"children\":\"GEO ROI\"}]}],[\"$\",\"li\",\"/aeo/aeo-content-checklist\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/aeo-content-checklist\",\"className\":\"footer-link\",\"children\":\"AEO Checklist\"}]}]]}]]}],[\"$\",\"div\",\"Resources\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"https://github.com/Geodocs-dev\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"https://github.com/Geodocs-dev\",\"className\":\"footer-link\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"/contact\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/contact\",\"className\":\"footer-link\",\"children\":\"Contact\"}]}],[\"$\",\"li\",\"/tags\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/tags\",\"className\":\"footer-link\",\"children\":\"Tags\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/sitemap.xml\",\"className\":\"footer-link\",\"children\":\"Sitemap\"}]}],\"$L1b\",\"$L1c\"]}]]}]]]}],\"$L1d\"]}],\"$L1e\"]}]\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/llms.txt\",\"className\":\"footer-link\",\"children\":\"llms.txt\"}]}]\n1c:[\"$\",\"li\",\"/ai.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/ai.txt\",\"className\":\"footer-link\",\"children\":\"ai.txt\"}]}]\n1d:[\"$\",\"div\",null,{\"style\":{\"borderTop\":\"1px solid var(--color-teal-gray)\",\"paddingTop\":24,\"display\":\"flex\",\"justifyContent\":\"space-between\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"gap\":16},\"children\":[[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[\"© \",2026,\" Geodocs.dev. \",\"All rights reserved.\"]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:contact@geodocs.dev\",\"className\":\"footer-link\",\"children\":\"contact@geodocs.dev\"}],\" · \",\"Built for humans and AI agents.\"]}]]}]\n1e:[\"$\",\"style\",null,{\"children\":\"\\n .footer-link {\\n font-size: 13px;\\n color: var(--color-silver-teal);\\n text-decoration: none;\\n transition: color 0.2s ease;\\n }\\n .footer-link:hover {\\n color: var(--color-white);\\n }\\n \"}]\n"])</script><script>self.__next_f.push([1,"1f:I[43937,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ArticleTracker\"]\n20:T493,{\"@context\":\"https://schema.org\",\"@type\":\"TechArticle\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\"},\"headline\":\"AI Search Optimization for Glossary Pages: A Specification\",\"description\":\"AI search glossary page spec: term, definition, anchor link, and DefinedTerm schema patterns that maximize citations from ChatGPT and Perplexity.\",\"image\":\"https://geodocs.dev/geodocs-logo-dark.png\",\"url\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\",\"author\":{\"@type\":\"Person\",\"name\":\"Geodocs Research Team\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"Geodocs.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://geodocs.dev/geodocs-logo-dark.png\"}},\"datePublished\":\"2026-04-29\",\"dateModified\":\"2026-04-29\",\"keywords\":\"glossary page AI search optimization, DefinedTerm schema, DefinedTermSet glossary, AI-ready glossary page, glossary anchor URL\",\"about\":[{\"@type\":\"Thing\",\"name\":\"DefinedTerm\"},{\"@type\":\"Thing\",\"name\":\"DefinedTermSet\"},{\"@type\":\"Thing\",\"name\":\"JSON-LD\"},{\"@type\":\"Thing\",\"name\":\"Glossary Page\"},{\"@type\":\"Thing\",\"name\":\"Anchor Link\"},{\"@type\":\"Thing\",\"name\":\"Schema.org\"}]}21:T8fd,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Does this spec only apply to AI search, or to traditional SEO too?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"It is compatible with both. DefinedTerm and DefinedTermSet are standard Schema.org types and respected by Google's traditional indexing. The constraints around definition length, anchor stability, and bidirectional schema references are tighter than what traditional SEO requires; meeting them does not break it.\"}},{\"@type\":\"Question\",\"name\":\"How long should a glossary page be?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Up to about 60 entries on a single page works well. Above that, split by letter or topic cluster. Massive single-page glossaries strain extraction and produce inconsistent anchor citations across AI engines.\"}},{\"@type\":\"Question\",\"name\":\"Should each term get its own page instead?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For long-form, deeply discussed concepts, yes — build a dedicated definition-style page and link to it from the glossary entry. Keep the glossary entry short and let the dedicated page carry the depth. The glossary entry remains the canonical anchor for short citations.\"}},{\"@type\":\"Question\",\"name\":\"Do I need both inDefinedTermSet on the term and hasDefinedTerm on the set?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Bidirectional references are recommended. Several validators and downstream consumers parse only one direction; covering both removes a class of silent failures.\"}},{\"@type\":\"Question\",\"name\":\"How do I migrate an existing glossary to this spec without breaking citations?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Keep all existing slugs unchanged. Add the schema. Tighten definitions and elaborations to the length targets one term at a time. Update internal article links to point to per-term anchor URLs. Run the conformance checklist before each release.\"}},{\"@type\":\"Question\",\"name\":\"What about FAQPage schema for glossary pages?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Do not use FAQPage for glossaries. FAQPage implies question-and-answer phrasing; DefinedTerm implies term-and-definition phrasing. Mixing them confuses AI extractors and risks Google manual actions for inappropriate structured data.\"}}]}"])</script><script>self.__next_f.push([1,"c:[[\"$\",\"$L16\",null,{\"lang\":\"en\",\"dict\":\"$8:0:props:dict\"}],[[\"$\",\"main\",null,{\"style\":{\"minHeight\":\"70vh\"},\"children\":[[\"$\",\"$L1f\",null,{\"meta\":{\"slug\":\"ai-search-glossary-page-specification\",\"section\":\"technical\",\"content_type\":\"specification\",\"difficulty\":\"intermediate\",\"primary_audience\":\"technical-seos\",\"secondary_audiences\":[\"content-strategists\",\"web-engineers\",\"information-architects\"],\"word_count\":2061,\"reading_time_min\":11,\"has_code_snippet\":false,\"has_table\":false,\"citation_readiness\":\"reviewed\",\"series\":\"ai-page-specs\",\"series_order\":1}}],[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$20\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"BreadcrumbList\\\",\\\"itemListElement\\\":[{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":1,\\\"name\\\":\\\"Home\\\",\\\"item\\\":\\\"https://geodocs.dev\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":2,\\\"name\\\":\\\"TECHNICAL\\\",\\\"item\\\":\\\"https://geodocs.dev/technical\\\"},{\\\"@type\\\":\\\"ListItem\\\",\\\"position\\\":3,\\\"name\\\":\\\"AI Search Optimization for Glossary Pages: A Specification\\\",\\\"item\\\":\\\"https://geodocs.dev/technical/ai-search-glossary-page-specification\\\"}]}\"}}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$21\"}}],\"$L22\",\"$L23\"]]}],\"$L24\"],\"$L25\"]\n"])</script><script>self.__next_f.push([1,"26:I[23150,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ShareButtons\"]\n27:I[47654,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"ExploreWithAI\"]\n2b:I[11181,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\",\"/_next/static/chunks/0immojv~8w4~6.js\"],\"Newsletter\"]\n28:T419a,"])</script><script>self.__next_f.push([1,"\u003cdiv class=\"ai-summary\"\u003e\u003cp\u003eAn AI-optimized glossary page is built around self-contained, individually anchored term blocks. Each block ships a one-sentence definition, a short elaboration, and Schema.org DefinedTerm markup nested inside a DefinedTermSet. The whole set is reachable by stable per-term URLs so ChatGPT, Perplexity, Claude, and Gemini can extract, link, and cite each definition independently.\u003c/p\u003e\u003c/div\u003e\n\u003ch3 id=\"tl-dr\"\u003eTL;DR\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTreat every term as its own micro-page. AI engines extract passages, not pages.\u003c/li\u003e\n\u003cli\u003eEach entry: H2 = term, then a one-sentence definition, then a 60-80-word elaboration. Anchor id matches the slug.\u003c/li\u003e\n\u003cli\u003eMark up with Schema.org DefinedTerm, nested inside a single DefinedTermSet for the page.\u003c/li\u003e\n\u003cli\u003eProvide a stable per-term anchor URL (/glossary/#term-slug or /glossary/term-slug) and link to it from supporting articles.\u003c/li\u003e\n\u003cli\u003eAudit the page against the conformance checklist at the end before shipping.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"scope\"\u003eScope\u003c/h2\u003e\n\u003cp\u003eThis specification defines the structure, content, markup, and linking conventions for glossary pages on a Geodocs-style site that is optimized for citation by AI search engines. It is intentionally narrower than a generic style guide: it specifies what is required, what is recommended, and what is forbidden for AI extractability.\u003c/p\u003e\n\u003cp\u003eIt does not cover:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eLong-form glossary entries that warrant their own dedicated page (use a definition-style page instead).\u003c/li\u003e\n\u003cli\u003eMultilingual glossaries; translation handling is a separate spec.\u003c/li\u003e\n\u003cli\u003eVisual or interaction design, beyond what is required for extractability.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"terminology\"\u003eTerminology\u003c/h2\u003e\n\u003cp\u003eKeywords use RFC 2119 conventions. MUST, SHOULD, and MAY carry their normative meanings.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGlossary page: a single HTML document containing two or more term entries.\u003c/li\u003e\n\u003cli\u003eTerm entry: a self-contained block defining one term.\u003c/li\u003e\n\u003cli\u003eAnchor URL: a per-term URL formed by combining the glossary URL with the term's anchor id.\u003c/li\u003e\n\u003cli\u003eDefinedTerm / DefinedTermSet: Schema.org types representing one term and the set of all terms on the page, respectively.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"page-level-requirements\"\u003ePage-level requirements\u003c/h2\u003e\n\u003ch3 id=\"url\"\u003eURL\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe glossary page MUST live under a stable path. Recommended: /glossary/ or /{section}/glossary/.\u003c/li\u003e\n\u003cli\u003eThe URL MUST NOT include query parameters that affect content rendering (e.g., do not paginate by query string).\u003c/li\u003e\n\u003cli\u003eIf the glossary has more than 60 entries, the page SHOULD be split into per-letter or per-cluster pages with consistent URL design (e.g., /glossary/a/, /glossary/geo/).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"title-and-meta\"\u003eTitle and meta\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ctitle\u003e MUST clearly identify the page as a glossary (for example, \"Geodocs Glossary — AI Search Terms\").\u003c/li\u003e\n\u003cli\u003eMeta description MUST be 120-160 characters and state the scope of the glossary.\u003c/li\u003e\n\u003cli\u003eOpen Graph and Twitter card data SHOULD be present for share previews.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"top-of-page-content\"\u003eTop-of-page content\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe page MUST open with an H1 matching the page title.\u003c/li\u003e\n\u003cli\u003eThe H1 MUST be followed by a 1-3 sentence introduction stating: what the glossary covers, who it is for, and how often it is updated.\u003c/li\u003e\n\u003cli\u003eThe page MUST contain a navigable index (alphabetical or thematic) when it has more than 12 entries.\u003c/li\u003e\n\u003cli\u003eThe page MAY include a one-paragraph \"How to cite this glossary\" block near the bottom for journalistic and academic users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"term-entry-requirements\"\u003eTerm entry requirements\u003c/h2\u003e\n\u003cp\u003eEvery term entry MUST follow the same shape so AI engines can rely on it.\u003c/p\u003e\n\u003ch3 id=\"structure\"\u003eStructure\u003c/h3\u003e\n\u003cdiv class=\"code-block-wrapper\" style=\"position:relative\"\u003e\u003cbutton data-copy-snippet=\"true\" data-snippet-id=\"snippet-0\" data-snippet-lang=\"html\" class=\"copy-btn\" title=\"Copy code\" style=\"position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;opacity:0.7;transition:opacity 0.2s;z-index:1\" onclick=\"navigator.clipboard.writeText(this.parentElement.querySelector('code').textContent);this.textContent='Copied!';setTimeout(()=\u003ethis.textContent='Copy',1500)\"\u003eCopy\u003c/button\u003e\u003cpre\u003e\u003ccode class=\"language-html\"\u003e\u0026lt;section id=\"defined-term-slug\" class=\"defined-term\"\u0026gt;\n \u0026lt;h2\u0026gt;Term name\u0026lt;/h2\u0026gt;\n \u0026lt;p class=\"definition\"\u0026gt;One-sentence definition.\u0026lt;/p\u0026gt;\n \u0026lt;p class=\"elaboration\"\u0026gt;60-80 words of context, scope, and disambiguation.\u0026lt;/p\u0026gt;\n \u0026lt;ul class=\"see-also\"\u0026gt;\n \u0026lt;li\u0026gt;\u0026lt;a href=\"/glossary/#related-term-slug\"\u0026gt;Related term\u0026lt;/a\u0026gt;\u0026lt;/li\u0026gt;\n \u0026lt;/ul\u0026gt;\n\u0026lt;/section\u0026gt;\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003ch3 id=\"anchor-and-slug\"\u003eAnchor and slug\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEach entry MUST have a stable id matching its slug.\u003c/li\u003e\n\u003cli\u003eThe slug MUST be lowercase, hyphenated, ASCII, and stable across versions of the page.\u003c/li\u003e\n\u003cli\u003eThe slug MUST NOT be reused across different terms even after a term is deprecated; reuse breaks deep links and citations.\u003c/li\u003e\n\u003cli\u003eDeprecated terms SHOULD keep their anchor and add a brief note plus a link to the canonical replacement.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"term-name\"\u003eTerm name\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe H2 text MUST equal the canonical term as users would search it.\u003c/li\u003e\n\u003cli\u003eIf the term has an acronym, both forms SHOULD appear in the H2 (e.g., \"Generative Engine Optimization (GEO)\").\u003c/li\u003e\n\u003cli\u003eAliases MUST be encoded as alternateName in the JSON-LD, not duplicated as separate H2 blocks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"definition\"\u003eDefinition\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe first sentence MUST be a complete, standalone definition of the form \"X is a Y that Z\".\u003c/li\u003e\n\u003cli\u003eThe first sentence MUST be 18-35 words. This is the length most consistently quoted by ChatGPT and Perplexity in our citation logs.\u003c/li\u003e\n\u003cli\u003eThe first sentence MUST NOT open with a hedge (\"Generally…\", \"In some cases…\") or a self-reference (\"In this glossary…\").\u003c/li\u003e\n\u003cli\u003eThe first sentence MUST NOT contain inline citations, footnotes, or markdown links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"elaboration\"\u003eElaboration\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe elaboration SHOULD be 60-80 words. Shorter blocks lose contextual cues; longer blocks tend to be truncated mid-passage by AI extraction.\u003c/li\u003e\n\u003cli\u003eThe elaboration SHOULD address: who uses the term, where it differs from a related term, and one canonical example.\u003c/li\u003e\n\u003cli\u003eThe elaboration MAY include up to two outbound links to related glossary entries or full articles.\u003c/li\u003e\n\u003cli\u003eThe elaboration MUST NOT include marketing copy or product CTAs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"see-also-block\"\u003eSee-also block\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEach entry MUST link to at least two related terms when they exist on the page.\u003c/li\u003e\n\u003cli\u003eEach link MUST point to the per-term anchor URL, not the bare glossary page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"schema-markup\"\u003eSchema markup\u003c/h2\u003e\n\u003cp\u003eGlossary pages MUST ship Schema.org structured data. JSON-LD is the preferred serialization for AI search use cases (see JSON-LD vs Microdata vs RDFa for AI search).\u003c/p\u003e\n\u003ch3 id=\"required-types\"\u003eRequired types\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe page MUST include exactly one DefinedTermSet.\u003c/li\u003e\n\u003cli\u003eEach term entry MUST be a DefinedTerm referenced from the set via hasDefinedTerm.\u003c/li\u003e\n\u003cli\u003eEach DefinedTerm MUST also reference the set via inDefinedTermSet.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"reference-template\"\u003eReference template\u003c/h3\u003e\n\u003cdiv class=\"code-block-wrapper\" style=\"position:relative\"\u003e\u003cbutton data-copy-snippet=\"true\" data-snippet-id=\"snippet-1\" data-snippet-lang=\"json\" class=\"copy-btn\" title=\"Copy code\" style=\"position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:4px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-family:var(--font-mono);cursor:pointer;opacity:0.7;transition:opacity 0.2s;z-index:1\" onclick=\"navigator.clipboard.writeText(this.parentElement.querySelector('code').textContent);this.textContent='Copied!';setTimeout(()=\u003ethis.textContent='Copy',1500)\"\u003eCopy\u003c/button\u003e\u003cpre\u003e\u003ccode class=\"language-json\"\u003e{\n \"@context\": \"https://schema.org\",\n \"@graph\": [\n {\n \"@type\": \"DefinedTermSet\",\n \"@id\": \"https://geodocs.dev/glossary/#set\",\n \"name\": \"Geodocs Glossary\",\n \"about\": \"AI search optimization\",\n \"inLanguage\": \"en\",\n \"hasDefinedTerm\": [\n { \"@id\": \"https://geodocs.dev/glossary/#geo\" },\n { \"@id\": \"https://geodocs.dev/glossary/#aeo\" }\n ]\n },\n {\n \"@type\": \"DefinedTerm\",\n \"@id\": \"https://geodocs.dev/glossary/#geo\",\n \"name\": \"Generative Engine Optimization\",\n \"alternateName\": [\"GEO\"],\n \"termCode\": \"geo\",\n \"description\": \"Generative Engine Optimization is the practice of preparing content so that generative AI engines such as ChatGPT, Perplexity, Claude, and Gemini cite it as a source in their answers.\",\n \"url\": \"https://geodocs.dev/glossary/#geo\",\n \"inDefinedTermSet\": \"https://geodocs.dev/glossary/#set\"\n }\n ]\n}\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003ch3 id=\"markup-rules\"\u003eMarkup rules\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe name of each DefinedTerm MUST match the H2 text exactly (excluding acronym parentheticals, which SHOULD go in alternateName).\u003c/li\u003e\n\u003cli\u003eThe description MUST match the first sentence of the visible definition. Marking up content not visible to users violates Google's structured data guidelines.\u003c/li\u003e\n\u003cli\u003eThe url MUST be the absolute per-term anchor URL.\u003c/li\u003e\n\u003cli\u003eEvery DefinedTerm MUST include inDefinedTermSet and the set MUST include the corresponding entry in hasDefinedTerm. Bidirectional references prevent partial parses by some validators.\u003c/li\u003e\n\u003cli\u003eThe inLanguage field MUST be set on the set (and MAY be set per term for mixed-language glossaries).\u003c/li\u003e\n\u003cli\u003eA glossary page MUST NOT wrap its terms in unrelated types such as Article or BlogPosting. Use a single DefinedTermSet plus the page's site-wide WebPage / Organization graph.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"linking-conventions\"\u003eLinking conventions\u003c/h2\u003e\n\u003cp\u003eGlossaries earn citation share when other pages link to them. Cross-linking is part of the spec.\u003c/p\u003e\n\u003ch3 id=\"from-article-to-glossary\"\u003eFrom article to glossary\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eThe first occurrence of a defined term in any article SHOULD link to its per-term anchor URL.\u003c/li\u003e\n\u003cli\u003eSubsequent occurrences in the same article MAY be plain text.\u003c/li\u003e\n\u003cli\u003eAnchor text MUST equal the term as defined; do not use generic anchors (\"click here\", \"this concept\").\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"within-the-glossary\"\u003eWithin the glossary\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEach entry MUST link to at least two related terms.\u003c/li\u003e\n\u003cli\u003eThe page MAY include a small \"Browse by topic\" navigation that groups terms into clusters.\u003c/li\u003e\n\u003cli\u003eThe page MUST NOT wrap individual term blocks in navigation \u003cnav\u003e elements; nav semantics confuse passage extraction.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"from-glossary-to-articles\"\u003eFrom glossary to articles\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eEach entry MAY link to one canonical hub article on that topic.\u003c/li\u003e\n\u003cli\u003eThe link SHOULD sit in the elaboration paragraph, not in the see-also list, so AI engines treat it as in-context citation rather than navigation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"updates-and-freshness\"\u003eUpdates and freshness\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe page dateModified MUST update whenever any term entry changes substantively.\u003c/li\u003e\n\u003cli\u003eNew terms MUST be added at the bottom of their alphabet/cluster section, not interleaved retroactively, to preserve cached anchor positions.\u003c/li\u003e\n\u003cli\u003eThe page SHOULD display its dateModified near the top so AI engines exposing freshness signals can surface them.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"accessibility\"\u003eAccessibility\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eEach \u003csection\u003e for a term entry MUST have an accessible name (the H2).\u003c/li\u003e\n\u003cli\u003eAnchor links to per-term URLs MUST be keyboard-focusable and visible on focus.\u003c/li\u003e\n\u003cli\u003eDecorative emoji or icons in term names MUST NOT carry semantic meaning.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"conformance-checklist\"\u003eConformance checklist\u003c/h2\u003e\n\u003cp\u003eA glossary page conforms with this specification when all of the following are true.\u003c/p\u003e\n\u003cp\u003ePage-level:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] The page lives at a stable URL with no rendering query parameters.\u003c/li\u003e\n\u003cli\u003e[ ] H1 matches the title and is followed by a 1-3 sentence intro.\u003c/li\u003e\n\u003cli\u003e[ ] An index is present when more than 12 entries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePer term:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] H2 contains the canonical term.\u003c/li\u003e\n\u003cli\u003e[ ] First sentence is a complete \"X is a Y that Z\" definition, 18-35 words.\u003c/li\u003e\n\u003cli\u003e[ ] Elaboration is 60-80 words.\u003c/li\u003e\n\u003cli\u003e[ ] Stable, lowercase, hyphenated, ASCII slug used as id.\u003c/li\u003e\n\u003cli\u003e[ ] At least two see-also links to other entries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eMarkup:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] One DefinedTermSet on the page, referenced by every DefinedTerm via inDefinedTermSet.\u003c/li\u003e\n\u003cli\u003e[ ] DefinedTermSet hasDefinedTerm lists every term entry.\u003c/li\u003e\n\u003cli\u003e[ ] Each DefinedTerm description matches the visible first sentence.\u003c/li\u003e\n\u003cli\u003e[ ] Each DefinedTerm url is the absolute per-term anchor URL.\u003c/li\u003e\n\u003cli\u003e[ ] No marked-up content that is not visible to users.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eLinking:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] First mention of every term in articles links to its per-term anchor URL with the term as anchor text.\u003c/li\u003e\n\u003cli\u003e[ ] Each entry has at least two see-also links.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFreshness:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e[ ] dateModified updates on substantive content edits.\u003c/li\u003e\n\u003cli\u003e[ ] dateModified is visible on the page.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eA page failing any MUST clause does not conform.\u003c/p\u003e\n\u003ch2 id=\"common-mistakes\"\u003eCommon mistakes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eWrapping each term in Article or BlogPosting schema rather than DefinedTerm. AI extractors often skip over articles whose body is a single paragraph.\u003c/li\u003e\n\u003cli\u003eReusing slugs across renamed terms. Citations rot silently.\u003c/li\u003e\n\u003cli\u003ePutting the formal definition in the second or third sentence. Most AI extractors take only the first sentence as the definition.\u003c/li\u003e\n\u003cli\u003eIncluding marketing CTAs in the elaboration. They survive extraction and dilute trust signals.\u003c/li\u003e\n\u003cli\u003eBuilding a single 200-term page with no anchor index. Long pages with no extraction-friendly anchors lose citation share to competitors with smaller, more navigable glossaries.\u003c/li\u003e\n\u003cli\u003eMarking up alternateName as separate DefinedTerm entries. They should be aliases, not standalone entries.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"faq\"\u003eFAQ\u003c/h2\u003e\n\u003ch3 id=\"q-does-this-spec-only-apply-to-ai-search-or-to-traditional-seo-too\"\u003eQ: Does this spec only apply to AI search, or to traditional SEO too?\u003c/h3\u003e\n\u003cp\u003eIt is compatible with both. DefinedTerm and DefinedTermSet are standard Schema.org types and respected by Google's traditional indexing. The constraints around definition length, anchor stability, and bidirectional schema references are tighter than what traditional SEO requires; meeting them does not break it.\u003c/p\u003e\n\u003ch3 id=\"q-how-long-should-a-glossary-page-be\"\u003eQ: How long should a glossary page be?\u003c/h3\u003e\n\u003cp\u003eUp to about 60 entries on a single page works well. Above that, split by letter or topic cluster. Massive single-page glossaries strain extraction and produce inconsistent anchor citations across AI engines.\u003c/p\u003e\n\u003ch3 id=\"q-should-each-term-get-its-own-page-instead\"\u003eQ: Should each term get its own page instead?\u003c/h3\u003e\n\u003cp\u003eFor long-form, deeply discussed concepts, yes — build a dedicated definition-style page and link to it from the glossary entry. Keep the glossary entry short and let the dedicated page carry the depth. The glossary entry remains the canonical anchor for short citations.\u003c/p\u003e\n\u003ch3 id=\"q-do-i-need-both-indefinedtermset-on-the-term-and-hasdefinedterm-on-the-set\"\u003eQ: Do I need both inDefinedTermSet on the term and hasDefinedTerm on the set?\u003c/h3\u003e\n\u003cp\u003eYes. Bidirectional references are recommended. Several validators and downstream consumers parse only one direction; covering both removes a class of silent failures.\u003c/p\u003e\n\u003ch3 id=\"q-how-do-i-migrate-an-existing-glossary-to-this-spec-without-breaking-citations\"\u003eQ: How do I migrate an existing glossary to this spec without breaking citations?\u003c/h3\u003e\n\u003cp\u003eKeep all existing slugs unchanged. Add the schema. Tighten definitions and elaborations to the length targets one term at a time. Update internal article links to point to per-term anchor URLs. Run the conformance checklist before each release.\u003c/p\u003e\n\u003ch3 id=\"q-what-about-faqpage-schema-for-glossary-pages\"\u003eQ: What about FAQPage schema for glossary pages?\u003c/h3\u003e\n\u003cp\u003eDo not use FAQPage for glossaries. FAQPage implies question-and-answer phrasing; DefinedTerm implies term-and-definition phrasing. Mixing them confuses AI extractors and risks Google manual actions for inappropriate structured data.\u003c/p\u003e\n\u003ch2 id=\"related-resources\"\u003eRelated resources\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eJSON-LD vs Microdata vs RDFa for AI search\u003c/li\u003e\n\u003cli\u003eStructured data for AI search\u003c/li\u003e\n\u003cli\u003eAI citation tracking with server log analysis\u003c/li\u003e\n\u003cli\u003eGEO sprint retrospective framework\u003c/li\u003e\n\u003cli\u003eWhat is GEO — hub for the discipline\u003c/li\u003e\n\u003c/ul\u003e"])</script><script>self.__next_f.push([1,"22:[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"1fr min(var(--content-max-width), 100%) 1fr\",\"gap\":0,\"maxWidth\":1200,\"margin\":\"0 auto\",\"padding\":\"48px 24px 80px\"},\"children\":[[\"$\",\"div\",null,{}],[\"$\",\"article\",null,{\"children\":[[\"$\",\"h1\",null,{\"style\":{\"fontFamily\":\"var(--font-display)\",\"fontSize\":\"clamp(1.75rem, 4vw, 2.5rem)\",\"fontWeight\":400,\"lineHeight\":1.2,\"color\":\"var(--text-heading)\",\"marginBottom\":16},\"children\":\"AI Search Optimization for Glossary Pages: A Specification\"}],[\"$\",\"div\",null,{\"className\":\"metadata-bar\",\"style\":{\"marginBottom\":24},\"children\":[[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag metadata-bar__tag--section\",\"children\":\"technical\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag\",\"children\":\"specification\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__tag\",\"children\":\"intermediate\"}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[11,\" min read\"]}],[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[\"2,061\",\" words\"]}],[[\"$\",\"span\",null,{\"className\":\"metadata-bar__dot\"}],[\"$\",\"span\",null,{\"children\":[\"Updated\",\" \",\"Apr 2026\"]}]]]}],[\"$\",\"$L26\",null,{\"title\":\"AI Search Optimization for Glossary Pages: A Specification\",\"url\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\"}],[\"$\",\"$L27\",null,{\"title\":\"AI Search Optimization for Glossary Pages: A Specification\",\"url\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\",\"section\":\"technical\",\"slug\":\"ai-search-glossary-page-specification\"}],[\"$\",\"div\",null,{\"className\":\"prose\",\"dangerouslySetInnerHTML\":{\"__html\":\"$28\"}}],\"$L29\",false]}],\"$L2a\"]}]\n"])</script><script>self.__next_f.push([1,"23:[\"$\",\"style\",null,{\"children\":\"\\n @media (max-width: 1024px) {\\n .toc-sidebar { display: none !important; }\\n }\\n @media (min-width: 1025px) {\\n article {\\n /* override grid for 3-col with TOC */\\n }\\n }\\n .article-tag-link:hover {\\n border-color: var(--color-dark-green) !important;\\n color: var(--text-primary) !important;\\n background: rgba(0, 237, 100, 0.06) !important;\\n }\\n \"}]\n24:[\"$\",\"$L2b\",null,{\"dict\":\"$8:0:props:dict:newsletter\"}]\n"])</script><script>self.__next_f.push([1,"25:[\"$\",\"footer\",null,{\"style\":{\"background\":\"var(--color-forest-black)\",\"borderTop\":\"1px solid var(--color-teal-gray)\",\"padding\":\"64px 24px 32px\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"maxWidth\":1200,\"margin\":\"0 auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fit, minmax(180px, 1fr))\",\"gap\":48,\"marginBottom\":48},\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"style\":{\"marginBottom\":16},\"children\":[\"$\",\"$L1a\",null,{\"src\":\"/geodocs-logo-dark.svg\",\"alt\":\"Geodocs.dev\",\"width\":140,\"height\":32,\"style\":{\"height\":24,\"width\":\"auto\"}}]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--color-cool-gray)\",\"lineHeight\":1.6,\"maxWidth\":220},\"children\":\"Structured knowledge for AI search visibility. The canonical reference for GEO, AEO, and AI search optimization.\"}]]}],[[\"$\",\"div\",\"Learn\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Learn\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/geo/what-is-geo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/what-is-geo\",\"className\":\"footer-link\",\"children\":\"What Is GEO?\"}]}],[\"$\",\"li\",\"/aeo/what-is-aeo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/what-is-aeo\",\"className\":\"footer-link\",\"children\":\"What Is AEO?\"}]}],[\"$\",\"li\",\"/geo/geo-vs-seo\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/geo/geo-vs-seo\",\"className\":\"footer-link\",\"children\":\"GEO vs SEO\"}]}],[\"$\",\"li\",\"/reference/geo-aeo-glossary\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/reference/geo-aeo-glossary\",\"className\":\"footer-link\",\"children\":\"GEO Glossary\"}]}]]}]]}],[\"$\",\"div\",\"Build\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Build\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/technical/llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/llms-txt\",\"className\":\"footer-link\",\"children\":\"llms.txt Reference\"}]}],[\"$\",\"li\",\"/technical/how-to-create-llms-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/how-to-create-llms-txt\",\"className\":\"footer-link\",\"children\":\"Create llms.txt\"}]}],[\"$\",\"li\",\"/technical/structured-data-for-ai-search\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/structured-data-for-ai-search\",\"className\":\"footer-link\",\"children\":\"Structured Data\"}]}],[\"$\",\"li\",\"/technical/ai-txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/technical/ai-txt\",\"className\":\"footer-link\",\"children\":\"ai.txt Reference\"}]}]]}]]}],[\"$\",\"div\",\"Strategy\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Strategy\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"/strategy/ai-visibility-measurement\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/ai-visibility-measurement\",\"className\":\"footer-link\",\"children\":\"AI Visibility\"}]}],[\"$\",\"li\",\"/strategy/geo-content-strategy\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-content-strategy\",\"className\":\"footer-link\",\"children\":\"Content Strategy\"}]}],[\"$\",\"li\",\"/strategy/geo-roi-framework\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/strategy/geo-roi-framework\",\"className\":\"footer-link\",\"children\":\"GEO ROI\"}]}],[\"$\",\"li\",\"/aeo/aeo-content-checklist\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/aeo/aeo-content-checklist\",\"className\":\"footer-link\",\"children\":\"AEO Checklist\"}]}]]}]]}],[\"$\",\"div\",\"Resources\",{\"children\":[[\"$\",\"h4\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":11,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-mongodb-green)\",\"marginBottom\":16},\"children\":\"Resources\"}],[\"$\",\"ul\",null,{\"style\":{\"listStyle\":\"none\",\"display\":\"flex\",\"flexDirection\":\"column\",\"gap\":10},\"children\":[[\"$\",\"li\",\"https://github.com/Geodocs-dev\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"https://github.com/Geodocs-dev\",\"className\":\"footer-link\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"/contact\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/contact\",\"className\":\"footer-link\",\"children\":\"Contact\"}]}],[\"$\",\"li\",\"/tags\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/tags\",\"className\":\"footer-link\",\"children\":\"Tags\"}]}],[\"$\",\"li\",\"/sitemap.xml\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/sitemap.xml\",\"className\":\"footer-link\",\"children\":\"Sitemap\"}]}],\"$L2c\",\"$L2d\"]}]]}]]]}],\"$L2e\"]}],\"$L2f\"]}]\n"])</script><script>self.__next_f.push([1,"29:[\"$\",\"div\",null,{\"style\":{\"marginTop\":64},\"children\":[[\"$\",\"h2\",null,{\"style\":{\"fontSize\":18,\"fontWeight\":600,\"marginBottom\":16,\"paddingBottom\":8,\"borderBottom\":\"1px solid var(--border-default)\"},\"children\":\"Related Articles\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"grid\",\"gridTemplateColumns\":\"repeat(auto-fill, minmax(280px, 1fr))\",\"gap\":16},\"children\":[[\"$\",\"$L19\",\"aeo-content-checklist\",{\"href\":\"/aeo/aeo-content-checklist\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"aeo-content-checklist\",\"data-related-position\":1,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"checklist\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"AEO Content Checklist\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"A 30-point AEO content checklist across five pillars (Answerability, Authority, Freshness, Structure, Entity Clarity) to make pages reliably AI-citable in 2026.\"}]]}]}],[\"$\",\"$L19\",\"geo-sprint-retrospective-framework\",{\"href\":\"/strategy/geo-sprint-retrospective-framework\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"geo-sprint-retrospective-framework\",\"data-related-position\":2,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"framework\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"GEO Sprint Retrospective Framework: Continuous Improvement for Citation Teams\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"GEO sprint retrospective framework: a 60-minute ritual for citation teams to review wins, regressions, and experiments after each two-week GEO sprint.\"}]]}]}],[\"$\",\"$L19\",\"ai-citation-tracking-server-log-analysis\",{\"href\":\"/technical/ai-citation-tracking-server-log-analysis\",\"style\":{\"textDecoration\":\"none\"},\"data-related-article\":\"ai-citation-tracking-server-log-analysis\",\"data-related-position\":3,\"children\":[\"$\",\"div\",null,{\"className\":\"card\",\"children\":[[\"$\",\"span\",null,{\"className\":\"badge badge-green\",\"style\":{\"marginBottom\":8},\"children\":\"guide\"}],[\"$\",\"h3\",null,{\"style\":{\"fontSize\":15,\"fontWeight\":600,\"color\":\"var(--text-heading)\",\"marginBottom\":4},\"children\":\"AI Citation Tracking with Server Log Analysis: A Technical Guide\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":13,\"color\":\"var(--text-secondary)\",\"lineHeight\":1.5},\"children\":\"AI citation tracking with server log analysis: identify GPTBot, PerplexityBot, ClaudeBot hits, link them to citations, and measure crawl-to-cite latency.\"}]]}]}]]}]]}]\n"])</script><script>self.__next_f.push([1,"2a:[\"$\",\"div\",null,{\"style\":{\"paddingLeft\":40},\"className\":\"toc-sidebar\",\"children\":[\"$\",\"nav\",null,{\"style\":{\"position\":\"sticky\",\"top\":88,\"fontSize\":13,\"lineHeight\":1.6,\"maxHeight\":\"calc(100vh - 100px)\",\"overflowY\":\"auto\"},\"children\":[[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"var(--font-mono)\",\"fontSize\":10,\"fontWeight\":600,\"textTransform\":\"uppercase\",\"letterSpacing\":2,\"color\":\"var(--color-cool-gray)\",\"marginBottom\":12},\"children\":\"On this page\"}],[[\"$\",\"a\",\"tl-dr\",{\"href\":\"#tl-dr\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"TL;DR\"}],[\"$\",\"a\",\"scope\",{\"href\":\"#scope\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Scope\"}],[\"$\",\"a\",\"terminology\",{\"href\":\"#terminology\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Terminology\"}],[\"$\",\"a\",\"page-level-requirements\",{\"href\":\"#page-level-requirements\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Page-level requirements\"}],[\"$\",\"a\",\"url\",{\"href\":\"#url\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"URL\"}],[\"$\",\"a\",\"title-and-meta\",{\"href\":\"#title-and-meta\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Title and meta\"}],[\"$\",\"a\",\"top-of-page-content\",{\"href\":\"#top-of-page-content\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Top-of-page content\"}],[\"$\",\"a\",\"term-entry-requirements\",{\"href\":\"#term-entry-requirements\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Term entry requirements\"}],[\"$\",\"a\",\"structure\",{\"href\":\"#structure\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Structure\"}],[\"$\",\"a\",\"anchor-and-slug\",{\"href\":\"#anchor-and-slug\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Anchor and slug\"}],[\"$\",\"a\",\"term-name\",{\"href\":\"#term-name\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Term name\"}],[\"$\",\"a\",\"definition\",{\"href\":\"#definition\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Definition\"}],[\"$\",\"a\",\"elaboration\",{\"href\":\"#elaboration\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Elaboration\"}],[\"$\",\"a\",\"see-also-block\",{\"href\":\"#see-also-block\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"See-also block\"}],[\"$\",\"a\",\"schema-markup\",{\"href\":\"#schema-markup\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Schema markup\"}],\"$L30\",\"$L31\",\"$L32\",\"$L33\",\"$L34\",\"$L35\",\"$L36\",\"$L37\",\"$L38\",\"$L39\",\"$L3a\",\"$L3b\",\"$L3c\",\"$L3d\",\"$L3e\",\"$L3f\",\"$L40\",\"$L41\",\"$L42\"]]}]}]\n"])</script><script>self.__next_f.push([1,"2c:[\"$\",\"li\",\"/llms.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/llms.txt\",\"className\":\"footer-link\",\"children\":\"llms.txt\"}]}]\n2d:[\"$\",\"li\",\"/ai.txt\",{\"children\":[\"$\",\"$L19\",null,{\"href\":\"/ai.txt\",\"className\":\"footer-link\",\"children\":\"ai.txt\"}]}]\n2e:[\"$\",\"div\",null,{\"style\":{\"borderTop\":\"1px solid var(--color-teal-gray)\",\"paddingTop\":24,\"display\":\"flex\",\"justifyContent\":\"space-between\",\"alignItems\":\"center\",\"flexWrap\":\"wrap\",\"gap\":16},\"children\":[[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[\"© \",2026,\" Geodocs.dev. \",\"All rights reserved.\"]}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":12,\"color\":\"var(--color-cool-gray)\"},\"children\":[[\"$\",\"a\",null,{\"href\":\"mailto:contact@geodocs.dev\",\"className\":\"footer-link\",\"children\":\"contact@geodocs.dev\"}],\" · \",\"Built for humans and AI agents.\"]}]]}]\n2f:[\"$\",\"style\",null,{\"children\":\"\\n .footer-link {\\n font-size: 13px;\\n color: var(--color-silver-teal);\\n text-decoration: none;\\n transition: color 0.2s ease;\\n }\\n .footer-link:hover {\\n color: var(--color-white);\\n }\\n \"}]\n"])</script><script>self.__next_f.push([1,"30:[\"$\",\"a\",\"required-types\",{\"href\":\"#required-types\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Required types\"}]\n31:[\"$\",\"a\",\"reference-template\",{\"href\":\"#reference-template\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Reference template\"}]\n32:[\"$\",\"a\",\"markup-rules\",{\"href\":\"#markup-rules\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Markup rules\"}]\n33:[\"$\",\"a\",\"linking-conventions\",{\"href\":\"#linking-conventions\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Linking conventions\"}]\n34:[\"$\",\"a\",\"from-article-to-glossary\",{\"href\":\"#from-article-to-glossary\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"From article to glossary\"}]\n35:[\"$\",\"a\",\"within-the-glossary\",{\"href\":\"#within-the-glossary\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Within the glossary\"}]\n36:[\"$\",\"a\",\"from-glossary-to-articles\",{\"href\":\"#from-glossary-to-articles\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"From glossary to articles\"}]\n37:[\"$\",\"a\",\"updates-and-freshness\",{\"href\":\"#updates-and-freshness\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Updates and freshness\"}]\n38:[\"$\",\"a\",\"accessibility\",{\"href\":\"#accessibility\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Accessibility\"}]\n39:[\"$\",\"a\",\"conformance-checklist\",{\"href\":\"#conformance-checklist\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Conformance checklist\"}]\n3a:[\"$\",\"a\",\"common-mistakes\",{\"href\":\"#common-mistakes\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Common mistakes\"}]\n3b:[\"$\",\"a\",\"faq\",{\"href\":\"#faq\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"FAQ\"}]\n3c:[\"$\",\"a\",\"q-does-this-spec-only-apply-to-ai-search-or-to-traditional-seo-too\",{\"href\":\"#q-does-this-spec-only-apply-to-ai-search-or-to-traditional-seo-too\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Does this spec only apply to AI search, or to traditional SEO too?\"}]\n3d:[\"$\",\"a\",\"q-how-long-should-a-glossary-page-be\",{\"href\":\"#q-how-long-should-a-glossary-page-be\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: How lo"])</script><script>self.__next_f.push([1,"ng should a glossary page be?\"}]\n3e:[\"$\",\"a\",\"q-should-each-term-get-its-own-page-instead\",{\"href\":\"#q-should-each-term-get-its-own-page-instead\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Should each term get its own page instead?\"}]\n3f:[\"$\",\"a\",\"q-do-i-need-both-indefinedtermset-on-the-term-and-hasdefinedterm-on-the-set\",{\"href\":\"#q-do-i-need-both-indefinedtermset-on-the-term-and-hasdefinedterm-on-the-set\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: Do I need both inDefinedTermSet on the term and hasDefinedTerm on the set?\"}]\n40:[\"$\",\"a\",\"q-how-do-i-migrate-an-existing-glossary-to-this-spec-without-breaking-citations\",{\"href\":\"#q-how-do-i-migrate-an-existing-glossary-to-this-spec-without-breaking-citations\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: How do I migrate an existing glossary to this spec without breaking citations?\"}]\n41:[\"$\",\"a\",\"q-what-about-faqpage-schema-for-glossary-pages\",{\"href\":\"#q-what-about-faqpage-schema-for-glossary-pages\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":16,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"1px solid var(--border-default)\"},\"children\":\"Q: What about FAQPage schema for glossary pages?\"}]\n42:[\"$\",\"a\",\"related-resources\",{\"href\":\"#related-resources\",\"style\":{\"display\":\"block\",\"padding\":\"4px 0\",\"paddingLeft\":0,\"color\":\"var(--text-secondary)\",\"textDecoration\":\"none\",\"transition\":\"color 0.15s ease\",\"borderLeft\":\"none\"},\"children\":\"Related resources\"}]\n"])</script><script>self.__next_f.push([1,"11:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"43:I[27201,[\"/_next/static/chunks/0ld4q8u-25eux.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\",\"/_next/static/chunks/0xf6s51ok42m_.js\",\"/_next/static/chunks/148t.fhegq9f1.js\",\"/_next/static/chunks/05cra..ka3fzk.js\"],\"IconMark\"]\ne:null\n"])</script><script>self.__next_f.push([1,"13:[[\"$\",\"title\",\"0\",{\"children\":\"AI Search Optimization for Glossary Pages: A Specification | Geodocs.dev\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI search glossary page spec: term, definition, anchor link, and DefinedTerm schema patterns that maximize citations from ChatGPT and Perplexity.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"keywords\",\"content\":\"glossary page AI search optimization,DefinedTerm schema,DefinedTermSet glossary,AI-ready glossary page,glossary anchor URL\"}],[\"$\",\"link\",\"3\",{\"rel\":\"canonical\",\"href\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\"}],[\"$\",\"link\",\"4\",{\"rel\":\"alternate\",\"hrefLang\":\"en\",\"href\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\"}],[\"$\",\"link\",\"5\",{\"rel\":\"alternate\",\"hrefLang\":\"x-default\",\"href\":\"https://geodocs.dev/technical/ai-search-glossary-page-specification\"}],[\"$\",\"meta\",\"6\",{\"property\":\"og:title\",\"content\":\"AI Search Optimization for Glossary Pages: A Specification\"}],[\"$\",\"meta\",\"7\",{\"property\":\"og:description\",\"content\":\"AI search glossary page spec: term, definition, anchor link, and DefinedTerm schema patterns that maximize citations from ChatGPT and Perplexity.\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:type\",\"content\":\"article\"}],[\"$\",\"meta\",\"9\",{\"property\":\"article:published_time\",\"content\":\"2026-04-29\"}],[\"$\",\"meta\",\"10\",{\"property\":\"article:modified_time\",\"content\":\"2026-04-29\"}],[\"$\",\"meta\",\"11\",{\"property\":\"article:author\",\"content\":\"Geodocs Research Team\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"AI Search Optimization for Glossary Pages: A Specification\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"AI search glossary page spec: term, definition, anchor link, and DefinedTerm schema patterns that maximize citations from ChatGPT and Perplexity.\"}],[\"$\",\"link\",\"15\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0zl.ysuv3a32n.ico\",\"sizes\":\"48x48\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"18\",{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"$L43\",\"19\",{}]]\n"])</script></body></html>