servesCuisine
servesCuisine · Recommended by Google
Appears in
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 {"path":"name","type":"PlainText"} }}",
"servesCuisine": "{{wf {"path":"cuisine","type":"PlainText"} }}"
}
</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.