GEO
GEO Docs

Variables and templates

Where template variables come from, available filters and route matching priority.

Variable sources

SourceExampleNotes
Site brand{brand}, {brandTagline}, {logo}From Sites → Brand
Built-in{year}, {locale}, {path}, {host}Provided by the SDK
Page registration{title}, {summary}, {author}, {cover}, any custom keygeo.set() or meta name="geo:*"
Content library{category}, {publishedAt}Added automatically on pages rendered from the platform content library

Filters

{title | truncate:60}
{summary | truncate:160 | strip}
{publishedAt | date:YYYY-MM-DD}
{category | upper}

truncate cuts by character count and appends …; CJK languages count characters.

Route matching

Path patterns use path-to-regexp syntax:

/                     home
/blog/:slug           article page
/docs/:path*          any depth
/products/:id(\d+)    digits only

When several rules match the same path, the highest priority number wins. Templates can be filled per language; a missing language falls back to the default-language template.

Modes: fill and replace

  • fill: only writes fields the page is missing, good for gradual migration of sites with partial SEO
  • replace: platform rules win and overwrite existing title, meta description, canonical and so on

Preview

Under SEO head rules → Preview enter a path and variables to see the matched rule, rendered head, JSON-LD and hreflang. It is equivalent to POST /sites/{siteId}/seo-rules/preview.