Skip to main content

Documentation: Price List component

Structured data (schema.org)

Available since version 4.6.0. Price List can describe every list it shows in schema.org structured data, so search engines and AI assistants read your items, prices and categories as data instead of guessing them from the page. The data is written as a JSON-LD block in the head of the page; nothing changes on screen.

Choose a type

Go to Components > Price List > Options > Schema.org and set Structured Data.

None No structured data is written.
Price List (ItemList) The default. Every category becomes an ItemList of Product, each with its name, description and an Offer holding the price. Use this for services, rates and products.
Menu Card (Menu) The page becomes one Menu, every category a MenuSection and every item a MenuItem. Use this for a restaurant, bar or cafe menu.

With Menu Card, nested categories stay nested. If Drinks contains Wine and both are on the page, Wine becomes a section inside Drinks instead of a second section at the top.

Set it per page

The component option is the global default. Every Price List menu item has its own Schema.org tab with the same Structured Data setting, which starts on Use Global. Change it there to override the default for that page only. That way one site can carry a rate sheet as an ItemList and a menu as a Menu side by side.

The structured data is written on the pages that list items: All Categories, Single Category PRO version only and Multiple Categories PRO version only, in both the table layout and the menu card layout. The two are independent: a table can publish a Menu and a menu card can publish an ItemList.

Currency

Currency is the three-letter ISO code every price is published in, such as EUR, USD or GBP. The default is EUR. It is a setting of its own because the Price Prefix is free text: it can hold a symbol, the word "from" or nothing at all, so it cannot be relied on to say which currency a price is in. A value that is not three letters falls back to EUR.

Which prices get an offer

The price of an item is a text field, so it can hold anything. Only a price that is plainly a number is published. These all work:

  • 12.50 and 12,50
  • 1.250,00 and 1,250.00
  • € 12,50, the currency symbol is ignored
  • 12,-

A price such as "on request" or "from 12.50" gets no offer at all. The item is still published with its name and description, just without a price, because an offer that carries text instead of a number is reported as an error by search engines.

Field mapping

Under Field Mapping you say which of your custom fields holds which piece of information. Pick the field from the list; leave a mapping on "Not mapped" and that property is simply left out.

Photo A media field holding the photo of the item. Fills image, in both types. The address is always published in full, including your domain.
Price Variants PRO version only A repeatable field with a label and a price per variant, such as glass and bottle. Every row becomes an extra offer next to the price of the item itself. Menu Card only.
Diet PRO version only A field holding diet labels. Fills suitableForDiet. Menu Card only.
Calories PRO version only A field holding the calorie count. Fills nutrition. A bare number such as 540 is published as "540 kcal". Menu Card only.

Diet values

schema.org only knows a fixed list of diets, so only these values are published. Anything else in the field is skipped:

vegan, vegetarian, gluten free, halal, kosher, hindu, diabetic, low calorie, low fat, low lactose, low salt

Capitals, spaces and hyphens do not matter, so "Gluten-free" and "glutenfree" are the same. A checkboxes or list field works well here: use these words as the option values and put any text you like in the option labels.

schema.org has no property for allergens. An allergen field shows on the page like any other custom field, but it is never part of the structured data.

What is left out

The structured data is built from the items the visitor's page already shows. Unpublished items, items outside their start and finish publishing dates and items above the visitor's access level are never included. A category without items is left out, and so is an item without a name. Descriptions are published as plain text and cut off after 500 characters.

Check the result

Open the page on your site and paste its address into Google's Rich Results Test or the Schema Markup Validator. Both show the ItemList or Menu with every item they found.