Guides by Business Type·5 min read·

Writing and organizing your menu in VeloCMS

How to structure menu posts by category, add prices and descriptions, and display them on your /menu route using the Restaurant theme.

VeloCMS handles restaurant menus through a dedicated Menu Items system accessible from Admin > Menu. Each item has a name, description, price, dietary tags, and an optional photo. Items are grouped by category (Starters, Mains, Desserts, Drinks) and displayed on your public /menu route — no blog posts needed for the menu itself.

Step 1 — Navigate to the Menu admin

Go to Admin > Menu (Menu Management). If this is your first visit you will see 'No menu items yet'. Every item lives inside a category, so click Add First Category first and name it (for example Starters), then click Add Item inside that category. The item form has Name, Description, Price, Currency, Image URL, Dietary Tags, Sort, an Available toggle, and a Featured toggle.

Step 2 — Add menu items

Fill in the item fields. Name is required. Description is optional but recommended: 1–2 sentences describing preparation method, key ingredients, and flavour profile. Price accepts a decimal number (e.g. 14.50) and is stored in your menu currency. Each item belongs to the category you added it under — Starters, Mains, Desserts, Drinks, or any custom category you create with Add Category. To add another course, click Add Category first.

  • Name: required
  • Description: optional, plain text only
  • Price: required decimal, e.g. 14.50
  • Category: set by where you click Add Item, so create it first with Add Category — items are grouped by category on the /menu page
  • Dietary Tags: optional multi-select — vegetarian, vegan, gluten-free, halal, spicy, nut-free
  • Available: toggle off to hide the item from the public menu without deleting it
  • Image: optional image URL, displays as a card thumbnail

Step 3 — Set sort order

Items within a category are sorted by the Sort Order field: lower numbers appear earlier, and items sharing a number fall back to name order. Edit the number on the item and save. Put your signature dishes first within each category: they receive the most attention from customers scanning top-to-bottom.

Step 4 — View the public menu

Your menu is live at https://yourblog.velocms.org/menu. It renders as a grouped list with category headings (h2), item cards showing name, description, price, dietary badges, and optional item photos. The page is rendered fresh on each visit, so admin changes appear immediately. When you set up your site with the restaurant flow, your navigation includes a Menu link pointing to /menu.

The /menu page emits Restaurant + Menu + MenuItem schema.org JSON-LD, so search engines and AI assistants can read your menu, prices and dishes as structured data. Google offers no dedicated menu rich result for this markup, so this does not promise a special search listing.

Step 5 — Adding allergen and dietary information

Use the Dietary Tags selector on the item to mark it vegetarian, vegan, gluten-free, halal, spicy, or nut-free — the tags render as badges on the public menu. For specific allergens (nuts, dairy, shellfish), add a note in the Description field, e.g. 'Contains gluten, dairy.' If your menu has many allergen-sensitive items, consider adding a separate Allergens information page linked from the menu footer.

Using blog posts alongside the menu

Menu Items handle the structured menu data. Blog posts under the Restaurant theme are ideal for seasonal dishes, chef's specials, ingredient stories, and behind-the-scenes content. A post about a new seasonal tasting menu creates an SEO opportunity that a static menu item cannot — it can include photos, a narrative, and links back to the /menu page.

Updating and removing items

To temporarily remove a dish — for example, a seasonal special that is no longer available — toggle the Available switch to off rather than deleting the item. The item disappears from the public /menu page immediately but can be re-enabled with one click when the dish returns. Deleted items cannot be recovered. For price changes, edit the Price field directly and click Save — the /menu page shows the updated price on the next visit.