GEO
GEO Docs

Structured data

JSON-LD templates that help search engines and AI assistants understand pages; supported types, variables and validation.

GEO treats structured data as the starting point of Generative Engine Optimization: when an AI assistant cites a page, clear @type, author, date and organization fields make a correct citation much more likely.

Supported types

Article, NewsArticle, BlogPosting, Organization, WebSite, FAQPage, BreadcrumbList, Product, VideoObject, LocalBusiness, Event, HowTo.

Template example

Create a template under Sites → Structured data with the path pattern /blog/:slug:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "{title | truncate:110}",
  "description": "{summary}",
  "image": "{cover}",
  "author": { "@type": "Person", "name": "{author}" },
  "publisher": { "@type": "Organization", "name": "{brand}", "logo": { "@type": "ImageObject", "url": "{logo}" } },
  "datePublished": "{publishedAt}",
  "inLanguage": "{locale}",
  "mainEntityOfPage": "{canonical}"
}

Output

The SDK merges every template matching the path into one @graph inside a single <script type="application/ld+json">:

<script type="application/ld+json">
{"@context":"https://schema.org","@graph":[{"@type":"Article",…},{"@type":"BreadcrumbList",…}]}
</script>

Validation

The editor validates JSON syntax and required properties live; after saving, Validate calls POST /sites/{siteId}/structured-data/{id}/validate and reports missing properties and type errors. SEO audits also crawl pages to check the actual output.

Language overrides

Each template can override some fields per language (for example a localized publisher.name); other fields inherit the default template.