Schema creator

Pick a type, fill in what the page shows, and get JSON-LD to paste into it. Empty fields are left out, never made up.

No FAQ or HowTo: Google no longer shows either as a rich result.

Event

Something on at a place and a time: its name, when, where and what it costs.

Google may list it in its event results, with its date and place. Google decides whether to show it.

Required and recommended as Google marks them in Event structured data, last updated September 8, 2026.

  1. NamenameRequiredThe event’s name.
  2. StartsstartDateRequiredWhen it starts, with its offset from UTC.
  3. EndsendDateRecommendedWhen it ends.
  4. Placelocation.nameRecommendedThe place’s name.
  5. Addresslocation.addressRequiredThe place’s address.
  6. StatuseventStatusRecommendedWhether it is on as planned.
  7. DescriptiondescriptionRecommendedWhat it is.
  8. ImagesimageRecommendedIts images, one address a line.
  9. TicketsoffersRecommendedThe ticket: its price, currency, where to buy it and whether any are left.
  10. OrganizerorganizerRecommendedWho puts it on.
  11. PerformerperformerRecommendedWho performs, when someone does.
Where the JSON-LD goesExample

index.html

<head>
  <title>Trail shoe · Acme</title>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@graph": [
      { "@type": "Product", "name": "Trail shoe",
        "offers": { "@type": "Offer", "price": "120.00",
          "priceCurrency": "USD" } },
      { "@type": "BreadcrumbList", "itemListElement": [
        { "@type": "ListItem", "position": 1,
          "name": "Shoes", "item": "https://example.com/shoes" } ] }
    ]
  }
  </script>
</head>

One block in the head holds the product and its place in the site together, in one @graph. Every value is on the page as well.

What does it check?

Rules from the rulebook, and how many of the sites mttr has read miss each.

  1. Add structured dataAdd valid JSON-LD that says what the page is.
    61%of sites miss it
  2. Match structured data to the pageUse the schema type that matches the page: Article for guides, Service or Product for offers, Organization or WebSite for the home page.
    50%of sites miss it

Questions

Where does the JSON-LD go?

Inside a script tag of type application/ld+json, in the page’s head or anywhere in its body.

Can a page have more than one block?

Yes. A product page can carry its Product, its BreadcrumbList and its Organization, each in its own block or together in one @graph.

Should the markup say things the page does not?

No. Everything in the structured data should be on the page for a person to read. Google treats markup that says more as spam.