Structured Data Updates You Need To Know

What are the latest structured data updates?

In September 2025, schema.org pushed their latest release 29.3 live. These changes may be beneficial for businesses to add to their websites if they have the following structured data:

  • Recipe
  • OnlineStore

There’s no proposed or active support for these changes from Google at the moment, but that may change as more companies adopt these new types and properties.

New Properties and Types – September 2025

1. OnlineMarketplace

Schema.org released OnlineMarketplace as a subtype of OnlineStore allowing businesses to use that if they are more of a marketplace than a store such as Welzo.com or Amazon, defined as An online marketplace is a collection of online stores, which are independent 3rd party sellers offering their products on the marketplace. The marketplace itself can also have its own online inventory, which it is selling alongside the inventory of the 3rd party sellers.

They also introduced the new property hasStore to link the OnlineStore to the OnlineMarketplace. This could be used in the case of an online marketplace that has several online stores (e-commerce websites) such as in different countries.

We could implement it like this:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "OnlineMarketplace",
  "name": "My Online Marketplace",
  "url": "https://www.onlinemarketplace.com",
  "hasStore": [
  {
     "@type": "OnlineStore",
     "name": "Online Store UK",
     "url": "https://www.onlinemarketplace.com/ukstore"
   },
   {
    "@type": "OnlineStore",
    "name": "Online Store USA",
    "url": "https://www.onlinemarketplace.com/usastore"
   }
  ]
}
</script>

We can then use properties from Organization to markup the rest of the company information. Google should automatically understands this new type as it is a type of Organization, however it does not yet appear to suppport it:

It only seems to support OnlineStore at the moment:

2. Recipe Updates

Schema.org also released an update to Recipe, specifically to the property recipeIngredient, following a helpful suggestion from Ryan Levering so that you can now use more structured information rather than just text to describe the ingredients of your recipe.

You can now use one or more of the following to describe your ingredients list:

  • ItemList
  • PropertyValue
  • Text

We could implement it like this for an ItemList:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Kelly's Amazing Chocolate Cake Recipe",
  "url": "https://www.kellysrecipes.com/cakes/amazing-chocolate-cake/",
  "image": "https://www.kellysrecipes.com/images/amazing-chocolate-cake.jpg",
  "recipeIngredient": {
     "@type": "ItemList",
     "numberOfItems": 3,
     "itemListElement": [
       {
         "@type": "ListItem",
         "position": 1,
         "item": {
           "@type": "Thing",
           "name": "1tbsp Cocoa Powder"
         }
       },
       {
         "@type": "ListItem",
         "position": 2,
         "item": {
           "@type": "Thing",
           "name": "3 eggs"
         }
       },
      {
       "@type": "ListItem",
       "position": 3,
       "item": {
          "@type": "Thing",
          "name": "200g softened butter"
      }
     }
   ]
}
}
</script>

Or if we wanted to use PropertyValue to give more of a descriptive nature to our ingredients list, we could put:

<script type="application/ld+json"> 
{ 
   "@context": "https://schema.org", 
   "@type": "Recipe", 
   "name": "Kelly's Amazing Chocolate Cake Recipe", 
   "url": "https://www.kellysrecipes.com/cakes/amazing-chocolate-cake/",
   "image": "https://www.kellysrecipes.com/images/amazing-chocolate-cake.jpg", 
   "recipeIngredient": [
    { 
     "@type": "PropertyValue", 
     "value": 1, 
     "name": "Cocoa Powder",
     "unitText": "Tablespoon",
     "unitCode": "G24"
    },
    { 
     "@type": "PropertyValue", 
     "value": 3, 
     "name": "Egg" 
    },
    { 
    "@type": "PropertyValue", 
    "value": 200, 
    "name": "Softened Butter",
    "unitCode": "GRM"
   }
  ]
} 
</script>

I found this handy sheet which lists the item codes from UNECE for common recipe measurements, such as:

Unit Code Symbol Name
G24 tbs / tbsp Tablespoon
G25 tsp Teaspoon
MLT ml Millilitre
GRM g Gram
ONZ oz Ounce
LBR lb Pound
PTI pt Pint (UK)
PT pt Pint (US)

Alternatively, you can just use Text as we usually do:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Recipe",
  "name": "Kelly's Amazing Chocolate Cake Recipe",
  "url": "https://www.kellysrecipes.com/cakes/amazing-chocolate-cake/",
  "image": "https://www.kellysrecipes.com/images/amazing-chocolate-cake.jpg",
  "recipeIngredient": ["1tbsp Cocoa Powder", "3 eggs", "200g softened butter"]
}
</script>

This gives businesses a lot more options for their recipe markup!

Kelly Sheppard
Written by Kelly Sheppard

Kelly Sheppard is a search engine optimisation professional, author of the book The Structured Data Guide for Beginners and the founder of The Structured Data Company.

Let's Discuss Your Structured Data

Book a FREE 30 minute consultation to discuss your structured data requirements.