Valiterm.org

Structured Data • Semantics • AI-ready

HowTo: Publish Valiterm data

This guide shows the recommended visible approach first. An optional Hidden Valiterm channel is provided as an advanced solution for special cases.

1) Visible LD+JSON (recommended)

Put standard application/valiterm+json on your page. Copy, adapt, paste.

<script type="application/valiterm+json">
  {
  "@context": ["https://valiterm.org", "https://schema.org"],
  "@type": ["Organization","LocalBusiness"],
  "@id": "https://example.com/#org",
  "name": "Company Name",
  "url": "https://example.com",
  "telephone": "+46-00-000000",
  "email": "[email protected]",
  "publicAccess": true,
  "address": {
    "@type":"PostalAddress",
    "streetAddress":"Street 1",
    "postalCode":"123 45",
    "addressLocality":"City",
    "addressCountry":"SE"
  },
  "openingHoursSpecification": [{
    "@type":"OpeningHoursSpecification",
    "dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],
    "opens":"07:00",
    "closes":"16:00"
  }],
  "areaServed": ["SE"],
  "serviceArea": ["SE-GBG"]
}</script>

Why visible? Best crawlability, standard tools (Google Rich Results, validators) understand it, and it’s transparent for auditors and users.

Advanced: Hidden Valiterm (requires key + beacon)

Use only if visible JSON is blocked by a CMS, injected ads, or third-party policies. Hidden Valiterm keeps content out of the render tree but still machine-readable for agents that support the channel.

How it works

  1. You publish a beacon and a published key in <head>.
  2. Your Valiterm JSON is embedded in an HTML comment with a known prefix. Supporting agents verify the key via the beacon and parse the payload.

Head markers (required)

<meta name="valiterm:beacon" content="YOUR_BEACON_ID">
<meta name="valiterm:key" content="YOUR_PUBLIC_KEY">

Hidden payload (on the page)

<!-- ai:valiterm format=application/valiterm+json
{
  "@context": "https://valiterm.org",
  "@type": "BusinessProfile",
  "@id": "https://example.com/#valiterm",
  "policy": { "visibility": "hidden", "beacon": "YOUR_BEACON_ID", "keyRef": "YOUR_PUBLIC_KEY" },
  "openingHours": [{ "dayOfWeek":["Mon","Tue","Wed","Thu","Fri"], "opens":"07:00", "closes":"16:00" }],
  "serviceArea": ["SE-GBG"],
  "areaServed": ["SE"]
}
-->

Why/when?

Important