ADR-0013 — Unified structured data and AEO engine
Type-safe Schema.org JSON-LD, bilingual canonical metadata, and AI crawler discovery rules.
ADR 0013: Unified Structured Data (Schema.org / JSON-LD) and AI Engine Optimization (AEO/GEO)
Status
Accepted
Date
2026-09-23
Context
As search behaviors evolve towards AI-augmented search engines (Perplexity, ChatGPT Search, Claude, and Google AI Overviews) alongside traditional algorithmic rankings, plain HTML metadata is no longer sufficient. Search and retrieval models require disambiguated, machine-readable knowledge graph entities to accurately index, cite, and present rich results (Breadcrumbs, Rich FAQ snippets, Product/Offer details, and Organization credibility).
Prior to this decision, marketing apps across the ecosystem lacked:
- Canonical URL resolution with multi-lingual alternate tags (
hreflangforar-SA,en-US, andx-default), risking duplicate content penalties. - Type-safe, Schema.org-compliant JSON-LD structured data on landing pages, FAQs, and blog articles.
- Permissive crawler access rules for verified AI search bots in
robots.ts. - Dynamic
lastModifiedtimestamps in XML sitemaps aligned with Content Collections.
Decision
-
Type-Safe Schema Engine (
JsonLd.tsx): Implement a lightweight, zero-overhead structured data engine inmodules/shared/components/JsonLd.tsxthat outputs Schema.org JSON-LD scripts for:Organization(holding & project brand entity)WebSite(search and language properties)SoftwareApplication(category, supported platforms, pricing offers)FAQPage(dynamic extraction from localized FAQ dictionary items)BreadcrumbList(hierarchical navigational chains)BlogPosting/Article(authorship, publication, modified dates, images)
-
Standardized SEO Metadata Factory (
seo.ts): IntroducecreateMetadatainmodules/shared/lib/seo.tsto automatically generate:- Consistent canonical URLs
- Bi-directional
hreflangalternate links - Complete OpenGraph (
og:*) and Twitter Card (twitter:card: summary_large_image) payloads - Googlebot search directives (
max-snippet: -1,max-image-preview: large,max-video-preview: -1)
-
Crawl & Discovery Optimization:
- Explicitly permit reputable AI retrieval bots (
GPTBot,ChatGPT-User,ClaudeBot,PerplexityBot,Google-Extended) inrobots.ts. - Bind dynamic article
datevalues tolastmodentries insitemap.ts.
- Explicitly permit reputable AI retrieval bots (
Consequences
- Positive:
- Automated Rich Snippet eligibility across Google GCC and international search.
- Higher probability of inclusion and direct citation in AI Overview answers.
- Clean separation of SEO concerns with 100% test coverage and type safety.
- Zero duplicate-content penalties across Arabic and English localized routes.
- Negative / Maintenance:
- Changes to route hierarchies require keeping
BreadcrumbListschemas synchronized.
- Changes to route hierarchies require keeping