Cuisines Index (`/cuisines`)
Cuisine Landing Pages (`/cuisines/[slug]`)
Auto-generated SEO pages for each cuisine type — `/cuisines/italian`, `/cuisines/japanese`, etc.
Cuisine Landing Pages
Auto-generated SEO landing pages, one per cuisine type. Each page lists all restaurants in the directory serving that cuisine.
Routes
/cuisines/[slug]—slugis the kebab-case lowercase cuisine name (e.g.italian,japanese,french-indian)
The route is automatically registered by placing the page at app/pages/cuisines/[slug].vue.
How it works
- Page reads
route.params.slug - Fetches all restaurants via
useDomain().getRestaurants({ limit: 200 }) - Filters client-side: restaurant matches if any of its
cuisineTypeorservesCuisinevalues normalizes to the slug (lowercase, kebab-case, alphanumeric+dash only) - Renders a grid of
XRDProfileCards with SEO meta + OpenGraph
SEO
<title>and<meta description>derived from cuisine name + city- OpenGraph + Twitter card meta for social sharing
- Cuisine badges on
XRDProfileCardlink back to the cuisine page (internal link graph for SEO)
Discovery
Sitemap includes /cuisines as a parent placeholder. For full SEO, extend server/api/__sitemap__/urls.ts to enumerate dynamic cuisine URLs from the restaurant data.
AI Context
page: cuisines/[slug]
package: "@xenterprises/nuxt-x-restaurants"
use-when: >
Building SEO landing pages for cuisine types. Provides a route per cuisine
derived from restaurant data. Internal linking from cards (cuisine badges)
drives crawlability. SSR-rendered for fast index.
