Skip to main content

SEO / AEO Global Rules

Structured data

Structured data — documentation pending.

Complete

Every detail page emits a JSON-LD block of type `application/ld+json` containing the primary schema.org entity plus an array of cross-module mentions. This is the entity graph that powers both classical rich-result SEO and answer-engine retrieval.

How emission works

Every page calls `this.jsonLd.set([primary, breadcrumb, ...mentions])` exactly once in `ngOnInit`. The StructuredDataService writes one `<script type="application/ld+json" data-sh-jsonld="N">` element per entry into `<head>`. On navigation, old entries are cleared and new ones written atomically.

Required fields on every JSON-LD object

@context
`https://schema.org` always. Top-level on the primary object.
@type
One of: Article, NewsArticle, Person, Organization, Event, BusinessEvent, CreativeWork, BreadcrumbList.
@id
Stable URL identifier with fragment (`#article`, `#event`, `#person`, `#breadcrumb`). Lets crawlers identify the entity across pages.
name / headline
`headline` on articles. `name` on everything else. Required.
description
Mirror of meta description. Required.
inLanguage
`en` or `ar`. Required for AEO so LLM retrievers know which language ground-truth this entity carries.