Variables and templates
Where template variables come from, available filters and route matching priority.
Variable sources
| Source | Example | Notes |
|---|---|---|
| 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 key | geo.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 onlyWhen 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 SEOreplace: platform rules win and overwrite existingtitle,meta description,canonicaland 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.