Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SEO Nodes

Search engine optimization metadata for Voce IR documents. The compiler emits <head> meta tags, JSON-LD structured data, and generates sitemap.xml and robots.txt. SEO metadata is attached per-page via the metadata field on ViewRoot.

PageMetadata

Per-page SEO configuration. One per ViewRoot. The validator warns if title exceeds 60 characters or description exceeds 160 characters.

FieldTypeRequiredDescription
titlestringyesPage title (validator warns if > 60 chars)
title_templatestringnoTitle template (e.g., “%s
descriptionstringnoMeta description (validator warns if > 160 chars)
canonical_urlstringnoCanonical URL for this page
robotsRobotsDirectivenoRobots meta directives
open_graphOpenGraphDatanoOpen Graph metadata
twitter_cardTwitterCardDatanoTwitter Card metadata
alternates[AlternateLink]noHreflang alternate links for i18n
structured_data[StructuredData]noJSON-LD structured data blocks
custom_meta[MetaTag]noCustom meta tags (escape hatch)
{
  "title": "Voce IR Documentation",
  "title_template": "%s | Voce IR",
  "description": "Schema reference and guide for the Voce IR intermediate representation.",
  "canonical_url": "https://voce-ir.xyz/docs",
  "robots": { "index": true, "follow": true },
  "open_graph": {
    "title": "Voce IR Documentation",
    "description": "Schema reference and guide for the Voce IR intermediate representation.",
    "og_type": "Website",
    "site_name": "Voce IR"
  }
}

OpenGraphData

Open Graph protocol metadata for social sharing previews.

FieldTypeRequiredDescription
titlestringnoOG title (falls back to PageMetadata.title)
descriptionstringnoOG description
imagestringnoImage URL or MediaNode reference
image_altstringnoAlt text for the OG image
image_widthint32noImage width in pixels
image_heightint32noImage height in pixels
og_typeOGTypenoWebsite (default), Article, Product, Profile
urlstringnoCanonical page URL
site_namestringnoSite name
localestringnoContent locale (e.g., “en_US”)
{
  "title": "Introducing Voce IR",
  "description": "An AI-native UI intermediate representation.",
  "image": "https://voce-ir.xyz/og-image.png",
  "image_alt": "Voce IR logo and tagline",
  "image_width": 1200,
  "image_height": 630,
  "og_type": "Website",
  "site_name": "Voce IR"
}

StructuredData

JSON-LD structured data block for search engine rich results. The validator checks basic conformance to the declared Schema.org type.

FieldTypeRequiredDescription
schema_typestringyesSchema.org type (e.g., “Article”, “Product”, “FAQ”, “BreadcrumbList”)
properties_jsonstringyesJSON-LD properties as a JSON string
{
  "schema_type": "Article",
  "properties_json": "{\"headline\":\"Getting Started with Voce IR\",\"author\":{\"@type\":\"Person\",\"name\":\"Voce Team\"},\"datePublished\":\"2025-01-15\"}"
}

TwitterCardData

Twitter (X) Card metadata for link previews on the platform.

FieldTypeRequiredDescription
card_typeTwitterCardTypenoSummary, SummaryLargeImage (default), App, Player
titlestringnoCard title
descriptionstringnoCard description
imagestringnoImage URL
image_altstringnoAlt text for the image
sitestringno@username of the site
creatorstringno@username of the content creator

RobotsDirective

Controls search engine crawling and indexing behavior for the page.

FieldTypeRequiredDescription
indexboolnoAllow indexing (default true)
followboolnoFollow links on page (default true)
max_snippetint32noMax snippet length, -1 = unlimited (default)
max_image_previewImagePreviewSizenoNone, Standard, Large (default)
max_video_previewint32noMax video preview seconds, -1 = unlimited
no_archiveboolnoPrevent cached page (default false)
no_translateboolnoPrevent translation (default false)

Hreflang link for international SEO, connecting pages across locales.

FieldTypeRequiredDescription
hreflangstringyesBCP 47 language tag (e.g., “en-US”, “x-default”)
hrefstringyesURL of the alternate page
[
  { "hreflang": "en-US", "href": "https://voce-ir.xyz/en/docs" },
  { "hreflang": "fr-FR", "href": "https://voce-ir.xyz/fr/docs" },
  { "hreflang": "x-default", "href": "https://voce-ir.xyz/docs" }
]

MetaTag

Custom meta tag for cases not covered by the structured fields above.

FieldTypeRequiredDescription
namestringyesMeta tag name or property attribute
contentstringyesMeta tag content value
is_propertyboolnoUse property= instead of name= (default false)