Lokvi
?

Event schema generator, valid JSON-LD output

Dates, venue and tickets, inside Google event listings

Required fields still empty: Event name, Start, City

Markup to paste into your page

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Event",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "eventStatus": "https://schema.org/EventScheduled",
  "location": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "FR"
    }
  }
}
</script>

Everything is computed in your browser. Nothing is stored.

A properly marked-up event enters Google event listings and Maps, with its date, its venue and its ticket link. The point that breaks most markup is the attendance mode: in person, online and hybrid do not want the same shape of location, and picking the wrong shape makes the block ineligible without making it invalid.

How to use it

How it works

1

Name the event and its dates

A title and a start date are the minimum. An end date noticeably improves the render.

2

Pick the attendance mode

In person wants a postal address, online a web address, hybrid both. The form adapts.

3

Add the ticketing

Price, currency and purchase link. That is what turns an announcement into a result people click.

Worth knowing

Four things to keep in mind

The mode decides the shape of the location

An online event wants a VirtualLocation with its URL, an in-person one a Place with its postal address. Putting a web address inside a Place produces a block Google discards.

Give a time, not just a date

A bare date is accepted but displays badly. A full timestamp with a zone stops a visitor from another region turning up at the wrong hour.

A past event gets taken down

Leaving the markup of a finished event online clutters the index and disappoints the clicks. The end date lets Google retire it on its own, provided you filled it in.

Cancellation and postponement are declared

The eventStatus property exists for that. A cancelled event whose markup still announces EventScheduled sends people to a locked door.

FAQ

Frequently asked questions

No, each date is a distinct event. For a series you declare several Event blocks, or an EventSeries grouping them. A single block covering three months says nothing useful.

It is markedly preferable. Google attaches markup to the URL, and several events on one page compete for the same display. One page per date stays the most legible structure.

No, but an event without an offer displays less well. For a free event, declare an offer at zero rather than omitting the block: that is information, not an absence.

Not automatically. The markup makes the event understandable to engines and eligible for dedicated displays; adding it to a personal calendar remains the visitor's action.

Also

Other tools in the same family

Also

What Lokvi does for you

Now imagine all of it running without you

Review collection, replies, posts and loyalty, on your Google Business listing, automatically.

No credit card required: create your account and explore your real data.
14 days free, then 29 €/month, no commitment.