Reference
Where the data comes from
Two layers feed every page: the brand (set once) and the page (per page). For each output, the platform uses the first value that exists.
How to read each row: the source fields are listed left to right. The platform uses the first one that has a value; if it is empty, it falls through to the next. The colour tells you where the field lives. So the rule is always: page wins, otherwise brand, otherwise a sensible default. The ⇒ shows the tag it becomes.
Open Graph tags
The twitter:* tags mirror these
values. twitter:card is always summary_large_image; twitter:site
is the brand's X profile (from social links).
schema.org properties
The JSON-LD blocks reuse the resolved values above, plus a few of their own:
Worked example: a Grounded article
Same colours: amber values come from the brand, blue values from the page.
What is in the database
What the page emits
og:title is blue because Page.OgTitle
was empty, so it fell through to Page.PageTitle (still a page field).
The two page types
Every page emits Organization + WebSite + BreadcrumbList. An Article page adds one more
block and switches og:type. That is the only structural difference.
Standard page (og:type=website)
[
{ "@type": "Organization",
"name": "Grounded",
"url": "https://goire.grounded.singles",
"logo": "https://.../grounded-logo.png",
"sameAs": ["...facebook","...instagram","...x"] },
{ "@type": "WebSite",
"name": "Grounded",
"url": "https://goire.grounded.singles" },
{ "@type": "BreadcrumbList",
"itemListElement": [ Home, About ] }
]
Article page (og:type=article)
[
{ "@type": "Organization", ... },
{ "@type": "WebSite", ... },
{ "@type": "BreadcrumbList", ... },
{ "@type": "Article",
"headline": "The Logic of Local",
"image": "https://.../hero.jpg",
"datePublished": "2026-05-07",
"dateModified": "2026-05-07",
"author": { "name": "The Grounded Team" },
"publisher": { "@type": "Organization",
"name": "Grounded" },
"inLanguage": "en-IE" }
]
See the full, validating pages: Standard example and Article example.
Quick field reference
Brand fields (set once)
Page fields (per page)
What about IsIndexingAllowed? It is not part of Open Graph or schema.org. It
only sets the page's robots meta tag (index vs noindex), which tells search engines whether
to list the page. A page set to noindex still gets its full share card and schema, because sharing is
separate from indexing.
Rules: all URLs and images are absolute https://; share images and logos are
raster (PNG/JPG/WebP), never SVG; optional values (sameAs, twitter:site, the Article block) are omitted
entirely when empty.
Note: field names reflect the develop build. Brand metadata columns live on
BrandSetting; the rest on Brand and Page.