On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

servesCuisine

servesCuisine · Recommended by Google

Appears in

Restaurant

What is it?

servesCuisine declares what type of food a restaurant serves. It accepts free form text: a single string like "Italian" or an array like ["Italian", "Pizza", "Seafood"]. This field helps search engines categorize restaurants by cuisine and display that information in local search results.

Why this matters for AEO

Cuisine type is one of the most common filters in restaurant queries. When someone asks an AI engine "Where can I get Thai food near me?" or "Best Italian restaurants in Austin," the AI system needs structured cuisine data to match restaurants to the query. Without servesCuisine, a restaurant can only be matched by keyword extraction from reviews and page copy, which is less reliable. Providing explicit cuisine values makes the restaurant eligible for direct inclusion in AI generated recommendation lists.

What the specs say

Schema.org: Text. The cuisine of the restaurant. schema.org/servesCuisine

Google: Recommended. "The type of cuisine the restaurant serves." Google LocalBusiness docs

How to find your value

  • Restaurant branding — The cuisine description on the homepage or About page
  • Google Business Profile — The "Restaurant type" category selected in GBP
  • Review sites — How Yelp, TripAdvisor, or OpenTable categorize the venue
  • Multiple cuisines — List all that apply: "Japanese", "Sushi", "Ramen"

Use widely recognized cuisine names. "Italian" works better than "Tuscan-inspired farm-to-table." Search engines and AI systems match against common cuisine categories.

Format and code

Type: Text (string or array of strings)

Single cuisine:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Pizzeria Mozza",
  "servesCuisine": "Italian"
}

Multiple cuisines:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Nobu",
  "servesCuisine": ["Japanese", "Seafood", "Sushi"]
}

Common mistakes:

  • Using overly specific or branded terms like "New American with Asian Fusion Influences" instead of standard categories
  • Wrapping a single value in an array when unnecessary: ["Italian"] works but "Italian" is cleaner
  • Including price or quality descriptors: "Fine Italian Dining" should be just "Italian"

Webflow implementation

Static pages

In Page Settings > Custom Code > Before </head>:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Your Restaurant",
  "servesCuisine": "Italian"
}
</script>

CMS template pages

If your Webflow CMS has a "Restaurants" collection with a "Cuisine" plain text field:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "{{wf {&quot;path&quot;:&quot;name&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}",
  "servesCuisine": "{{wf {&quot;path&quot;:&quot;cuisine&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}"
}
</script>

For multiple cuisines, store them as a comma separated string in Webflow and output as a JSON array using custom embed code or Schema HQ.

In Schema HQ

The value is read from Webflow CMS text fields mapped to servesCuisine. If the field contains comma separated values, Schema HQ splits them into a proper JSON array automatically.

Real examples

Restaurant Pronto (restaurant-website-builder.com):

{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "url": "http://www.pronto-ny.com",
  "name": "Restaurant Pronto",
  "servesCuisine": ["Italian"]
}

Brand Edinburgh (onthemap.agency):

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Brand Edinburgh",
  "servesCuisine": ["Italian", "Pizza"],
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "Edinburgh"
  },
  "priceRange": "$$"
}

Related fields

  • name — Restaurant name
  • menu — Link to the restaurant menu
  • acceptsReservations — Whether the restaurant takes bookings
  • priceRange — Price level indicator like "$$" or "$$$"
  • address — Physical location of the restaurant

FAQ

Should servesCuisine use a single string or an array?

Use a single string for restaurants with one clear cuisine type. Use an array when the restaurant genuinely spans multiple categories. A sushi restaurant is "Japanese". A restaurant serving both Italian and Japanese is ["Italian", "Japanese"].

What cuisine values does Google recognize?

Google does not publish a fixed list. Use the same terms Google Maps and Google Business Profile use for restaurant categories: "Italian", "Mexican", "Japanese", "Indian", "Thai", "Chinese", "French", "American", "Mediterranean", and similar widely recognized names. Avoid invented or compound terms.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us