X Enterprises
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]slug is 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

  1. Page reads route.params.slug
  2. Fetches all restaurants via useDomain().getRestaurants({ limit: 200 })
  3. Filters client-side: restaurant matches if any of its cuisineType or servesCuisine values normalizes to the slug (lowercase, kebab-case, alphanumeric+dash only)
  4. 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 XRDProfileCard link 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.
Copyright © 2026